[1/4] ffmpeg: Update to version 7.0.2

Message ID 20240821184611.1906582-1-adolf.belka@ipfire.org
State Staged
Commit ba6d6014ffa815480651d0f385287b257d14e025
Headers
Series [1/4] ffmpeg: Update to version 7.0.2 |

Commit Message

Adolf Belka Aug. 21, 2024, 6:46 p.m. UTC
  - Update from version 6.0 to 7.0.2
- Removal of mathpops patch as content now included in source tarball.
- Update of rootfile
- sobump means that mpd, shairport-sync and minidlna need to be shipped
- minidlna also requires an update due to a variable name change from ffmpeg-7.0 onwards
- Changelog
    7.0.2
	 avcodec/snow: Fix off by 1 error in run_buffer
	 avcodec/utils: apply the same alignment to YUV410 as we do to YUV420 for snow
	 avformat/iamf_parse: Check for 0 samples
	 swscale: [loongarch] Fix checkasm-sw_yuv2rgb failure.
	 avcodec/aacps_tablegen_template: don't redefine CONFIG_HARDCODED_TABLES
	 avutil/hwcontext_vaapi: use the correct type for VASurfaceAttribExternalBuffers.buffers
	 avcodec/pcm-bluray/dvd: Use correct pointer types on BE
	 avcodec/pngenc: fix sBIT writing for indexed-color PNGs
	 avcodec/pngdec: use 8-bit sBIT cap for indexed PNGs per spec
	 avformat/mov: check that child boxes of trak are only present inside it
	 avformat/mov: check that sample and chunk count is 1 for HEIF
	 avcodec/videotoolboxenc: Fix bitrate doesn't work as expected
	 avdevice/dshow: Don't skip audio devices if no video device is present
	 avcodec/hdrenc: Allocate more space
	 avcodec/cfhdenc: Height of 16 is not supported
	 avcodec/cfhdenc: Allocate more space
	 avcodec/osq: fix integer overflow when applying factor
	 avcodec/osq: avoid using too large numbers for shifts and integers in update_residue_parameter()
	 avcodec/vaapi_encode: Check hwctx
	 avcodec/proresdec: Consider negative bits left
	 avcodec/alsdec: Clear shift_value
	 avcodec/hevc/hevcdec: Do not allow slices to depend on failed slices
	 avformat/mov: add an EOF check in IPRP
	 avfilter/vf_xfade: Check ff_inlink_consume_frame() for failure
	 avutil/slicethread: Check pthread_*_init() for failure
	 avutil/frame: Check log2_crop_align
	 avutil/buffer: Check ff_mutex_init() for failure
	 avformat/xmv: Check this_packet_size
	 avformat/webpenc: Check filesize in trailer
	 avformat/ty: rec_size seems to only need 32bit
	 avformat/tty: Check avio_size()
	 avformat/siff: Basic pkt_size check
	 avformat/sauce: Check avio_size() for failure
	 avformat/sapdec: Check ffurl_get_file_handle() for error
	 avformat/nsvdec: Check asize for PCM
	 avformat/mp3dec: Check header_filesize
	 avformat/mp3dec; Check for avio_size() failure
	 avformat/mov: Use 64bit for str_size
	 avformat/mm: Check length
	 avformat/hnm: Check *chunk_size
	 avformat/hlsenc: Check ret
	 avformat/bintext: Check avio_size() return
	 avformat/asfdec_o: Check size of index object
	 avfilter/vf_scale: Check ff_scale_adjust_dimensions() for failure
	 avfilter/scale_eval: Use 64bit, check values in ff_scale_adjust_dimensions()
	 avfilter/vf_lut3d: Check av_scanf()
	 avfilter/vf_elbg: Use unsigned for shifting into the top bit
	 avfilter/vf_premultiply: Use AV_PIX_MAX_PLANES
	 avfilter/vf_deshake_opencl: Ensure that the first iteration initializes the best variables
	 avformat/iamf_parse: Check for negative sample sizes
	 swscale/output: Fix integer overflows in yuv2rgba64_X_c_template
	 avformat/mxfdec: Reorder elements of expression in bisect loop
	 avutil/timecode: Use a 64bit framenum internally
	 avcodec/pnmdec: Use 64bit for input size check
	 avformat/mov: Check extradata in mov_read_iacb()
	 avcodec/mpeg12enc: Use av_rescale() in vbv_buffer_size computation
	 avcodec/utvideoenc: Use unsigned shift to build flags
	 avcodec/j2kenc: Merge dwt_norm into lambda
	 avcodec/vc2enc: Fix overflows with storing large values
	 avcodec/mpegvideo_enc: Do not duplicate pictures on shifting
	 avdevice/dshow_capture: Fix error handling in ff_dshow_##prefix##_Create()
	 avcodec/tiff: Check value on positive signed targets
	 avfilter/vf_convolution_opencl: Assert that the filter name is one of the filters
	 avfilter/vf_bm3d: Dont round MSE2SSE to an integer
	 avdevice/dshow: Remove NULL check on pin
	 avdevice/dshow: check ff_dshow_pin_ConnectionMediaType() for failure
	 avdevice/dshow: Check device_filter_unique_name before use
	 avdevice/dshow: Cleanup also on av_log case
	 avdevice/dshow_filter: Use wcscpy_s()
	 avcodec/flac_parser: Assert that we do not overrun the link_penalty array
	 avcodec/osq: avoid signed overflow in downsample path
	 avcodec/pixlet: Simplify pfx computation
	 avcodec/motion_est: Fix score squaring overflow
	 avcodec/mlpenc: Use 64 for ml, mr
	 avcodec/loco: Check loco_get_rice() for failure
	 avcodec/loco: check get_ur_golomb_jpegls() for failure
	 avcodec/leaddec: Check init_get_bits8() for failure
	 avcodec/imm4: check cbphi for error
	 avcodec/iff: Use signed count
	 avcodec/golomb: Assert that k is in the supported range for get_ur/sr_golomb()
	 avcodec/golomb: Document return for get_ur_golomb_jpegls() and get_sr_golomb_flac()
	 avcodec/dxv: Fix type in get_opcodes()
	 avcodec/cri: Check length
	 avcodec/xsubdec: Check parse_timecode()
	 avutil/imgutils: av_image_check_size2() ensure width and height fit in 32bit
	 avfilter/vf_tiltandshift: Free dst on error
	 doc/examples/mux: remove nop
	 avcodec/proresenc_kostya: use unsigned alpha for rotation
	 avformat/rtpenc_rfc4175: Use 64bit in computation if copy_offset
	 avformat/rtmpproto: Use AV_DICT_MATCH_CASE instead of litteral number
	 avformat/rtmppkt: Simplify and deobfuscate amf_tag_skip() slightly
	 avformat/rmdec: use 64bit for audio_framesize checks
	 avutil/wchar_filename: Correct sizeof
	 avutil/hwcontext_d3d11va: correct sizeof IDirect3DSurface9
	 avutil/hwcontext_d3d11va: Free AVD3D11FrameDescriptor on error
	 avutil/hwcontext_d3d11va: correct sizeof AVD3D11FrameDescriptor
	 avcodec/vvc/refs: Use unsigned mask
	 doc/examples/vaapi_encode: Try to check fwrite() for failure
	 avformat/usmdec: Initialize value
	 avformat/tls_schannel: Initialize ret
	 avformat/subfile: Assert that whence is a known case
	 avformat/subfile: Merge if into switch()
	 avformat/rtsp: Check that lower transport is handled in one of the if()
	 avformat/rtsp: initialize reply1
	 avformat/rtsp: use < 0 for error check
	 avformat/rtpenc_vc2hq: Check sizes
	 avfilter/af_aderivative: Free out on error
	 swscale/swscale: Use ptrdiff_t for linesize computations
	 avfilter/af_amerge: Cleanup on av_channel_layout_copy() failure
	 avfilter/af_afir: Assert format
	 avfilter/af_afftdn: Assert format
	 avfilter/af_pan: check nb_output_channels before use
	 cbs_av1: Reject thirty-two zero bits in uvlc code
	 avfilter/af_mcompand: compute half frequency in double
	 avfilter/af_channelsplit: Assert that av_channel_layout_channel_from_index() succeeds
	 avfilter/af_aresample: Cleanup on av_channel_layout_copy() failure
	 tools/coverity: Phase 1 study of anti-halicogenic for coverity av_rescale()
	 avfilter/vf_avgblur: Check plane instead of AVFrame
	 avfilter/drawutils: Fix depthb computation
	 avfilter/avf_showcwt: Check av_parse_video_rate() for failure
	 avformat/rdt: Check pkt_len
	 avformat/mpeg: Check len in mpegps_probe()
	 avformat/mxfenc: resurrects the error print
	 avdevice/dshow: Check ICaptureGraphBuilder2_SetFiltergraph() for failure
	 avcodec/mfenc: check IMFSample_ConvertToContiguousBuffer() for failure
	 avcodec/vc1_loopfilter: Factor duplicate code in vc1_b_h_intfi_loop_filter()
	 avcodec/vvc/ctu: Remove dead ret check
	 avcodec/vvc/dec: Remove constant eos_at_start
	 avformat/img2dec: assert no pipe on ts_from_file
	 avcodec/cbs_jpeg: Try to move the read entity to one side in a test
	 fftools/ffplay: Check vulkan_params
	 fftools/ffmpeg_enc: Initialize Decoder
	 fftools/ffmpeg_enc: Initialize fd
	 fftools/ffmpeg_enc: simplify opaque_ref check
	 avformat/mov: Check edit list for overflow
	 fftools/ffmpeg: Check read() for failure
	 avcodec/vvc/dec: Check ff_init_cabac_decoder() for failure
	 swscale/output: Avoid undefined overflow in yuv2rgb_write_full()
	 swscale/output: alpha can become negative after scaling, use multiply
	 avcodec/targaenc: Allocate space for the palette
	 avcodec/r210enc: Use av_rescale for bitrate
	 avcodec/jfdctint_template: Fewer integer anomalies
	 avcodec/snowenc: MV limits due to mv_penalty table size
	 tools/target_dec_fuzzer: Adjust threshold for MV30
	 tools/target_dec_fuzzer: Adjust threshold for jpeg2000
	 avformat/mxfdec: Check container_ul->desc before use
	 avcodec/libvpxenc: Cleanup on error
	 doc/developer: Provide information about git send-email and gmail
	 avfilter/vf_rotate: Check ff_draw_init2() return value
	 avformat/mov: Use int64_t in intermediate for corrected_dts
	 avformat/mov: Use 64bit in intermediate for current_dts
	 avformat/matroskadec: Assert that num_levels is non negative
	 avformat/libzmq: Check av_strstart()
	 avformat/img2dec: Little JFIF / Exif cleanup
	 avformat/img2dec: Move DQT after unrelated if()
	 avformat/imfdec: Simplify get_next_track_with_minimum_timestamp()
	 avdevice/xcbgrab: Check sscanf() return
	 fftools/cmdutils: Add protective () to FLAGS
	 avformat/sdp: Check before appending ","
	 avcodec/libx264: Check init_get_bits8() return code
	 avcodec/ilbcdec: Remove dead code
	 avcodec/vp8: Check cond init
	 avcodec/vp8: Check mutex init
	 avcodec/proresenc_anatoliy: Assert that AV_PROFILE_UNKNOWN is replaced
	 avcodec/pcm-dvdenc: 64bit pkt-size
	 avcodec/notchlc: Check init_get_bits8() for failure
	 avcodec/tests/dct: Use 64bit in intermediate for error computation
	 avcodec/scpr3: Check add_dec() for failure
	 avcodec/rv34: assert that size is not 0 in rv34_gen_vlc_ext()
	 avcodec/wavpackenc: Use unsigned for potential 31bit shift
	 avcodec/vvc/mvs: Initialize mvf
	 avcodec/tests/jpeg2000dwt: Use 64bit in comparission
	 avcodec/tests/jpeg2000dwt: Use 64bit in err2 computation
	 avformat/fwse: Remove always false expression
	 avcodec/sga: Make it clear that the return is intentionally not checked
	 avformat/asfdec_f: Use 64bit for preroll computation
	 avformat/argo_asf: Use 64bit in offset intermediate
	 avformat/ape: Use 64bit for final frame size
	 avformat/ac4dec: Check remaining space in ac4_probe()
	 avdevice/pulse_audio_enc: Use av_rescale() to avoid integer overflow
	 avcodec/vlc: Cleanup on multi table alloc failure in ff_vlc_init_multi_from_lengths()
	 avcodec/tiff: Assert init_get_bits8() success in unpack_gray()
	 avcodec/tiff: Assert init_get_bits8() success in horizontal_fill()
	 tools/decode_simple: Check avcodec_send_packet() for errors on flushing
	 swscale/yuv2rgb: Use 64bit for brightness computation
	 swscale/x86/swscale: use a clearer name for INPUT_PLANER_RGB_A_FUNC_CASE
	 avutil/tests/opt: Check av_set_options_string() for failure
	 avutil/tests/dict: Check av_dict_set() before get for failure
	 avdevice/dshow: fix badly indented line
	 avformat/demux: resurrect dead stores
	 avcodec/tests/bitstream_template: Assert bits_init8() return
	 tools/enc_recon_frame_test: Assert that av_image_get_linesize() succeeds
	 avformat/iamf_writer: disallow Opus extradata with mapping family other than 0
	 avformat/iamf_parse: sanitize audio_roll_distance values
	 avformat/iamf: byteswap values in OpusHeader
	 avformat/iamf: rename Codec Config seek_preroll to audio_roll_distance
	 avformat/iamf_writer: fix coded audio_roll_distance values
	 avformat/iamf_writer: fix PCM endian-ness flag
	 avformat/movenc: fix channel count and samplerate fields for IAMF tracks
	 avformat/iamf_parse: keep substream count consistent
	 avformat/iamf_parse: add missing padding to AAC extradata
	 avformat/iamf_parse: 0 layers are not allowed
	 avformat/iamf_parse: consider nb_substreams when accessing substreams array
	 avformat/iamf_parse: Remove dead case
	 avcodec/png: more informative error message for invalid sBIT size
	 avcodec/pngdec: avoid erroring with sBIT on indexed-color images
	 avfilter/vf_tiltandshift: fix buffer offset for yuv422p input
	 avutil/timestamp: avoid possible FPE when 0 is passed to av_ts_make_time_string2()
	 avformat/mov: add more checks for infe atom size
	 avformat/mov: check for EOF inside the infe list parsing loop
	 avformat/mov: check extent_offset calculation for overflow
	 avformat/mov: check that iloc offset values fit on an int64_t
	 avcodec/pngenc: fix mDCv typo
	 avcodec/pngdec: fix mDCv typo
	 avcodec/nvenc: fix segfault in intra-only mode
	 avdevice/avfoundation: add external video devices
	 aarch64: Add OpenBSD runtime detection of dotprod and i8mm using sysctl
	 fftools/ffplay_renderer: use correct NULL value for Vulkan type
	 qsv: Initialize impl_value
	 avutil/hwcontext_qsv: fix GCC 14.1 warnings
	 avcodec/mediacodecenc: workaround the alignment requirement for H.265
	 avcodec/mediacodecenc: workaround the alignment requirement only for H.264
	 lavc/lpc: fix off-by-one in R-V V compute_autocorr
	 lavc/vp9: reset segmentation fields when segmentation isn't enabled
	 configure: enable ffnvcodec, nvenc, nvdec for FreeBSD
	 lavc/sbrdsp: fix potential overflow in noise table
    7.0.1
	 lavc/flacdsp: do not assume maximum R-V VL
	 avformat/flacdec: Reorder allocations to avoid leak on error
	 avcodec/adts_parser: Don't presume buffer to be padded
	 avformat/movenc: Check av_malloc()
	 avcodec/vp8: Return error on error
	 avformat/mov: store sample_sizes as unsigned ints
	 avformat/vvc: fix parsing sps_subpic_id
	 avformat/vvc: initialize some ptl flags
	 avcodec/mscc & mwsc: Check loop counts before use
	 avcodec/mpegvideo_enc: Fix potential overflow in RD
	 avcodec/mpeg4videodec: assert impossible wrap points
	 avcodec/mpeg12dec: Use 64bit in bit computation
	 avcodec/vqcdec: Check init_get_bits8() for failure
	 avcodec/vvc/dec: Check init_get_bits8() for failure
	 avcodec/vble: Check av_image_get_buffer_size() for failure
	 avcodec/vp3: Replace check by assert
	 avcodec/vp8: Forward return of ff_vpx_init_range_decoder()
	 avcodec/jpeg2000dec: remove ST=3 case
	 avcodec/qsvdec: Check av_image_get_buffer_size() for failure
	 avcodec/exr: Fix preview overflow
	 avcodec/decode: decode_simple_internal() only implements audio and video
	 avcodec/fmvc: remove dead assignment
	 avcodec/h2645_sei: Remove dead checks
	 avcodec/h264_slice: Remove dead sps check
	 avcodec/lpc: copy levenson coeffs only when they have been computed
	 avutil/tests/base64: Check with too short output array
	 libavutil/base64: Try not to write over the array end
	 avcodec/cbs_av1: Avoid shift overflow
	 fftools/ffplay: Check return of swr_alloc_set_opts2()
	 tools/opt_common: Check for malloc failure
	 doc/examples/demux_decode: Simplify loop
	 avformat/concatdec: Check file
	 avcodec/mpegvideo_enc: Fix 1 line and one column images
	 avcodec/amrwbdec: assert mode to be valid in decode_fixed_vector()
	 avcodec/wavarc: fix integer overflow in decode_5elp() block type 2
	 swscale/output: Fix integer overflow in yuv2rgba64_full_1_c_template()
	 swscale/output: Fix integer overflow in yuv2rgba64_1_c_template
	 avcodec/av1dec: Change bit_depth to int
	 avcodec/av1dec: bit_depth cannot be another values than 8,10,12
	 avcodec/avs3_parser: assert the return value of init_get_bits()
	 avcodec/avs2_parser: Assert init_get_bits8() success with const size 15
	 avfilter/avfiltergraph: return value of ff_request_frame() is unused
	 avformat/mxfdec: Check body_offset
	 avformat/kvag: Check sample_rate
	 avcodec/atrac9dec: Check init_get_bits8() for failure
	 avcodec/ac3_parser: Check init_get_bits8() for failure
	 avcodec/pngdec: Check last AVFrame before deref
	 avcodec/hevcdec: Check ref frame
	 doc/examples/qsv_transcode: Initialize pointer before free
	 doc/examples/qsv_transcode: Simplify str_to_dict() loop
	 doc/examples/vaapi_transcode: Simplify loop
	 doc/examples/qsv_transcode: Simplify loop
	 avcodec/cbs_h2645: Check NAL space
	 avfilter/vf_thumbnail_cuda: Set ret before checking it
	 avfilter/signature_lookup: Dont copy uninitialized stuff around
	 avfilter/signature_lookup: Fix 2 differences to the refernce SW
	 avcodec/x86/vp3dsp_init: Set correct function pointer, fix crash
	 avformat/mp3dec: change bogus error message if read_header encounters EOF
	 avformat/mp3dec: simplify inner frame size check in mp3_read_header
	 avformat/mp3dec: only call ffio_ensure_seekback once
	 avcodec/cbs_h266: read vps_ptl_max_tid before using it
	 avcodec/cbs_h266: fix sh_collocated_from_l0_flag and sh_collocated_ref_idx infer
	 avformat/vvc: fix parsing some early VPS bitstream values
	 avformat/vvc: fix writing general_constraint_info bytes
	 avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD
	 lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
	 vulkan_av1: Fix force_integer_mv value
	 vaapi_av1: Fix force_integer_mv value
	 av1dec: Add force_integer_mv derived field for decoder use
	 avutil/iamf: fix offsets for mix_gain options
	 avformat/iamfdec: check nb_streams in header read
	 avformat/mov: free the infe allocated item data on failure
	 avformat/iamf_writer: reject duplicated stream ids in a stream group
	 avformat/mov: don't read key_size bytes twice in the keys atom
	 avformat/mov: take into account the first eight bytes in the keys atom
	 avformat/mov: fix the check for the heif item parsing loop
	 avutil/iamf: fix mix_gain_class name
	 av1dec: Fix RefFrameSignBias calculation
	 avcodec/codec_par: always clear extradata_size in avcodec_parameters_to_context()
	 avcodec/mediacodecenc: Fix return empty packet when bsf is used
	 avcodec/hevcdec: Fix precedence, bogus film grain warning
	 avcodec/hevcdec: fix segfault on invalid film grain metadata
	 lavc/vvc: Skip enhancement layer NAL units
	 avformat/mov: ignore old infe box versions
	 vulkan_av1: add workaround for NVIDIA drivers tested on broken CTS
	 lavc/vulkan_av1: Use av1dec reference order hint information
	 lavc/av1: Record reference ordering information for each frame
	 doc/encoders: add missing libxvid option
	 doc/encoders: remove non-existent flag
	 fate/ffmpeg: Avoid dependency on samples
	 avcodec/wavpack: Remove always-false check
	 avcodec/wavpack: Fix leak and segfault on reallocation error
	 avcodec/lossless_videoencdsp: Don't presume alignment in diff_bytes
	 avcodec/ppc/h264dsp: Fix left shifts of negative numbers
    7.0
	- DXV DXT1 encoder
	- LEAD MCMP decoder
	- EVC decoding using external library libxevd
	- EVC encoding using external library libxeve
	- QOA decoder and demuxer
	- aap filter
	- demuxing, decoding, filtering, encoding, and muxing in the
	  ffmpeg CLI now all run in parallel
	- enable gdigrab device to grab a window using the hwnd=HANDLER syntax
	- IAMF raw demuxer and muxer
	- D3D12VA hardware accelerated H264, HEVC, VP9, AV1, MPEG-2 and VC1 decoding
	- tiltandshift filter
	- qrencode filter and qrencodesrc source
	- quirc filter
	- lavu/eval: introduce randomi() function in expressions
	- VVC decoder (experimental)
	- fsync filter
	- Raw Captions with Time (RCWT) closed caption muxer
	- ffmpeg CLI -bsf option may now be used for input as well as output
	- ffmpeg CLI options may now be used as -/opt <path>, which is equivalent
	  to -opt <contents of file <path>>
	- showinfo bitstream filter
	- a C11-compliant compiler is now required; note that this requirement
	  will be bumped to C17 in the near future, so consider updating your
	  build environment if it lacks C17 support
	- Change the default bitrate control method from VBR to CQP for QSV encoders.
	- removed deprecated ffmpeg CLI options -psnr and -map_channel
	- DVD-Video demuxer, powered by libdvdnav and libdvdread
	- ffprobe -show_stream_groups option
	- ffprobe (with -export_side_data film_grain) now prints film grain metadata
	- AEA muxer
	- ffmpeg CLI loopback decoders
	- Support PacketTypeMetadata of PacketType in enhanced flv format
	- ffplay with hwaccel decoding support (depends on vulkan renderer via libplacebo)
	- dnn filter libtorch backend
	- Android content URIs protocol
	- AOMedia Film Grain Synthesis 1 (AFGS1)
	- RISC-V optimizations for AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1, VP8, and more
	- Loongarch optimizations for HEVC decoding
	- Important AArch64 optimizations for HEVC
	- IAMF support inside MP4/ISOBMFF
	- Support for HEIF/AVIF still images and tiled still images
	- Dolby Vision profile 10 support in AV1
	- Support for Ambient Viewing Environment metadata in MP4/ISOBMFF
	- HDR10 metadata passthrough when encoding with libx264, libx265, and libsvtav1
    6.1
	- libaribcaption decoder
	- Playdate video decoder and demuxer
	- Extend VAAPI support for libva-win32 on Windows
	- afireqsrc audio source filter
	- arls filter
	- ffmpeg CLI new option: -readrate_initial_burst
	- zoneplate video source filter
	- command support in the setpts and asetpts filters
	- Vulkan decode hwaccel, supporting H264, HEVC and AV1
	- color_vulkan filter
	- bwdif_vulkan filter
	- nlmeans_vulkan filter
	- RivaTuner video decoder
	- xfade_vulkan filter
	- vMix video decoder
	- Essential Video Coding parser, muxer and demuxer
	- Essential Video Coding frame merge bsf
	- bwdif_cuda filter
	- Microsoft RLE video encoder
	- Raw AC-4 muxer and demuxer
	- Raw VVC bitstream parser, muxer and demuxer
	- Bitstream filter for editing metadata in VVC streams
	- Bitstream filter for converting VVC from MP4 to Annex B
	- scale_vt filter for videotoolbox
	- transpose_vt filter for videotoolbox
	- support for the P_SKIP hinting to speed up libx264 encoding
	- Support HEVC,VP9,AV1 codec in enhanced flv format
	- apsnr and asisdr audio filters
	- OSQ demuxer and decoder
	- Support HEVC,VP9,AV1 codec fourcclist in enhanced rtmp protocol
	- CRI USM demuxer
	- ffmpeg CLI '-top' option deprecated in favor of the setfield filter
	- VAAPI AV1 encoder
	- ffprobe XML output schema changed to account for multiple
	  variable-fields elements within the same parent element
	- ffprobe -output_format option added as an alias of -of

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/ffmpeg              | 37 ++++-----
 lfs/ffmpeg                                    | 24 +++---
 ...hpops-clip-constants-used-with-shift.patch | 76 -------------------
 3 files changed, 31 insertions(+), 106 deletions(-)
 delete mode 100644 src/patches/ffmpeg-6.0-mathpops-clip-constants-used-with-shift.patch
  

