[FFmpeg-devel] [PATCH] configure: Add missing IVF muxer BSF dependency

James Almer jamrial at gmail.com
Sat Oct 6 20:40:40 EEST 2018


On 10/6/2018 2:30 PM, Mark Thompson wrote:
> ---
> On 05/10/18 00:53, James Almer wrote:
>> On 10/4/2018 8:09 PM, Mark Thompson wrote:
>>> ---
>>>  configure | 10 +++++++---
>>>  1 file changed, 7 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/configure b/configure
>>> index 85d5dd5962..cbd52e641b 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -3173,26 +3173,30 @@ eac3_demuxer_select="ac3_parser"
>>>  f4v_muxer_select="mov_muxer"
>>>  fifo_muxer_deps="threads"
>>>  flac_demuxer_select="flac_parser"
>>> +h264_muxer_select="h264_mp4toannexb_bsf"
>>>  hds_muxer_select="flv_muxer"
>>> +hevc_muxer_select="hevc_mp4toannexb_bsf"
>>>  hls_muxer_select="mpegts_muxer"
>>>  hls_muxer_suggest="gcrypt openssl"
>>>  image2_alias_pix_demuxer_select="image2_demuxer"
>>>  image2_brender_pix_demuxer_select="image2_demuxer"
>>>  ipod_muxer_select="mov_muxer"
>>>  ismv_muxer_select="mov_muxer"
>>> +ivf_muxer_select="vp9_superframe_bsf"
>>> +latm_muxer_select="aac_adtstoasc_bsf"
>>>  matroska_audio_muxer_select="matroska_muxer"
>>>  matroska_demuxer_select="iso_media riffdec"
>>>  matroska_demuxer_suggest="bzlib lzo zlib"
>>> -matroska_muxer_select="iso_media riffenc"
>>> +matroska_muxer_select="iso_media riffenc aac_adtstoasc_bsf vp9_superframe_bsf"
>>>  mmf_muxer_select="riffenc"
>>>  mov_demuxer_select="iso_media riffdec"
>>>  mov_demuxer_suggest="zlib"
>>> -mov_muxer_select="iso_media riffenc rtpenc_chain"
>>> +mov_muxer_select="iso_media riffenc rtpenc_chain aac_adtstoasc_bsf"
>>>  mp3_demuxer_select="mpegaudio_parser"
>>>  mp3_muxer_select="mpegaudioheader"
>>>  mp4_muxer_select="mov_muxer"
>>>  mpegts_demuxer_select="iso_media"
>>> -mpegts_muxer_select="adts_muxer latm_muxer"
>>> +mpegts_muxer_select="adts_muxer latm_muxer h264_mp4toannexb_bsf hevc_mp4toannexb_bsf"
>>>  mpegtsraw_demuxer_select="mpegts_demuxer"
>>>  mxf_d10_muxer_select="mxf_muxer"
>>>  mxf_opatom_muxer_select="mxf_muxer"
>>
>> I don't think enabling any of the *_mp4toannexb_bsf or aac_adtstoasc_bsf
>> is a good idea for mov, matroska, mpegts and similar. Nothing says
>> whoever is configuring/building ffmpeg wants to mux such codecs into
>> those containers, so why force enable bsfs they don't care about?
>> latm, h264 and hevc are the exception, seeing they require the bsfs to
>> actually work, and at least the latter two don't seem to reject any
>> packet you pass to them.
>>
>> vp9_superframe_bsf is a different story since that one prevents muxing
>> invalid bitstreams, and should indeed be always enabled.
> 
> Hmm, yeah.  Being prompted by the visible problem in ivfenc I didn't really think this through properly.
> 
> While they aren't a hard requirement, it seems to me that for h264 and hevc it might be a good idea to have this dependency?  I agree it's not helpful on the others, since they are generally not used.

Yeah, it's certainly needed for h264 and hevc raw muxers, seeing that
unlike mpegts they don't do any kind of check in the packets and will
happily mux whatever you throw at them. Same for latm and aac_adtstoasc_bsf.

> 
> Updated patch with just the IVF muxer enclosing.
> 
> Thanks,
> 
> - Mark
> 
> ---
>  configure | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/configure b/configure
> index 85d5dd5962..705d5caa44 100755
> --- a/configure
> +++ b/configure
> @@ -3180,6 +3180,7 @@ image2_alias_pix_demuxer_select="image2_demuxer"
>  image2_brender_pix_demuxer_select="image2_demuxer"
>  ipod_muxer_select="mov_muxer"
>  ismv_muxer_select="mov_muxer"
> +ivf_muxer_select="vp9_superframe_bsf"
>  matroska_audio_muxer_select="matroska_muxer"
>  matroska_demuxer_select="iso_media riffdec"
>  matroska_demuxer_suggest="bzlib lzo zlib"

LGTM, but as i said vp9_superframe_bsf should also be pulled in by
matroska and mov muxers, as it prevents split bitstreams from making
their way into the output file, and neither muxer can detect that.


More information about the ffmpeg-devel mailing list