Hi Baptiste, Am Fr., 10. Mai 2019 um 17:51 Uhr schrieb Baptiste Coudurier < baptiste.coudur...@gmail.com>:
> --- > libavformat/Makefile | 2 +- > libavformat/avc.c | 188 ++++++++++++++++++++++++++++++++++++++ > libavformat/avc.h | 15 +++ > libavformat/hevc.c | 36 +------- > libavformat/mxf.h | 1 + > libavformat/mxfenc.c | 213 ++++++++++++++++++++++++++++++++++--------- > 6 files changed, 374 insertions(+), 81 deletions(-) > [...] +static const MXFLocalTagPair mxf_avc_subdescriptor_local_tags[] = { > + { 0x8100, > {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x09,0x06,0x01,0x01,0x04,0x06,0x10,0x00,0x00}}, > /* SubDescriptors */ > + { 0x8200, > {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x0E,0x04,0x01,0x06,0x06,0x01,0x0E,0x00,0x00}}, > /* AVC Decoding Delay */ > + { 0x8201, > {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x0E,0x04,0x01,0x06,0x06,0x01,0x0A,0x00,0x00}}, > /* AVC Profile */ > + { 0x8202, > {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x0E,0x04,0x01,0x06,0x06,0x01,0x0D,0x00,0x00}}, > /* AVC Level */ > +}; > + > [...] > +static void mxf_write_avc_subdesc(AVFormatContext *s, AVStream *st) > +{ > + AVIOContext *pb = s->pb; > + int64_t pos; > + > + avio_write(pb, mxf_avc_subdescriptor_key, 16); > + klv_encode_ber4_length(pb, 0); > + pos = avio_tell(pb); > + > + mxf_write_local_tag(pb, 16, 0x3C0A); > + mxf_write_uuid(pb, AVCSubDescriptor, 0); > + > + mxf_write_local_tag(pb, 1, 0x8200); > + avio_w8(pb, 0xFF); // AVC Decoding Delay, unknown > + > + mxf_write_local_tag(pb, 1, 0x8201); > + avio_w8(pb, st->codecpar->profile); // AVC Profile > + > + mxf_write_local_tag(pb, 1, 0x8202); > + avio_w8(pb, st->codecpar->level); // AVC Level > + > + mxf_update_klv_size(s->pb, pos); > +} > Other MXF muxers, e.g. bmxlib, also write the avc profile constraint tag when the avc subdescriptor is used. At least MediaInfo detects intra coded files as long gop otherwise. FFmpeg crashes with this patch when I try to remux AVC Intra files without SPS/PPS header. Tested on Windows 7. Compiled with msys2/gcc7.3.0 x86-32bit. Command: ffmpeg -i AVCI100_Test.mxf -c:v copy out.mxf Test file: https://www.mediafire.com/file/n0oi50u39yi3qpr/AVCI100_Test.mxf/file Regards, Thomas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".