summaryrefslogtreecommitdiffstats
path: root/libaf
diff options
context:
space:
mode:
authormplayer-svn <svn@mplayerhq.hu>2011-10-12 17:23:08 +0000
committerwm4 <wm4@nowhere>2012-08-03 01:30:08 +0200
commit78f51230d7b4cd131dcc57c8b1e49a91d2fb2109 (patch)
tree4f9c024b3acb51c6cf43793353cd0021ecd61878 /libaf
parent8a9348b079acca4b756ee88def533193150c773d (diff)
downloadmpv-78f51230d7b4cd131dcc57c8b1e49a91d2fb2109.tar.bz2
mpv-78f51230d7b4cd131dcc57c8b1e49a91d2fb2109.tar.xz
libmpcodecs: add ad_spdif.c, S/PDIF passthrough decoder
patch by Naoya OYAMA, naoya.oyama gmail com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34191 b3059339-0415-0410-9bf9-f77b7e298cf2 fix ad_spdif Call av_register_all() before initialising the SPDIF muxer. Fixes playback with -demuxer mpegts -ac spdifac3. Patch by Naoya OYAMA, naoya D oyama gmail git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34291 b3059339-0415-0410-9bf9-f77b7e298cf2 Use new API avformat_new_stream() instead of the deprecated av_new_stream(). Patch by Naoya OYAMA, naoya D oyama gmail git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34292 b3059339-0415-0410-9bf9-f77b7e298cf2 Cosmetics: Remove empty statement. Patch by Naoya OYAMA, naoya D oyama gmail git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34293 b3059339-0415-0410-9bf9-f77b7e298cf2 Use init_avformat() instead of av_register_all(). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34294 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: diego
Diffstat (limited to 'libaf')
-rw-r--r--libaf/af_format.h7
-rw-r--r--libaf/format.c5
2 files changed, 12 insertions, 0 deletions
diff --git a/libaf/af_format.h b/libaf/af_format.h
index e5e5e15b58..08f6892e41 100644
--- a/libaf/af_format.h
+++ b/libaf/af_format.h
@@ -62,6 +62,7 @@
#define AF_FORMAT_MPEG2 (3<<6) // MPEG(2) audio
#define AF_FORMAT_AC3 (4<<6) // Dolby Digital AC3
#define AF_FORMAT_IMA_ADPCM (5<<6)
+#define AF_FORMAT_IEC61937 (6<<6)
#define AF_FORMAT_SPECIAL_MASK (7<<6)
// PREDEFINED formats
@@ -87,6 +88,9 @@
#define AF_FORMAT_AC3_LE (AF_FORMAT_AC3|AF_FORMAT_16BIT|AF_FORMAT_LE)
#define AF_FORMAT_AC3_BE (AF_FORMAT_AC3|AF_FORMAT_16BIT|AF_FORMAT_BE)
+#define AF_FORMAT_IEC61937_LE (AF_FORMAT_IEC61937|AF_FORMAT_16BIT|AF_FORMAT_LE)
+#define AF_FORMAT_IEC61937_BE (AF_FORMAT_IEC61937|AF_FORMAT_16BIT|AF_FORMAT_BE)
+
#if BYTE_ORDER == BIG_ENDIAN
#define AF_FORMAT_U16_NE AF_FORMAT_U16_BE
#define AF_FORMAT_S16_NE AF_FORMAT_S16_BE
@@ -96,6 +100,7 @@
#define AF_FORMAT_S32_NE AF_FORMAT_S32_BE
#define AF_FORMAT_FLOAT_NE AF_FORMAT_FLOAT_BE
#define AF_FORMAT_AC3_NE AF_FORMAT_AC3_BE
+#define AF_FORMAT_IEC61937_NE AF_FORMAT_IEC61937_BE
#else
#define AF_FORMAT_U16_NE AF_FORMAT_U16_LE
#define AF_FORMAT_S16_NE AF_FORMAT_S16_LE
@@ -105,11 +110,13 @@
#define AF_FORMAT_S32_NE AF_FORMAT_S32_LE
#define AF_FORMAT_FLOAT_NE AF_FORMAT_FLOAT_LE
#define AF_FORMAT_AC3_NE AF_FORMAT_AC3_LE
+#define AF_FORMAT_IEC61937_NE AF_FORMAT_IEC61937_LE
#endif
#define AF_FORMAT_UNKNOWN (-1)
#define AF_FORMAT_IS_AC3(fmt) (((fmt) & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_AC3)
+#define AF_FORMAT_IS_IEC61937(fmt) (((fmt) & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_IEC61937)
int af_str2fmt_short(const char *str);
int af_fmt2bits(int format);
diff --git a/libaf/format.c b/libaf/format.c
index 638485cc23..408ef6b5e2 100644
--- a/libaf/format.c
+++ b/libaf/format.c
@@ -75,6 +75,8 @@ char* af_fmt2str(int format, char* str, int size)
i+=snprintf(&str[i],size-i,"MPEG-2 "); break;
case(AF_FORMAT_AC3):
i+=snprintf(&str[i],size-i,"AC3 "); break;
+ case(AF_FORMAT_IEC61937):
+ i+=snprintf(&str[i],size-i,"IEC61937 "); break;
case(AF_FORMAT_IMA_ADPCM):
i+=snprintf(&str[i],size-i,"IMA-ADPCM "); break;
default:
@@ -115,6 +117,9 @@ static struct {
{ "ac3le", AF_FORMAT_AC3_LE },
{ "ac3be", AF_FORMAT_AC3_BE },
{ "ac3ne", AF_FORMAT_AC3_NE },
+ { "iec61937le", AF_FORMAT_IEC61937_LE },
+ { "iec61937be", AF_FORMAT_IEC61937_BE },
+ { "iec61937ne", AF_FORMAT_IEC61937_NE },
{ "imaadpcm", AF_FORMAT_IMA_ADPCM },
{ "u8", AF_FORMAT_U8 },