Patch

diff --git a/config/rootfiles/packages/ffmpeg b/config/rootfiles/packages/ffmpeg
index 31097eaac..d6b7985f6 100644
--- a/config/rootfiles/packages/ffmpeg
+++ b/config/rootfiles/packages/ffmpeg
@@ -26,7 +26,6 @@  usr/bin/ffprobe
 #usr/include/libavcodec/version_major.h
 #usr/include/libavcodec/videotoolbox.h
 #usr/include/libavcodec/vorbis_parser.h
-#usr/include/libavcodec/xvmc.h
 #usr/include/libavdevice
 #usr/include/libavdevice/avdevice.h
 #usr/include/libavdevice/version.h
@@ -74,6 +73,7 @@  usr/bin/ffprobe
 #usr/include/libavutil/encryption_info.h
 #usr/include/libavutil/error.h
 #usr/include/libavutil/eval.h
+#usr/include/libavutil/executor.h
 #usr/include/libavutil/ffversion.h
 #usr/include/libavutil/fifo.h
 #usr/include/libavutil/file.h
@@ -86,6 +86,7 @@  usr/bin/ffprobe
 #usr/include/libavutil/hwcontext.h
 #usr/include/libavutil/hwcontext_cuda.h
 #usr/include/libavutil/hwcontext_d3d11va.h
