mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Split TrueHD decoder from MLP
Originally committed as revision 18045 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
5c3d507f1a
commit
9ba4821d93
@ -544,8 +544,8 @@ following image formats are supported:
|
|||||||
@item IMC (Intel Music Coder) @tab @tab X
|
@item IMC (Intel Music Coder) @tab @tab X
|
||||||
@item MACE (Macintosh Audio Compression/Expansion) 3:1 @tab @tab X
|
@item MACE (Macintosh Audio Compression/Expansion) 3:1 @tab @tab X
|
||||||
@item MACE (Macintosh Audio Compression/Expansion) 6:1 @tab @tab X
|
@item MACE (Macintosh Audio Compression/Expansion) 6:1 @tab @tab X
|
||||||
@item MLP(Meridian Lossless Packing)/TrueHD @tab @tab X
|
@item MLP (Meridian Lossless Packing) @tab @tab X
|
||||||
@tab Used in DVD-Audio and Blu-Ray discs.
|
@tab Used in DVD-Audio discs.
|
||||||
@item Monkey's Audio @tab @tab X
|
@item Monkey's Audio @tab @tab X
|
||||||
@tab Only versions 3.97-3.99 are supported.
|
@tab Only versions 3.97-3.99 are supported.
|
||||||
@item MP1 (MPEG audio layer 1) @tab @tab IX
|
@item MP1 (MPEG audio layer 1) @tab @tab IX
|
||||||
@ -598,6 +598,8 @@ following image formats are supported:
|
|||||||
@item Speex @tab @tab E
|
@item Speex @tab @tab E
|
||||||
@tab supported through external library libspeex
|
@tab supported through external library libspeex
|
||||||
@item True Audio (TTA) @tab @tab X
|
@item True Audio (TTA) @tab @tab X
|
||||||
|
@item TrueHD @tab @tab X
|
||||||
|
@tab Used in HD-DVD and Blu-Ray discs.
|
||||||
@item Vorbis @tab E @tab X
|
@item Vorbis @tab E @tab X
|
||||||
@ A native but very primitive encoder exists.
|
@ A native but very primitive encoder exists.
|
||||||
@item WavPack @tab @tab X
|
@item WavPack @tab @tab X
|
||||||
|
@ -211,6 +211,7 @@ OBJS-$(CONFIG_THP_DECODER) += mjpegdec.o mjpeg.o
|
|||||||
OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
|
OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
|
||||||
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o
|
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o
|
||||||
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o
|
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o
|
||||||
|
OBJS-$(CONFIG_TRUEHD_DECODER) += mlpdec.o mlp_parser.o mlp.o
|
||||||
OBJS-$(CONFIG_TRUEMOTION1_DECODER) += truemotion1.o
|
OBJS-$(CONFIG_TRUEMOTION1_DECODER) += truemotion1.o
|
||||||
OBJS-$(CONFIG_TRUEMOTION2_DECODER) += truemotion2.o
|
OBJS-$(CONFIG_TRUEMOTION2_DECODER) += truemotion2.o
|
||||||
OBJS-$(CONFIG_TRUESPEECH_DECODER) += truespeech.o
|
OBJS-$(CONFIG_TRUESPEECH_DECODER) += truespeech.o
|
||||||
|
@ -215,6 +215,7 @@ void avcodec_register_all(void)
|
|||||||
REGISTER_DECODER (SMACKAUD, smackaud);
|
REGISTER_DECODER (SMACKAUD, smackaud);
|
||||||
REGISTER_ENCDEC (SONIC, sonic);
|
REGISTER_ENCDEC (SONIC, sonic);
|
||||||
REGISTER_ENCODER (SONIC_LS, sonic_ls);
|
REGISTER_ENCODER (SONIC_LS, sonic_ls);
|
||||||
|
REGISTER_DECODER (TRUEHD, truehd);
|
||||||
REGISTER_DECODER (TRUESPEECH, truespeech);
|
REGISTER_DECODER (TRUESPEECH, truespeech);
|
||||||
REGISTER_DECODER (TTA, tta);
|
REGISTER_DECODER (TTA, tta);
|
||||||
REGISTER_DECODER (VMDAUDIO, vmdaudio);
|
REGISTER_DECODER (VMDAUDIO, vmdaudio);
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#include "libavutil/avutil.h"
|
#include "libavutil/avutil.h"
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 52
|
#define LIBAVCODEC_VERSION_MAJOR 52
|
||||||
#define LIBAVCODEC_VERSION_MINOR 21
|
#define LIBAVCODEC_VERSION_MINOR 22
|
||||||
#define LIBAVCODEC_VERSION_MICRO 0
|
#define LIBAVCODEC_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||||
@ -310,6 +310,7 @@ enum CodecID {
|
|||||||
CODEC_ID_SIPR,
|
CODEC_ID_SIPR,
|
||||||
CODEC_ID_MP1,
|
CODEC_ID_MP1,
|
||||||
CODEC_ID_TWINVQ,
|
CODEC_ID_TWINVQ,
|
||||||
|
CODEC_ID_TRUEHD,
|
||||||
|
|
||||||
/* subtitle codecs */
|
/* subtitle codecs */
|
||||||
CODEC_ID_DVD_SUBTITLE= 0x17000,
|
CODEC_ID_DVD_SUBTITLE= 0x17000,
|
||||||
|
@ -287,7 +287,7 @@ lost_sync:
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVCodecParser mlp_parser = {
|
AVCodecParser mlp_parser = {
|
||||||
{ CODEC_ID_MLP },
|
{ CODEC_ID_MLP, CODEC_ID_TRUEHD },
|
||||||
sizeof(MLPParseContext),
|
sizeof(MLPParseContext),
|
||||||
mlp_init,
|
mlp_init,
|
||||||
mlp_parse,
|
mlp_parse,
|
||||||
|
@ -1038,6 +1038,7 @@ error:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if CONFIG_MLP_DECODER
|
||||||
AVCodec mlp_decoder = {
|
AVCodec mlp_decoder = {
|
||||||
"mlp",
|
"mlp",
|
||||||
CODEC_TYPE_AUDIO,
|
CODEC_TYPE_AUDIO,
|
||||||
@ -1047,6 +1048,20 @@ AVCodec mlp_decoder = {
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
read_access_unit,
|
read_access_unit,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)/TrueHD"),
|
.long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),
|
||||||
};
|
};
|
||||||
|
#endif /* CONFIG_MLP_DECODER */
|
||||||
|
|
||||||
|
#if CONFIG_TRUEHD_DECODER
|
||||||
|
AVCodec truehd_decoder = {
|
||||||
|
"truehd",
|
||||||
|
CODEC_TYPE_AUDIO,
|
||||||
|
CODEC_ID_TRUEHD,
|
||||||
|
sizeof(MLPDecodeContext),
|
||||||
|
mlp_decode_init,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
read_access_unit,
|
||||||
|
.long_name = NULL_IF_CONFIG_SMALL("TrueHD"),
|
||||||
|
};
|
||||||
|
#endif /* CONFIG_TRUEHD_DECODER */
|
||||||
|
@ -487,7 +487,7 @@ static int mpegps_read_packet(AVFormatContext *s,
|
|||||||
codec_id = CODEC_ID_PCM_DVD;
|
codec_id = CODEC_ID_PCM_DVD;
|
||||||
} else if (startcode >= 0xb0 && startcode <= 0xbf) {
|
} else if (startcode >= 0xb0 && startcode <= 0xbf) {
|
||||||
type = CODEC_TYPE_AUDIO;
|
type = CODEC_TYPE_AUDIO;
|
||||||
codec_id = CODEC_ID_MLP;
|
codec_id = CODEC_ID_TRUEHD;
|
||||||
} else if (startcode >= 0xc0 && startcode <= 0xcf) {
|
} else if (startcode >= 0xc0 && startcode <= 0xcf) {
|
||||||
/* Used for both AC-3 and E-AC-3 in EVOB files */
|
/* Used for both AC-3 and E-AC-3 in EVOB files */
|
||||||
type = CODEC_TYPE_AUDIO;
|
type = CODEC_TYPE_AUDIO;
|
||||||
|
Loading…
Reference in New Issue
Block a user