You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Split TrueHD decoder from MLP
Originally committed as revision 18045 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		| @@ -544,8 +544,8 @@ following image formats are supported: | ||||
| @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) 6:1  @tab     @tab  X | ||||
| @item MLP(Meridian Lossless Packing)/TrueHD  @tab     @tab  X | ||||
|     @tab Used in DVD-Audio and Blu-Ray discs. | ||||
| @item MLP (Meridian Lossless Packing)  @tab     @tab  X | ||||
|     @tab Used in DVD-Audio discs. | ||||
| @item Monkey's Audio         @tab     @tab  X | ||||
|     @tab Only versions 3.97-3.99 are supported. | ||||
| @item MP1 (MPEG audio layer 1)  @tab     @tab IX | ||||
| @@ -598,6 +598,8 @@ following image formats are supported: | ||||
| @item Speex                  @tab     @tab  E | ||||
|     @tab supported through external library libspeex | ||||
| @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 | ||||
|     @ A native but very primitive encoder exists. | ||||
| @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_TIFF_DECODER)            += tiff.o lzw.o faxcompr.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_TRUEMOTION2_DECODER)     += truemotion2.o | ||||
| OBJS-$(CONFIG_TRUESPEECH_DECODER)      += truespeech.o | ||||
|   | ||||
| @@ -215,6 +215,7 @@ void avcodec_register_all(void) | ||||
|     REGISTER_DECODER (SMACKAUD, smackaud); | ||||
|     REGISTER_ENCDEC  (SONIC, sonic); | ||||
|     REGISTER_ENCODER (SONIC_LS, sonic_ls); | ||||
|     REGISTER_DECODER (TRUEHD, truehd); | ||||
|     REGISTER_DECODER (TRUESPEECH, truespeech); | ||||
|     REGISTER_DECODER (TTA, tta); | ||||
|     REGISTER_DECODER (VMDAUDIO, vmdaudio); | ||||
|   | ||||
| @@ -30,7 +30,7 @@ | ||||
| #include "libavutil/avutil.h" | ||||
|  | ||||
| #define LIBAVCODEC_VERSION_MAJOR 52 | ||||
| #define LIBAVCODEC_VERSION_MINOR 21 | ||||
| #define LIBAVCODEC_VERSION_MINOR 22 | ||||
| #define LIBAVCODEC_VERSION_MICRO  0 | ||||
|  | ||||
| #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | ||||
| @@ -310,6 +310,7 @@ enum CodecID { | ||||
|     CODEC_ID_SIPR, | ||||
|     CODEC_ID_MP1, | ||||
|     CODEC_ID_TWINVQ, | ||||
|     CODEC_ID_TRUEHD, | ||||
|  | ||||
|     /* subtitle codecs */ | ||||
|     CODEC_ID_DVD_SUBTITLE= 0x17000, | ||||
|   | ||||
| @@ -287,7 +287,7 @@ lost_sync: | ||||
| } | ||||
|  | ||||
| AVCodecParser mlp_parser = { | ||||
|     { CODEC_ID_MLP }, | ||||
|     { CODEC_ID_MLP, CODEC_ID_TRUEHD }, | ||||
|     sizeof(MLPParseContext), | ||||
|     mlp_init, | ||||
|     mlp_parse, | ||||
|   | ||||
| @@ -1038,6 +1038,7 @@ error: | ||||
|     return -1; | ||||
| } | ||||
|  | ||||
| #if CONFIG_MLP_DECODER | ||||
| AVCodec mlp_decoder = { | ||||
|     "mlp", | ||||
|     CODEC_TYPE_AUDIO, | ||||
| @@ -1047,6 +1048,20 @@ AVCodec mlp_decoder = { | ||||
|     NULL, | ||||
|     NULL, | ||||
|     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; | ||||
|     } else if (startcode >= 0xb0 && startcode <= 0xbf) { | ||||
|         type = CODEC_TYPE_AUDIO; | ||||
|         codec_id = CODEC_ID_MLP; | ||||
|         codec_id = CODEC_ID_TRUEHD; | ||||
|     } else if (startcode >= 0xc0 && startcode <= 0xcf) { | ||||
|         /* Used for both AC-3 and E-AC-3 in EVOB files */ | ||||
|         type = CODEC_TYPE_AUDIO; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user