+#usr/include/libavutil/hwcontext_d3d12va.h
 #usr/include/libavutil/hwcontext_drm.h
 #usr/include/libavutil/hwcontext_dxva2.h
 #usr/include/libavutil/hwcontext_mediacodec.h
@@ -95,6 +96,7 @@  usr/bin/ffprobe
 #usr/include/libavutil/hwcontext_vdpau.h
 #usr/include/libavutil/hwcontext_videotoolbox.h
 #usr/include/libavutil/hwcontext_vulkan.h
+#usr/include/libavutil/iamf.h
 #usr/include/libavutil/imgutils.h
 #usr/include/libavutil/intfloat.h
 #usr/include/libavutil/intreadwrite.h
@@ -134,6 +136,7 @@  usr/bin/ffprobe
 #usr/include/libavutil/uuid.h
 #usr/include/libavutil/version.h
 #usr/include/libavutil/video_enc_params.h
+#usr/include/libavutil/video_hint.h
 #usr/include/libavutil/xtea.h
 #usr/include/libpostproc
 #usr/include/libpostproc/postprocess.h
@@ -148,29 +151,29 @@  usr/bin/ffprobe
 #usr/include/libswscale/version.h
 #usr/include/libswscale/version_major.h
 #usr/lib/libavcodec.so
