Marton Balint: > > > On Tue, 5 May 2020, Andreas Rheinhardt wrote: > >> Marton Balint: >>> >>> >>> On Tue, 5 May 2020, Andreas Rheinhardt wrote: >>> >>>> Marton Balint: >>>>> Previously only 1:1 bitstream filters were supported, the end of the >>>>> stream was >>>>> not signalled to the bitstream filters and time base changes were >>>>> ignored. >>>>> >>>>> This change also allows muxers to set up bitstream filters regardless >>>>> of the >>>>> autobsf flag during write_header instead of during check_bitstream >>>>> and those >>>>> bitstream filters will always be executed. >>>> >>>> Ignoring the autobsf flag is not ok IMO. The muxer should not add a bsf >>>> when the user explicitly didn't want this. >>>> >>> >>> The user should not be allowed to create broken files, and the only way >>> to achieve that is to force the BSF. >> >> No, one could also check in the muxer that the packets are ok (these >> checks could be disabled if the bsf is enabled, of course) and error out >> if it is not. > > And that would duplicate some functionaltiy for negigable performance > gain of not always doing a BSF. > >> >>> I don't see a use case for >>> disabling BSF either for MXFenc of GXFenc. (in fact, from the top of my >>> head I can't see a use case for disabling automatically inserted BSF-s >>> in other muxers). >>> >> A user who already knows that his packets are ok can do so to avoid the >> (admittedly small) overhead of these bsfs. (And even if you think that >> the option should be removed/should be made non-public (for internal >> testing only), then this does not change that this option exists and >> removing it would require the usual deprecation period (and consensus >> from other devs, of course; I personally don't have formed an opinion >> about this yet).) > > With my patch the autobsf option is still honored for all existing > bitstream filters which are inserted mid-stream (in check_bitstream). > Only the ones which are inserted at write_header(), so in mxfenc and > gxfenc are forced. > >> One use-case is if a user runs the pcm_rechunk bsf filter manually and >> then sends the output to both a framecrc as well as the mxf muxers in >> order to be able to test more thoroughly whether any write errors >> happened. Or where you want to write the same audio to multiple mxf >> muxers, all with the same audio settings. > > And for them the additional BSF which is auto inserted will only pass on > their packets, it will only *check* for correct packets, exactly what > you suggested. I cannot accept the performance gain as argument. > >> >>> So if you feel strongly about this and we still want to avoid creating >>> corrupt files then the BSFs should be processed in mxf_interleave and >>> gxf_interleave separately from the auto inserted bitstream filters. Do >>> you think that is better? I don't think so. >>> >> That would just be a worse form of automatically inserted bsf (and it >> would not work for av_write_frame()). > > Please suggest something reasonable to follow up on this. > How about: You error out in write_header if there is an audio track and the user does not want automatically inserted bitstream filters?
- Andreas _______________________________________________ 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".