# HG changeset patch # User bcoudurier # Date 1224812577 0 # Node ID 677bcb3b65cd32704e24b3419b7126cd8bc012ed # Parent dbc5c6bebb68bcb62342ae5f3e113ee622f1e676 raw dnxhd de/muxer diff -r dbc5c6bebb68 -r 677bcb3b65cd Makefile --- a/Makefile Thu Oct 23 17:30:36 2008 +0000 +++ b/Makefile Fri Oct 24 01:42:57 2008 +0000 @@ -38,6 +38,8 @@ OBJS-$(CONFIG_DAUD_MUXER) += daud.o OBJS-$(CONFIG_DIRAC_DEMUXER) += raw.o OBJS-$(CONFIG_DIRAC_MUXER) += raw.o +OBJS-$(CONFIG_DNXHD_DEMUXER) += raw.o +OBJS-$(CONFIG_DNXHD_MUXER) += raw.o OBJS-$(CONFIG_DSICIN_DEMUXER) += dsicin.o OBJS-$(CONFIG_DTS_DEMUXER) += raw.o OBJS-$(CONFIG_DTS_MUXER) += raw.o diff -r dbc5c6bebb68 -r 677bcb3b65cd allformats.c --- a/allformats.c Thu Oct 23 17:30:36 2008 +0000 +++ b/allformats.c Fri Oct 24 01:42:57 2008 +0000 @@ -72,6 +72,7 @@ REGISTER_MUXER (CRC, crc); REGISTER_MUXDEMUX (DAUD, daud); REGISTER_MUXDEMUX (DIRAC, dirac); + REGISTER_MUXDEMUX (DNXHD, dnxhd); REGISTER_DEMUXER (DSICIN, dsicin); REGISTER_MUXDEMUX (DTS, dts); REGISTER_MUXDEMUX (DV, dv); diff -r dbc5c6bebb68 -r 677bcb3b65cd avformat.h --- a/avformat.h Thu Oct 23 17:30:36 2008 +0000 +++ b/avformat.h Fri Oct 24 01:42:57 2008 +0000 @@ -22,7 +22,7 @@ #define AVFORMAT_AVFORMAT_H #define LIBAVFORMAT_VERSION_MAJOR 52 -#define LIBAVFORMAT_VERSION_MINOR 22 +#define LIBAVFORMAT_VERSION_MINOR 23 #define LIBAVFORMAT_VERSION_MICRO 1 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ diff -r dbc5c6bebb68 -r 677bcb3b65cd raw.c --- a/raw.c Thu Oct 23 17:30:36 2008 +0000 +++ b/raw.c Fri Oct 24 01:42:57 2008 +0000 @@ -505,6 +505,17 @@ } #endif +#ifdef CONFIG_DNXHD_DEMUXER +static int dnxhd_probe(AVProbeData *p) +{ + static const uint8_t header[] = {0x00,0x00,0x02,0x80,0x01}; + if (!memcmp(p->buf, header, 5)) + return AVPROBE_SCORE_MAX; + else + return 0; +} +#endif + #if defined(CONFIG_AC3_DEMUXER) || defined(CONFIG_EAC3_DEMUXER) static int ac3_eac3_probe(AVProbeData *p, enum CodecID expected_codec_id) { @@ -640,6 +651,34 @@ }; #endif +#ifdef CONFIG_DNXHD_DEMUXER +AVInputFormat dnxhd_demuxer = { + "dnxhd", + NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"), + 0, + dnxhd_probe, + video_read_header, + raw_read_partial_packet, + .flags= AVFMT_GENERIC_INDEX, + .value = CODEC_ID_DNXHD, +}; +#endif + +#ifdef CONFIG_DNXHD_MUXER +AVOutputFormat dnxhd_muxer = { + "dnxhd", + NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"), + NULL, + "dnxhd", + 0, + CODEC_ID_NONE, + CODEC_ID_DNXHD, + NULL, + raw_write_packet, + .flags= AVFMT_NOTIMESTAMPS, +}; +#endif + #ifdef CONFIG_DTS_DEMUXER AVInputFormat dts_demuxer = { "dts",