-usr/lib/libavcodec.so.60
-usr/lib/libavcodec.so.60.3.100
+usr/lib/libavcodec.so.61
+usr/lib/libavcodec.so.61.3.100
 #usr/lib/libavdevice.so
-usr/lib/libavdevice.so.60
-usr/lib/libavdevice.so.60.1.100
+usr/lib/libavdevice.so.61
+usr/lib/libavdevice.so.61.1.100
 #usr/lib/libavfilter.so
-usr/lib/libavfilter.so.9
-usr/lib/libavfilter.so.9.3.100
+usr/lib/libavfilter.so.10
+usr/lib/libavfilter.so.10.1.100
 #usr/lib/libavformat.so
-usr/lib/libavformat.so.60
-usr/lib/libavformat.so.60.3.100
+usr/lib/libavformat.so.61
+usr/lib/libavformat.so.61.1.100
 #usr/lib/libavutil.so
-usr/lib/libavutil.so.58
-usr/lib/libavutil.so.58.2.100
+usr/lib/libavutil.so.59
+usr/lib/libavutil.so.59.8.100
 #usr/lib/libpostproc.so
-usr/lib/libpostproc.so.57
-usr/lib/libpostproc.so.57.1.100
+usr/lib/libpostproc.so.58
+usr/lib/libpostproc.so.58.1.100
 #usr/lib/libswresample.so
