• Clément Bœsch's avatar
    ffmpeg: switch to the new BSF API · 5ef19590
    Clément Bœsch authored
    This commit is initially largely based on commit 4426540f from Anton
    Khirnov <anton@khirnov.net> and two following fixes (80fb19bc and
    fe7b21c8) which were previously skipped respectively in 98e3153f, c9ee36e6,
    and 7fe7cdca.
    
    mpeg4-bsf-unpack-bframes FATE reference is updated because the bsf
    filter now actually fixes the extradata (mpeg4_unpack_bframes_init()
    changing one byte is now honored on the output extradata).
    
    The FATE references for remove_extra change because the packet flags
    were wrong and the keyframes weren't marked, causing the bsf relying on
    these proprieties to not actually work as intended.
    
    The following was fixed by James Almer:
    
    The filter option arguments are now also parsed correctly.
    
    A hack to propagate extradata changed by bitstream filters after the
    first av_bsf_receive_packet() call is added to maintain the current
    behavior. This was previously done by av_bitstream_filter_filter() and
    is needed for the aac_adtstoasc bsf.
    
    The exit_on_error was not being checked anymore, and led to an exit
    error in the last frame of h264_mp4toannexb test. Restoring this
    behaviour prevents erroring out. The test is still changed as a result
    due to the badly filtered frame now not being written after the failure.
    Signed-off-by: 's avatarClément Bœsch <u@pkh.me>
    Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
    5ef19590
ffmpeg-bsf-remove-k 1.8 KB