Mercurial > libavformat.hg
diff raw.c @ 4004:677bcb3b65cd libavformat
raw dnxhd de/muxer
author | bcoudurier |
---|---|
date | Fri, 24 Oct 2008 01:42:57 +0000 |
parents | fcff303d5c8c |
children | 69a2d02089e1 |
line wrap: on
line diff
--- 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",