-usr/lib/libswresample.so.4
-usr/lib/libswresample.so.4.10.100
+usr/lib/libswresample.so.5
+usr/lib/libswresample.so.5.1.100
 #usr/lib/libswscale.so
-usr/lib/libswscale.so.7
-usr/lib/libswscale.so.7.1.100
+usr/lib/libswscale.so.8
+usr/lib/libswscale.so.8.1.100
 #usr/lib/pkgconfig/libavcodec.pc
 #usr/lib/pkgconfig/libavdevice.pc
 #usr/lib/pkgconfig/libavfilter.pc
diff --git a/lfs/ffmpeg b/lfs/ffmpeg
index 0118f75f2..0431de125 100644
--- a/lfs/ffmpeg
+++ b/lfs/ffmpeg
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2024  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -26,7 +26,7 @@  include Config
 
 SUMMARY	   = Library for working with various multimedia formats
 
-VER        = 6.0
+VER        = 7.0.2
 
 THISAPP    = ffmpeg-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -34,7 +34,7 @@  DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = ffmpeg
-PAK_VER    = 16
+PAK_VER    = 17
 
 DEPS       = sdl2 lame libvorbis xvid
 
@@ -52,7 +52,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = c70884911f3a3e40fe87473f241a2a56b303f5abe7f1d7fa797d05e29e00971f98cbf37832c1c3dc5fa949a5beddef05a6ec55ae6668091976ea870ad93c0e8d
+$(DL_FILE)_BLAKE2 = f6536f41f784f1b49ed0728d80a522676dfe1facbeb7fec3f7796683ce28c73e41508f9a5dd1e5cd18d3ff787d562bb1e6a5085ee0660076b84a76040587e5a8
 
 install : $(TARGET)
 
