Marton Balint: > Partially fixes ticket #10395. > > Signed-off-by: Marton Balint <c...@passwd.hu> > --- > libavformat/mxfenc.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c > index 61ed6fc3db..adc31c1cf4 100644 > --- a/libavformat/mxfenc.c > +++ b/libavformat/mxfenc.c > @@ -3542,6 +3542,16 @@ static int mxf_interleave(AVFormatContext *s, AVPacket > *pkt, > return mxf_interleave_get_packet(s, pkt, flush); > } > > +static int mxf_check_bitstream(AVFormatContext *s, AVStream *st, const > AVPacket *pkt) > +{ > + if (st->codecpar->codec_id == AV_CODEC_ID_H264) { > + if (pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 && > + AV_RB24(pkt->data) != 0x000001) > + return ff_stream_add_bitstream_filter(st, "h264_mp4toannexb", > NULL); > + } > + return 1; > +} > + > #define MXF_COMMON_OPTIONS \ > { "signal_standard", "Force/set Signal Standard",\ > offsetof(MXFContext, signal_standard), AV_OPT_TYPE_INT, {.i64 = -1}, > -1, 7, AV_OPT_FLAG_ENCODING_PARAM, .unit = "signal_standard"},\ > @@ -3623,6 +3633,7 @@ const FFOutputFormat ff_mxf_muxer = { > .p.flags = AVFMT_NOTIMESTAMPS, > .interleave_packet = mxf_interleave, > .p.priv_class = &mxf_muxer_class, > + .check_bitstream = mxf_check_bitstream, > }; > > const FFOutputFormat ff_mxf_d10_muxer = { > @@ -3656,4 +3667,5 @@ const FFOutputFormat ff_mxf_opatom_muxer = { > .p.flags = AVFMT_NOTIMESTAMPS, > .interleave_packet = mxf_interleave, > .p.priv_class = &mxf_opatom_muxer_class, > + .check_bitstream = mxf_check_bitstream, > };
I sent the very same patch long ago [1]. Tomas Härdin opposed it [2], [3], because he sees stuff like this as hack. - Andreas [1]: https://ffmpeg.org/pipermail/ffmpeg-devel/2021-November/287638.html [2]: https://ffmpeg.org/pipermail/ffmpeg-devel/2021-November/287702.html [3]: https://ffmpeg.org/pipermail/ffmpeg-devel/2021-November/287703.html _______________________________________________ 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".