Files
bpfire/lfs/ffmpeg
Adolf Belka ba6d6014ff ffmpeg: Update to version 7.0.2
- 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>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 10:01:06 +00:00

103 lines
3.6 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# 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 #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
SUMMARY = Library for working with various multimedia formats
VER = 7.0.2
THISAPP = ffmpeg-$(VER)
DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = ffmpeg
PAK_VER = 17
DEPS = sdl2 lame libvorbis xvid
SERVICES =
ifeq "$(BUILD_ARCH)" "riscv64"
LDFLAGS += -latomic
endif
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = f6536f41f784f1b49ed0728d80a522676dfe1facbeb7fec3f7796683ce28c73e41508f9a5dd1e5cd18d3ff787d562bb1e6a5085ee0660076b84a76040587e5a8
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
dist:
@$(PAK)
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && \
CFLAGS="$(CFLAGS)" \
LDFLAGS="$(LDFLAGS)" \
./configure \
--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)
@$(POSTBUILD)