@@ -85,19 +85,17 @@  $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ffmpeg-6.0-mathpops-clip-constants-used-with-shift.patch
 	cd $(DIR_APP) && \
 		CFLAGS="$(CFLAGS)" \
 		LDFLAGS="$(LDFLAGS)" \
 		./configure \
-		--prefix=/usr \
-		--enable-shared \
-		--disable-static \
-		--enable-gpl \
-		--enable-version3 \
-		--enable-avfilter \
-		--disable-doc
-
+			--prefix=/usr \
+			--enable-shared \
+			--disable-static \
+			--enable-gpl \
+			--enable-version3 \
+			--enable-avfilter \
+			--disable-doc
 	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)
diff --git a/src/patches/ffmpeg-6.0-mathpops-clip-constants-used-with-shift.patch b/src/patches/ffmpeg-6.0-mathpops-clip-constants-used-with-shift.patch
deleted file mode 100644
index 52a931002..000000000
--- a/src/patches/ffmpeg-6.0-mathpops-clip-constants-used-with-shift.patch
+++ /dev/null
@@ -1,76 +0,0 @@ 
-From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001
-From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Sun, 16 Jul 2023 18:18:02 +0300
-Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
- instructions within inline assembly
-
-Fixes assembling with binutil as >= 2.41
-
-Signed-off-by: James Almer <jamrial@gmail.com>
----
- libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++---
- 1 file changed, 23 insertions(+), 3 deletions(-)
-
-diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h
-index 6298f5ed19..ca7e2dffc1 100644
---- a/libavcodec/x86/mathops.h
-+++ b/libavcodec/x86/mathops.h
-@@ -35,12 +35,20 @@
- static av_always_inline av_const int MULL(int a, int b, unsigned shift)
- {
-     int rt, dummy;
-+    if (__builtin_constant_p(shift))
-     __asm__ (
-         "imull %3               \n\t"
-         "shrdl %4, %%edx, %%eax \n\t"
-         :"=a"(rt), "=d"(dummy)
--        :"a"(a), "rm"(b), "ci"((uint8_t)shift)
-+        :"a"(a), "rm"(b), "i"(shift & 0x1F)
-     );
-+    else
-+        __asm__ (
-+            "imull %3               \n\t"
-+            "shrdl %4, %%edx, %%eax \n\t"
-+            :"=a"(rt), "=d"(dummy)
-+            :"a"(a), "rm"(b), "c"((uint8_t)shift)
-+        );
-     return rt;
- }
- 
-@@ -113,19 +121,31 @@ __asm__ volatile(\
- // avoid +32 for shift optimization (gcc should do that ...)
- #define NEG_SSR32 NEG_SSR32
- static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("sarl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("sarl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
- 
- #define NEG_USR32 NEG_USR32
- static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("shrl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("shrl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
- 
--- 
-2.25.1
-