diff --git a/doc/general.texi b/doc/general.texi index 4f0ab2a7af..7f554332fb 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -162,6 +162,7 @@ library: @item raw video @tab X @tab X @item raw id RoQ @tab X @tab @item raw Shorten @tab @tab X +@item raw TrueHD @tab X @tab X @item raw VC-1 @tab @tab X @item raw PCM A-law @tab X @tab X @item raw PCM mu-law @tab X @tab X diff --git a/libavformat/Makefile b/libavformat/Makefile index e883041673..f2285d7716 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -207,6 +207,8 @@ OBJS-$(CONFIG_TG2_MUXER) += movenc.o riff.o isom.o avc.o OBJS-$(CONFIG_TGP_MUXER) += movenc.o riff.o isom.o avc.o OBJS-$(CONFIG_THP_DEMUXER) += thp.o OBJS-$(CONFIG_TIERTEXSEQ_DEMUXER) += tiertexseq.o +OBJS-$(CONFIG_TRUEHD_DEMUXER) += raw.o id3v2.o +OBJS-$(CONFIG_TRUEHD_MUXER) += raw.o OBJS-$(CONFIG_TTA_DEMUXER) += tta.o OBJS-$(CONFIG_TXD_DEMUXER) += txd.o OBJS-$(CONFIG_VC1_DEMUXER) += raw.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index c4d0de4f19..39ac3b82a6 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -182,6 +182,7 @@ void av_register_all(void) REGISTER_MUXER (TGP, tgp); REGISTER_DEMUXER (THP, thp); REGISTER_DEMUXER (TIERTEXSEQ, tiertexseq); + REGISTER_MUXDEMUX (TRUEHD, truehd); REGISTER_DEMUXER (TTA, tta); REGISTER_DEMUXER (TXD, txd); REGISTER_DEMUXER (VC1, vc1); diff --git a/libavformat/avformat.h b/libavformat/avformat.h index da23709398..5458db94ef 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -22,8 +22,8 @@ #define AVFORMAT_AVFORMAT_H #define LIBAVFORMAT_VERSION_MAJOR 52 -#define LIBAVFORMAT_VERSION_MINOR 31 -#define LIBAVFORMAT_VERSION_MICRO 1 +#define LIBAVFORMAT_VERSION_MINOR 32 +#define LIBAVFORMAT_VERSION_MICRO 0 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ diff --git a/libavformat/raw.c b/libavformat/raw.c index ba73dca455..78662ae6e8 100644 --- a/libavformat/raw.c +++ b/libavformat/raw.c @@ -969,6 +969,35 @@ AVInputFormat mlp_demuxer = { }; #endif +#if CONFIG_TRUEHD_DEMUXER +AVInputFormat truehd_demuxer = { + "truehd", + NULL_IF_CONFIG_SMALL("raw TrueHD"), + 0, + NULL, + audio_read_header, + ff_raw_read_partial_packet, + .flags= AVFMT_GENERIC_INDEX, + .extensions = "thd", + .value = CODEC_ID_TRUEHD, +}; +#endif + +#if CONFIG_TRUEHD_MUXER +AVOutputFormat truehd_muxer = { + "truehd", + NULL_IF_CONFIG_SMALL("raw TrueHD"), + NULL, + "thd", + 0, + CODEC_ID_TRUEHD, + CODEC_ID_NONE, + NULL, + raw_write_packet, + .flags= AVFMT_NOTIMESTAMPS, +}; +#endif + #if CONFIG_MPEG1VIDEO_MUXER AVOutputFormat mpeg1video_muxer = { "mpeg1video",