Compare commits
No commits in common. "factory" and "master" have entirely different histories.
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +0,0 @@
|
||||
.osc
|
@ -1,33 +0,0 @@
|
||||
From d1ed5c06e3edc5f2b5f3664c80121fa55b0baa95 Mon Sep 17 00:00:00 2001
|
||||
From: Gyan Doshi <ffmpeg@gyani.pro>
|
||||
Date: Sat, 22 Feb 2025 10:38:53 +0530
|
||||
Subject: [PATCH] avcodec/libsvtav1: unbreak build with latest svtav1
|
||||
|
||||
SVT-AV1 made a change in their public API in 988e930c but without a
|
||||
version bump or any other accessible marker, thus breaking ffmpeg build
|
||||
with current versions of SVT-AV1.
|
||||
|
||||
They have finally bumped versions a month later, so check added.
|
||||
---
|
||||
libavcodec/libsvtav1.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
|
||||
index 79b28eb4df..43fe531fde 100644
|
||||
--- a/libavcodec/libsvtav1.c
|
||||
+++ b/libavcodec/libsvtav1.c
|
||||
@@ -435,7 +435,11 @@ static av_cold int eb_enc_init(AVCodecContext *avctx)
|
||||
|
||||
svt_enc->eos_flag = EOS_NOT_REACHED;
|
||||
|
||||
+#if SVT_AV1_CHECK_VERSION(3, 0, 0)
|
||||
+ svt_ret = svt_av1_enc_init_handle(&svt_enc->svt_handle, &svt_enc->enc_params);
|
||||
+#else
|
||||
svt_ret = svt_av1_enc_init_handle(&svt_enc->svt_handle, svt_enc, &svt_enc->enc_params);
|
||||
+#endif
|
||||
if (svt_ret != EB_ErrorNone) {
|
||||
return svt_print_error(avctx, svt_ret, "Error initializing encoder handle");
|
||||
}
|
||||
--
|
||||
2.48.1
|
||||
|
992
0001-avcodec-tests-rename-the-bundled-Mesa-AV1-vulkan-vid.patch
Normal file
992
0001-avcodec-tests-rename-the-bundled-Mesa-AV1-vulkan-vid.patch
Normal file
@ -0,0 +1,992 @@
|
||||
From e06ce6d2b45edac4a2df04f304e18d4727417d24 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= <jeebjp@gmail.com>
|
||||
Date: Wed, 14 Feb 2024 22:40:54 +0200
|
||||
Subject: [PATCH] {avcodec,tests}: rename the bundled Mesa AV1 vulkan video
|
||||
headers
|
||||
|
||||
This together with adjusting the inclusion define allows for the
|
||||
build to not fail with latest Vulkan-Headers that contain the
|
||||
stabilized Vulkan AV1 decoding definitions.
|
||||
|
||||
Compilation fails currently as the AV1 header is getting included
|
||||
via hwcontext_vulkan.h -> <vulkan/vulkan.h> -> vulkan_core.h, which
|
||||
finally includes vk_video/vulkan_video_codec_av1std.h and the decode
|
||||
header, leading to the bundled header to never defining anything
|
||||
due to the inclusion define being the same.
|
||||
|
||||
This fix is imperfect, as it leads to additional re-definition
|
||||
warnings for things such as
|
||||
VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION. , but it is
|
||||
not clear how to otherwise have the bundled version trump the
|
||||
actually standardized one for a short-term compilation fix.
|
||||
---
|
||||
libavcodec/Makefile | 4 +-
|
||||
libavcodec/vulkan_video.h | 4 +-
|
||||
libavcodec/vulkan_video_codec_av1std.h | 403 ------------------
|
||||
libavcodec/vulkan_video_codec_av1std_decode.h | 36 --
|
||||
.../vulkan_video_codec_av1std_decode_mesa.h | 36 ++
|
||||
libavcodec/vulkan_video_codec_av1std_mesa.h | 403 ++++++++++++++++++
|
||||
tests/ref/fate/source | 4 +-
|
||||
7 files changed, 445 insertions(+), 445 deletions(-)
|
||||
delete mode 100644 libavcodec/vulkan_video_codec_av1std.h
|
||||
delete mode 100644 libavcodec/vulkan_video_codec_av1std_decode.h
|
||||
create mode 100644 libavcodec/vulkan_video_codec_av1std_decode_mesa.h
|
||||
create mode 100644 libavcodec/vulkan_video_codec_av1std_mesa.h
|
||||
|
||||
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
|
||||
index 470d7cb9b1..09ae5270b3 100644
|
||||
--- a/libavcodec/Makefile
|
||||
+++ b/libavcodec/Makefile
|
||||
@@ -1262,7 +1262,7 @@ SKIPHEADERS += %_tablegen.h \
|
||||
aacenc_quantization.h \
|
||||
aacenc_quantization_misc.h \
|
||||
bitstream_template.h \
|
||||
- vulkan_video_codec_av1std.h \
|
||||
+ vulkan_video_codec_av1std_mesa.h \
|
||||
$(ARCH)/vpx_arith.h \
|
||||
|
||||
SKIPHEADERS-$(CONFIG_AMF) += amfenc.h
|
||||
@@ -1285,7 +1285,7 @@ SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h
|
||||
SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_decode.h vaapi_hevc.h vaapi_encode.h
|
||||
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
|
||||
SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX) += videotoolbox.h vt_internal.h
|
||||
-SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode.h
|
||||
+SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode_mesa.h
|
||||
SKIPHEADERS-$(CONFIG_V4L2_M2M) += v4l2_buffers.h v4l2_context.h v4l2_m2m.h
|
||||
SKIPHEADERS-$(CONFIG_ZLIB) += zlib_wrapper.h
|
||||
|
||||
diff --git a/libavcodec/vulkan_video.h b/libavcodec/vulkan_video.h
|
||||
index b28e3fe0bd..51f44dd543 100644
|
||||
--- a/libavcodec/vulkan_video.h
|
||||
+++ b/libavcodec/vulkan_video.h
|
||||
@@ -23,8 +23,8 @@
|
||||
#include "vulkan.h"
|
||||
|
||||
#include <vk_video/vulkan_video_codecs_common.h>
|
||||
-#include "vulkan_video_codec_av1std.h"
|
||||
-#include "vulkan_video_codec_av1std_decode.h"
|
||||
+#include "vulkan_video_codec_av1std_mesa.h"
|
||||
+#include "vulkan_video_codec_av1std_decode_mesa.h"
|
||||
|
||||
#define CODEC_VER_MAJ(ver) (ver >> 22)
|
||||
#define CODEC_VER_MIN(ver) ((ver >> 12) & ((1 << 10) - 1))
|
||||
diff --git a/libavcodec/vulkan_video_codec_av1std.h b/libavcodec/vulkan_video_codec_av1std.h
|
||||
deleted file mode 100644
|
||||
index c46236c457..0000000000
|
||||
--- a/libavcodec/vulkan_video_codec_av1std.h
|
||||
+++ /dev/null
|
||||
@@ -1,403 +0,0 @@
|
||||
-/* Copyright 2023 Lynne
|
||||
- * Copyright 2023 Dave Airlie
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_
|
||||
-#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1
|
||||
-
|
||||
-/*
|
||||
-** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
|
||||
-**
|
||||
-*/
|
||||
-
|
||||
-#ifdef __cplusplus
|
||||
-extern "C" {
|
||||
-#endif
|
||||
-#define vulkan_video_codec_av1std 1
|
||||
-
|
||||
-#define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
|
||||
- ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
|
||||
-#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_0_1_0 VK_MAKE_VIDEO_STD_VERSION(0, 1, 0)
|
||||
-#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_0_1_0
|
||||
-#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_av1_decode"
|
||||
-
|
||||
-typedef enum StdVideoAV1MESAProfile {
|
||||
- STD_VIDEO_AV1_MESA_PROFILE_MAIN = 0,
|
||||
- STD_VIDEO_AV1_MESA_PROFILE_HIGH = 1,
|
||||
- STD_VIDEO_AV1_MESA_PROFILE_PROFESSIONAL = 2,
|
||||
-} StdVideoAV1MESAProfile;
|
||||
-
|
||||
-typedef enum StdVideoAV1MESALevel {
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_2_0 = 0,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_2_1 = 1,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_2_2 = 2,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_2_3 = 3,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_3_0 = 4,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_3_1 = 5,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_3_2 = 6,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_3_3 = 7,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_4_0 = 8,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_4_1 = 9,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_4_2 = 10,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_4_3 = 11,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_5_0 = 12,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_5_1 = 13,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_5_2 = 14,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_5_3 = 15,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_6_0 = 16,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_6_1 = 17,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_6_2 = 18,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_6_3 = 19,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_7_0 = 20,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_7_1 = 21,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_7_2 = 22,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_7_3 = 23,
|
||||
- STD_VIDEO_AV1_MESA_LEVEL_MAX = 31,
|
||||
-} StdVideoAV1MESALevel;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAFilmGrainFlags {
|
||||
- uint8_t apply_grain;
|
||||
- uint8_t chroma_scaling_from_luma;
|
||||
- uint8_t overlap_flag;
|
||||
- uint8_t clip_to_restricted_range;
|
||||
-} StdVideoAV1MESAFilmGrainFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAFilmGrainParameters {
|
||||
- StdVideoAV1MESAFilmGrainFlags flags;
|
||||
- uint32_t grain_scaling_minus_8;
|
||||
- uint32_t ar_coeff_lag;
|
||||
- uint32_t ar_coeff_shift_minus_6;
|
||||
- uint32_t grain_scale_shift;
|
||||
-
|
||||
- uint16_t grain_seed;
|
||||
- uint8_t num_y_points;
|
||||
- uint8_t point_y_value[14];
|
||||
- uint8_t point_y_scaling[14];
|
||||
-
|
||||
- uint8_t num_cb_points;
|
||||
- uint8_t point_cb_value[10];
|
||||
- uint8_t point_cb_scaling[10];
|
||||
-
|
||||
- uint8_t num_cr_points;
|
||||
- uint8_t point_cr_value[10];
|
||||
- uint8_t point_cr_scaling[10];
|
||||
-
|
||||
- int8_t ar_coeffs_y_plus_128[24];
|
||||
- int8_t ar_coeffs_cb_plus_128[25];
|
||||
- int8_t ar_coeffs_cr_plus_128[25];
|
||||
- uint8_t cb_mult;
|
||||
- uint8_t cb_luma_mult;
|
||||
- uint16_t cb_offset;
|
||||
- uint8_t cr_mult;
|
||||
- uint8_t cr_luma_mult;
|
||||
- uint16_t cr_offset;
|
||||
-} StdVideoAV1MESAFilmGrainParameters;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAGlobalMotionFlags {
|
||||
- uint8_t gm_invalid;
|
||||
-} StdVideoAV1MESAGlobalMotionFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAGlobalMotion {
|
||||
- StdVideoAV1MESAGlobalMotionFlags flags;
|
||||
- uint8_t gm_type;
|
||||
- uint32_t gm_params[6];
|
||||
-} StdVideoAV1MESAGlobalMotion;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESALoopRestoration {
|
||||
- uint8_t lr_type[3];
|
||||
- uint8_t lr_unit_shift;
|
||||
- uint8_t lr_uv_shift;
|
||||
-} StdVideoAV1MESALoopRestoration;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESATileInfoFlags {
|
||||
- uint8_t uniform_tile_spacing_flag;
|
||||
-} StdVideoAV1MESATileInfoFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESATileInfo {
|
||||
- StdVideoAV1MESATileInfoFlags flags;
|
||||
- uint8_t tile_cols;
|
||||
- uint8_t tile_rows;
|
||||
- uint8_t tile_start_col_sb[64];
|
||||
- uint8_t tile_start_row_sb[64];
|
||||
- uint8_t width_in_sbs_minus_1[64];
|
||||
- uint8_t height_in_sbs_minus_1[64];
|
||||
- uint16_t context_update_tile_id;
|
||||
- uint8_t tile_size_bytes_minus1;
|
||||
-} StdVideoAV1MESATileInfo;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAQuantizationFlags {
|
||||
- uint8_t using_qmatrix;
|
||||
-} StdVideoAV1MESAQuantizationFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAQuantization {
|
||||
- StdVideoAV1MESAQuantizationFlags flags;
|
||||
- uint8_t base_q_idx;
|
||||
- int8_t delta_q_y_dc;
|
||||
- uint8_t diff_uv_delta;
|
||||
- int8_t delta_q_u_dc;
|
||||
- int8_t delta_q_u_ac;
|
||||
- int8_t delta_q_v_dc;
|
||||
- int8_t delta_q_v_ac;
|
||||
- uint8_t qm_y;
|
||||
- uint8_t qm_u;
|
||||
- uint8_t qm_v;
|
||||
-} StdVideoAV1MESAQuantization;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESACDEF {
|
||||
- uint8_t damping_minus_3;
|
||||
- uint8_t bits;
|
||||
- uint8_t y_pri_strength[8];
|
||||
- uint8_t y_sec_strength[8];
|
||||
- uint8_t uv_pri_strength[8];
|
||||
- uint8_t uv_sec_strength[8];
|
||||
-} StdVideoAV1MESACDEF;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESADeltaQFlags {
|
||||
- uint8_t delta_lf_present;
|
||||
- uint8_t delta_lf_multi;
|
||||
-} StdVideoAV1MESADeltaQFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESADeltaQ {
|
||||
- StdVideoAV1MESADeltaQFlags flags;
|
||||
- uint8_t delta_q_res;
|
||||
- uint8_t delta_lf_res;
|
||||
-} StdVideoAV1MESADeltaQ;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESASegmentationFlags {
|
||||
- uint8_t enabled;
|
||||
- uint8_t update_map;
|
||||
- uint8_t temporal_update;
|
||||
- uint8_t update_data;
|
||||
-} StdVideoAV1MESASegmentationFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESASegmentation {
|
||||
- StdVideoAV1MESASegmentationFlags flags;
|
||||
- uint8_t feature_enabled_bits[8];
|
||||
- int16_t feature_data[8][8];
|
||||
-} StdVideoAV1MESASegmentation;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESALoopFilterFlags {
|
||||
- uint8_t delta_enabled;
|
||||
- uint8_t delta_update;
|
||||
-} StdVideoAV1MESALoopFilterFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESALoopFilter {
|
||||
- StdVideoAV1MESALoopFilterFlags flags;
|
||||
- uint8_t level[4];
|
||||
- uint8_t sharpness;
|
||||
- int8_t ref_deltas[8];
|
||||
- int8_t mode_deltas[2];
|
||||
-} StdVideoAV1MESALoopFilter;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAFrameHeaderFlags {
|
||||
- uint8_t error_resilient_mode;
|
||||
- uint8_t disable_cdf_update;
|
||||
- uint8_t use_superres;
|
||||
- uint8_t render_and_frame_size_different;
|
||||
- uint8_t allow_screen_content_tools;
|
||||
- uint8_t is_filter_switchable;
|
||||
- uint8_t force_integer_mv;
|
||||
- uint8_t frame_size_override_flag;
|
||||
- uint8_t buffer_removal_time_present_flag;
|
||||
- uint8_t allow_intrabc;
|
||||
- uint8_t frame_refs_short_signaling;
|
||||
- uint8_t allow_high_precision_mv;
|
||||
- uint8_t is_motion_mode_switchable;
|
||||
- uint8_t use_ref_frame_mvs;
|
||||
- uint8_t disable_frame_end_update_cdf;
|
||||
- uint8_t allow_warped_motion;
|
||||
- uint8_t reduced_tx_set;
|
||||
- uint8_t reference_select;
|
||||
- uint8_t skip_mode_present;
|
||||
- uint8_t delta_q_present;
|
||||
- uint8_t UsesLr;
|
||||
-} StdVideoAV1MESAFrameHeaderFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAFrameHeader {
|
||||
- StdVideoAV1MESAFrameHeaderFlags flags;
|
||||
-
|
||||
- uint32_t frame_presentation_time;
|
||||
- uint32_t display_frame_id;
|
||||
- uint32_t current_frame_id;
|
||||
- uint8_t frame_to_show_map_idx;
|
||||
- uint8_t frame_type;
|
||||
- uint8_t order_hint;
|
||||
- uint8_t primary_ref_frame;
|
||||
- uint16_t frame_width_minus_1;
|
||||
- uint16_t frame_height_minus_1;
|
||||
- uint16_t render_width_minus_1;
|
||||
- uint16_t render_height_minus_1;
|
||||
- uint8_t coded_denom;
|
||||
-
|
||||
- uint8_t refresh_frame_flags;
|
||||
- uint8_t ref_order_hint[8];
|
||||
- int8_t ref_frame_idx[7];
|
||||
- uint32_t delta_frame_id_minus1[7];
|
||||
-
|
||||
- uint8_t interpolation_filter;
|
||||
- uint8_t tx_mode;
|
||||
-
|
||||
- StdVideoAV1MESATileInfo tiling;
|
||||
- StdVideoAV1MESAQuantization quantization;
|
||||
- StdVideoAV1MESASegmentation segmentation;
|
||||
- StdVideoAV1MESADeltaQ delta_q;
|
||||
- StdVideoAV1MESALoopFilter loop_filter;
|
||||
- StdVideoAV1MESACDEF cdef;
|
||||
- StdVideoAV1MESALoopRestoration lr;
|
||||
- StdVideoAV1MESAGlobalMotion global_motion[8]; // One per ref frame
|
||||
- StdVideoAV1MESAFilmGrainParameters film_grain;
|
||||
-} StdVideoAV1MESAFrameHeader;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAScreenCoding {
|
||||
- uint8_t seq_force_screen_content_tools;
|
||||
-} StdVideoAV1MESAScreenCoding;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESATimingInfoFlags {
|
||||
- uint8_t equal_picture_interval;
|
||||
-} StdVideoAV1MESATimingInfoFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESATimingInfo {
|
||||
- StdVideoAV1MESATimingInfoFlags flags;
|
||||
- uint32_t num_units_in_display_tick;
|
||||
- uint32_t time_scale;
|
||||
- uint32_t num_ticks_per_picture_minus_1;
|
||||
-} StdVideoAV1MESATimingInfo;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAColorConfigFlags {
|
||||
- uint8_t mono_chrome;
|
||||
- uint8_t color_range;
|
||||
- uint8_t separate_uv_delta_q;
|
||||
-} StdVideoAV1MESAColorConfigFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESAColorConfig {
|
||||
- StdVideoAV1MESAColorConfigFlags flags;
|
||||
- uint8_t bit_depth;
|
||||
- uint8_t subsampling_x;
|
||||
- uint8_t subsampling_y;
|
||||
-} StdVideoAV1MESAColorConfig;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESASequenceHeaderFlags {
|
||||
- uint8_t still_picture;
|
||||
- uint8_t reduced_still_picture_header;
|
||||
- uint8_t use_128x128_superblock;
|
||||
- uint8_t enable_filter_intra;
|
||||
- uint8_t enable_intra_edge_filter;
|
||||
- uint8_t enable_interintra_compound;
|
||||
- uint8_t enable_masked_compound;
|
||||
- uint8_t enable_warped_motion;
|
||||
- uint8_t enable_dual_filter;
|
||||
- uint8_t enable_order_hint;
|
||||
- uint8_t enable_jnt_comp;
|
||||
- uint8_t enable_ref_frame_mvs;
|
||||
- uint8_t frame_id_numbers_present_flag;
|
||||
- uint8_t enable_superres;
|
||||
- uint8_t enable_cdef;
|
||||
- uint8_t enable_restoration;
|
||||
- uint8_t film_grain_params_present;
|
||||
- uint8_t timing_info_present_flag;
|
||||
- uint8_t initial_display_delay_present_flag;
|
||||
-} StdVideoAV1MESASequenceHeaderFlags;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESASequenceHeader {
|
||||
- StdVideoAV1MESASequenceHeaderFlags flags;
|
||||
-
|
||||
- StdVideoAV1MESAProfile seq_profile;
|
||||
- uint8_t frame_width_bits_minus_1;
|
||||
- uint8_t frame_height_bits_minus_1;
|
||||
- uint16_t max_frame_width_minus_1;
|
||||
- uint16_t max_frame_height_minus_1;
|
||||
- uint8_t delta_frame_id_length_minus_2;
|
||||
- uint8_t additional_frame_id_length_minus_1;
|
||||
- uint8_t order_hint_bits_minus_1;
|
||||
- uint8_t seq_choose_integer_mv;
|
||||
- uint8_t seq_force_integer_mv;
|
||||
-
|
||||
- StdVideoAV1MESATimingInfo timing_info;
|
||||
- StdVideoAV1MESAColorConfig color_config;
|
||||
-} StdVideoAV1MESASequenceHeader;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESATile {
|
||||
- uint16_t tg_start;
|
||||
- uint16_t tg_end;
|
||||
- uint16_t row;
|
||||
- uint16_t column;
|
||||
- uint32_t size;
|
||||
- uint32_t offset;
|
||||
-} StdVideoAV1MESATile;
|
||||
-
|
||||
-typedef struct StdVideoAV1MESATileList {
|
||||
- StdVideoAV1MESATile *tile_list;
|
||||
- uint32_t nb_tiles;
|
||||
-} StdVideoAV1MESATileList;
|
||||
-
|
||||
-typedef struct VkVideoDecodeAV1PictureInfoMESA {
|
||||
- VkStructureType sType;
|
||||
- const void *pNext;
|
||||
- StdVideoAV1MESAFrameHeader *frame_header;
|
||||
- StdVideoAV1MESATileList *tile_list;
|
||||
- uint8_t skip_mode_frame_idx[2];
|
||||
-} VkVideoDecodeAV1PictureInfoMESA;
|
||||
-
|
||||
-typedef struct VkVideoDecodeAV1DpbSlotInfoMESA {
|
||||
- VkStructureType sType;
|
||||
- const void *pNext;
|
||||
- uint8_t frameIdx;
|
||||
- uint8_t ref_order_hint[7];
|
||||
- uint8_t disable_frame_end_update_cdf;
|
||||
-} VkVideoDecodeAV1DpbSlotInfoMESA;
|
||||
-
|
||||
-typedef struct VkVideoDecodeAV1SessionParametersAddInfoMESA {
|
||||
- VkStructureType sType;
|
||||
- const void *pNext;
|
||||
- StdVideoAV1MESASequenceHeader *sequence_header;
|
||||
-} VkVideoDecodeAV1SessionParametersAddInfoMESA;
|
||||
-
|
||||
-typedef struct VkVideoDecodeAV1SessionParametersCreateInfoMESA {
|
||||
- VkStructureType sType;
|
||||
- const void *pNext;
|
||||
- const VkVideoDecodeAV1SessionParametersAddInfoMESA *pParametersAddInfo;
|
||||
-} VkVideoDecodeAV1SessionParametersCreateInfoMESA;
|
||||
-
|
||||
-typedef struct VkVideoDecodeAV1ProfileInfoMESA {
|
||||
- VkStructureType sType;
|
||||
- const void *pNext;
|
||||
- StdVideoAV1MESAProfile stdProfileIdc;
|
||||
-} VkVideoDecodeAV1ProfileInfoMESA;
|
||||
-
|
||||
-typedef enum VkVideoDecodeAV1CapabilityFlagBitsMESA {
|
||||
- VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA = 0x00000001,
|
||||
- VK_VIDEO_DECODE_AV1_CAPABILITY_FLAG_BITS_MAX_ENUM_MESA = 0x7FFFFFFF
|
||||
-} VkVideoDecodeAV1CapabilityFlagBitsMESA;
|
||||
-typedef VkFlags VkVideoDecodeAV1CapabilityFlagsMESA;
|
||||
-
|
||||
-typedef struct VkVideoDecodeAV1CapabilitiesMESA {
|
||||
- VkStructureType sType;
|
||||
- const void *pNext;
|
||||
- VkVideoDecodeAV1CapabilityFlagsMESA flags;
|
||||
- StdVideoAV1MESALevel maxLevelIdc;
|
||||
-} VkVideoDecodeAV1CapabilitiesMESA;
|
||||
-
|
||||
-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_MESA 1000509000
|
||||
-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA 1000509001
|
||||
-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_ADD_INFO_MESA 1000509002
|
||||
-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_MESA 1000509003
|
||||
-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA 1000509004
|
||||
-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA 1000509005
|
||||
-
|
||||
-#ifdef __cplusplus
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
-#endif
|
||||
diff --git a/libavcodec/vulkan_video_codec_av1std_decode.h b/libavcodec/vulkan_video_codec_av1std_decode.h
|
||||
deleted file mode 100644
|
||||
index a697c00593..0000000000
|
||||
--- a/libavcodec/vulkan_video_codec_av1std_decode.h
|
||||
+++ /dev/null
|
||||
@@ -1,36 +0,0 @@
|
||||
-/* Copyright 2023 Lynne
|
||||
- * Copyright 2023 Dave Airlie
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_
|
||||
-#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1
|
||||
-
|
||||
-/*
|
||||
-** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
|
||||
-**
|
||||
-*/
|
||||
-
|
||||
-#ifdef __cplusplus
|
||||
-extern "C" {
|
||||
-#endif
|
||||
-#define vulkan_video_codec_av1std_decode 1
|
||||
-
|
||||
-
|
||||
-
|
||||
-#ifdef __cplusplus
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
-#endif
|
||||
diff --git a/libavcodec/vulkan_video_codec_av1std_decode_mesa.h b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h
|
||||
new file mode 100644
|
||||
index 0000000000..e2f37b4e6e
|
||||
--- /dev/null
|
||||
+++ b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h
|
||||
@@ -0,0 +1,36 @@
|
||||
+/* Copyright 2023 Lynne
|
||||
+ * Copyright 2023 Dave Airlie
|
||||
+ *
|
||||
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+ * you may not use this file except in compliance with the License.
|
||||
+ * You may obtain a copy of the License at
|
||||
+ *
|
||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
+ *
|
||||
+ * Unless required by applicable law or agreed to in writing, software
|
||||
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ * See the License for the specific language governing permissions and
|
||||
+ * limitations under the License.
|
||||
+ */
|
||||
+
|
||||
+#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_
|
||||
+#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ 1
|
||||
+
|
||||
+/*
|
||||
+** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
|
||||
+**
|
||||
+*/
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
+#define vulkan_video_codec_av1std_decode 1
|
||||
+
|
||||
+
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#endif
|
||||
diff --git a/libavcodec/vulkan_video_codec_av1std_mesa.h b/libavcodec/vulkan_video_codec_av1std_mesa.h
|
||||
new file mode 100644
|
||||
index 0000000000..c91589eee2
|
||||
--- /dev/null
|
||||
+++ b/libavcodec/vulkan_video_codec_av1std_mesa.h
|
||||
@@ -0,0 +1,403 @@
|
||||
+/* Copyright 2023 Lynne
|
||||
+ * Copyright 2023 Dave Airlie
|
||||
+ *
|
||||
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+ * you may not use this file except in compliance with the License.
|
||||
+ * You may obtain a copy of the License at
|
||||
+ *
|
||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
+ *
|
||||
+ * Unless required by applicable law or agreed to in writing, software
|
||||
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ * See the License for the specific language governing permissions and
|
||||
+ * limitations under the License.
|
||||
+ */
|
||||
+
|
||||
+#ifndef VULKAN_VIDEO_CODEC_AV1STD_MESA_H_
|
||||
+#define VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ 1
|
||||
+
|
||||
+/*
|
||||
+** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
|
||||
+**
|
||||
+*/
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
+#define vulkan_video_codec_av1std 1
|
||||
+
|
||||
+#define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
|
||||
+ ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
|
||||
+#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_0_1_0 VK_MAKE_VIDEO_STD_VERSION(0, 1, 0)
|
||||
+#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_0_1_0
|
||||
+#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_av1_decode"
|
||||
+
|
||||
+typedef enum StdVideoAV1MESAProfile {
|
||||
+ STD_VIDEO_AV1_MESA_PROFILE_MAIN = 0,
|
||||
+ STD_VIDEO_AV1_MESA_PROFILE_HIGH = 1,
|
||||
+ STD_VIDEO_AV1_MESA_PROFILE_PROFESSIONAL = 2,
|
||||
+} StdVideoAV1MESAProfile;
|
||||
+
|
||||
+typedef enum StdVideoAV1MESALevel {
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_2_0 = 0,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_2_1 = 1,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_2_2 = 2,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_2_3 = 3,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_3_0 = 4,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_3_1 = 5,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_3_2 = 6,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_3_3 = 7,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_4_0 = 8,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_4_1 = 9,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_4_2 = 10,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_4_3 = 11,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_5_0 = 12,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_5_1 = 13,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_5_2 = 14,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_5_3 = 15,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_6_0 = 16,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_6_1 = 17,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_6_2 = 18,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_6_3 = 19,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_7_0 = 20,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_7_1 = 21,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_7_2 = 22,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_7_3 = 23,
|
||||
+ STD_VIDEO_AV1_MESA_LEVEL_MAX = 31,
|
||||
+} StdVideoAV1MESALevel;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAFilmGrainFlags {
|
||||
+ uint8_t apply_grain;
|
||||
+ uint8_t chroma_scaling_from_luma;
|
||||
+ uint8_t overlap_flag;
|
||||
+ uint8_t clip_to_restricted_range;
|
||||
+} StdVideoAV1MESAFilmGrainFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAFilmGrainParameters {
|
||||
+ StdVideoAV1MESAFilmGrainFlags flags;
|
||||
+ uint32_t grain_scaling_minus_8;
|
||||
+ uint32_t ar_coeff_lag;
|
||||
+ uint32_t ar_coeff_shift_minus_6;
|
||||
+ uint32_t grain_scale_shift;
|
||||
+
|
||||
+ uint16_t grain_seed;
|
||||
+ uint8_t num_y_points;
|
||||
+ uint8_t point_y_value[14];
|
||||
+ uint8_t point_y_scaling[14];
|
||||
+
|
||||
+ uint8_t num_cb_points;
|
||||
+ uint8_t point_cb_value[10];
|
||||
+ uint8_t point_cb_scaling[10];
|
||||
+
|
||||
+ uint8_t num_cr_points;
|
||||
+ uint8_t point_cr_value[10];
|
||||
+ uint8_t point_cr_scaling[10];
|
||||
+
|
||||
+ int8_t ar_coeffs_y_plus_128[24];
|
||||
+ int8_t ar_coeffs_cb_plus_128[25];
|
||||
+ int8_t ar_coeffs_cr_plus_128[25];
|
||||
+ uint8_t cb_mult;
|
||||
+ uint8_t cb_luma_mult;
|
||||
+ uint16_t cb_offset;
|
||||
+ uint8_t cr_mult;
|
||||
+ uint8_t cr_luma_mult;
|
||||
+ uint16_t cr_offset;
|
||||
+} StdVideoAV1MESAFilmGrainParameters;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAGlobalMotionFlags {
|
||||
+ uint8_t gm_invalid;
|
||||
+} StdVideoAV1MESAGlobalMotionFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAGlobalMotion {
|
||||
+ StdVideoAV1MESAGlobalMotionFlags flags;
|
||||
+ uint8_t gm_type;
|
||||
+ uint32_t gm_params[6];
|
||||
+} StdVideoAV1MESAGlobalMotion;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESALoopRestoration {
|
||||
+ uint8_t lr_type[3];
|
||||
+ uint8_t lr_unit_shift;
|
||||
+ uint8_t lr_uv_shift;
|
||||
+} StdVideoAV1MESALoopRestoration;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESATileInfoFlags {
|
||||
+ uint8_t uniform_tile_spacing_flag;
|
||||
+} StdVideoAV1MESATileInfoFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESATileInfo {
|
||||
+ StdVideoAV1MESATileInfoFlags flags;
|
||||
+ uint8_t tile_cols;
|
||||
+ uint8_t tile_rows;
|
||||
+ uint8_t tile_start_col_sb[64];
|
||||
+ uint8_t tile_start_row_sb[64];
|
||||
+ uint8_t width_in_sbs_minus_1[64];
|
||||
+ uint8_t height_in_sbs_minus_1[64];
|
||||
+ uint16_t context_update_tile_id;
|
||||
+ uint8_t tile_size_bytes_minus1;
|
||||
+} StdVideoAV1MESATileInfo;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAQuantizationFlags {
|
||||
+ uint8_t using_qmatrix;
|
||||
+} StdVideoAV1MESAQuantizationFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAQuantization {
|
||||
+ StdVideoAV1MESAQuantizationFlags flags;
|
||||
+ uint8_t base_q_idx;
|
||||
+ int8_t delta_q_y_dc;
|
||||
+ uint8_t diff_uv_delta;
|
||||
+ int8_t delta_q_u_dc;
|
||||
+ int8_t delta_q_u_ac;
|
||||
+ int8_t delta_q_v_dc;
|
||||
+ int8_t delta_q_v_ac;
|
||||
+ uint8_t qm_y;
|
||||
+ uint8_t qm_u;
|
||||
+ uint8_t qm_v;
|
||||
+} StdVideoAV1MESAQuantization;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESACDEF {
|
||||
+ uint8_t damping_minus_3;
|
||||
+ uint8_t bits;
|
||||
+ uint8_t y_pri_strength[8];
|
||||
+ uint8_t y_sec_strength[8];
|
||||
+ uint8_t uv_pri_strength[8];
|
||||
+ uint8_t uv_sec_strength[8];
|
||||
+} StdVideoAV1MESACDEF;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESADeltaQFlags {
|
||||
+ uint8_t delta_lf_present;
|
||||
+ uint8_t delta_lf_multi;
|
||||
+} StdVideoAV1MESADeltaQFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESADeltaQ {
|
||||
+ StdVideoAV1MESADeltaQFlags flags;
|
||||
+ uint8_t delta_q_res;
|
||||
+ uint8_t delta_lf_res;
|
||||
+} StdVideoAV1MESADeltaQ;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESASegmentationFlags {
|
||||
+ uint8_t enabled;
|
||||
+ uint8_t update_map;
|
||||
+ uint8_t temporal_update;
|
||||
+ uint8_t update_data;
|
||||
+} StdVideoAV1MESASegmentationFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESASegmentation {
|
||||
+ StdVideoAV1MESASegmentationFlags flags;
|
||||
+ uint8_t feature_enabled_bits[8];
|
||||
+ int16_t feature_data[8][8];
|
||||
+} StdVideoAV1MESASegmentation;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESALoopFilterFlags {
|
||||
+ uint8_t delta_enabled;
|
||||
+ uint8_t delta_update;
|
||||
+} StdVideoAV1MESALoopFilterFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESALoopFilter {
|
||||
+ StdVideoAV1MESALoopFilterFlags flags;
|
||||
+ uint8_t level[4];
|
||||
+ uint8_t sharpness;
|
||||
+ int8_t ref_deltas[8];
|
||||
+ int8_t mode_deltas[2];
|
||||
+} StdVideoAV1MESALoopFilter;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAFrameHeaderFlags {
|
||||
+ uint8_t error_resilient_mode;
|
||||
+ uint8_t disable_cdf_update;
|
||||
+ uint8_t use_superres;
|
||||
+ uint8_t render_and_frame_size_different;
|
||||
+ uint8_t allow_screen_content_tools;
|
||||
+ uint8_t is_filter_switchable;
|
||||
+ uint8_t force_integer_mv;
|
||||
+ uint8_t frame_size_override_flag;
|
||||
+ uint8_t buffer_removal_time_present_flag;
|
||||
+ uint8_t allow_intrabc;
|
||||
+ uint8_t frame_refs_short_signaling;
|
||||
+ uint8_t allow_high_precision_mv;
|
||||
+ uint8_t is_motion_mode_switchable;
|
||||
+ uint8_t use_ref_frame_mvs;
|
||||
+ uint8_t disable_frame_end_update_cdf;
|
||||
+ uint8_t allow_warped_motion;
|
||||
+ uint8_t reduced_tx_set;
|
||||
+ uint8_t reference_select;
|
||||
+ uint8_t skip_mode_present;
|
||||
+ uint8_t delta_q_present;
|
||||
+ uint8_t UsesLr;
|
||||
+} StdVideoAV1MESAFrameHeaderFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAFrameHeader {
|
||||
+ StdVideoAV1MESAFrameHeaderFlags flags;
|
||||
+
|
||||
+ uint32_t frame_presentation_time;
|
||||
+ uint32_t display_frame_id;
|
||||
+ uint32_t current_frame_id;
|
||||
+ uint8_t frame_to_show_map_idx;
|
||||
+ uint8_t frame_type;
|
||||
+ uint8_t order_hint;
|
||||
+ uint8_t primary_ref_frame;
|
||||
+ uint16_t frame_width_minus_1;
|
||||
+ uint16_t frame_height_minus_1;
|
||||
+ uint16_t render_width_minus_1;
|
||||
+ uint16_t render_height_minus_1;
|
||||
+ uint8_t coded_denom;
|
||||
+
|
||||
+ uint8_t refresh_frame_flags;
|
||||
+ uint8_t ref_order_hint[8];
|
||||
+ int8_t ref_frame_idx[7];
|
||||
+ uint32_t delta_frame_id_minus1[7];
|
||||
+
|
||||
+ uint8_t interpolation_filter;
|
||||
+ uint8_t tx_mode;
|
||||
+
|
||||
+ StdVideoAV1MESATileInfo tiling;
|
||||
+ StdVideoAV1MESAQuantization quantization;
|
||||
+ StdVideoAV1MESASegmentation segmentation;
|
||||
+ StdVideoAV1MESADeltaQ delta_q;
|
||||
+ StdVideoAV1MESALoopFilter loop_filter;
|
||||
+ StdVideoAV1MESACDEF cdef;
|
||||
+ StdVideoAV1MESALoopRestoration lr;
|
||||
+ StdVideoAV1MESAGlobalMotion global_motion[8]; // One per ref frame
|
||||
+ StdVideoAV1MESAFilmGrainParameters film_grain;
|
||||
+} StdVideoAV1MESAFrameHeader;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAScreenCoding {
|
||||
+ uint8_t seq_force_screen_content_tools;
|
||||
+} StdVideoAV1MESAScreenCoding;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESATimingInfoFlags {
|
||||
+ uint8_t equal_picture_interval;
|
||||
+} StdVideoAV1MESATimingInfoFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESATimingInfo {
|
||||
+ StdVideoAV1MESATimingInfoFlags flags;
|
||||
+ uint32_t num_units_in_display_tick;
|
||||
+ uint32_t time_scale;
|
||||
+ uint32_t num_ticks_per_picture_minus_1;
|
||||
+} StdVideoAV1MESATimingInfo;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAColorConfigFlags {
|
||||
+ uint8_t mono_chrome;
|
||||
+ uint8_t color_range;
|
||||
+ uint8_t separate_uv_delta_q;
|
||||
+} StdVideoAV1MESAColorConfigFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESAColorConfig {
|
||||
+ StdVideoAV1MESAColorConfigFlags flags;
|
||||
+ uint8_t bit_depth;
|
||||
+ uint8_t subsampling_x;
|
||||
+ uint8_t subsampling_y;
|
||||
+} StdVideoAV1MESAColorConfig;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESASequenceHeaderFlags {
|
||||
+ uint8_t still_picture;
|
||||
+ uint8_t reduced_still_picture_header;
|
||||
+ uint8_t use_128x128_superblock;
|
||||
+ uint8_t enable_filter_intra;
|
||||
+ uint8_t enable_intra_edge_filter;
|
||||
+ uint8_t enable_interintra_compound;
|
||||
+ uint8_t enable_masked_compound;
|
||||
+ uint8_t enable_warped_motion;
|
||||
+ uint8_t enable_dual_filter;
|
||||
+ uint8_t enable_order_hint;
|
||||
+ uint8_t enable_jnt_comp;
|
||||
+ uint8_t enable_ref_frame_mvs;
|
||||
+ uint8_t frame_id_numbers_present_flag;
|
||||
+ uint8_t enable_superres;
|
||||
+ uint8_t enable_cdef;
|
||||
+ uint8_t enable_restoration;
|
||||
+ uint8_t film_grain_params_present;
|
||||
+ uint8_t timing_info_present_flag;
|
||||
+ uint8_t initial_display_delay_present_flag;
|
||||
+} StdVideoAV1MESASequenceHeaderFlags;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESASequenceHeader {
|
||||
+ StdVideoAV1MESASequenceHeaderFlags flags;
|
||||
+
|
||||
+ StdVideoAV1MESAProfile seq_profile;
|
||||
+ uint8_t frame_width_bits_minus_1;
|
||||
+ uint8_t frame_height_bits_minus_1;
|
||||
+ uint16_t max_frame_width_minus_1;
|
||||
+ uint16_t max_frame_height_minus_1;
|
||||
+ uint8_t delta_frame_id_length_minus_2;
|
||||
+ uint8_t additional_frame_id_length_minus_1;
|
||||
+ uint8_t order_hint_bits_minus_1;
|
||||
+ uint8_t seq_choose_integer_mv;
|
||||
+ uint8_t seq_force_integer_mv;
|
||||
+
|
||||
+ StdVideoAV1MESATimingInfo timing_info;
|
||||
+ StdVideoAV1MESAColorConfig color_config;
|
||||
+} StdVideoAV1MESASequenceHeader;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESATile {
|
||||
+ uint16_t tg_start;
|
||||
+ uint16_t tg_end;
|
||||
+ uint16_t row;
|
||||
+ uint16_t column;
|
||||
+ uint32_t size;
|
||||
+ uint32_t offset;
|
||||
+} StdVideoAV1MESATile;
|
||||
+
|
||||
+typedef struct StdVideoAV1MESATileList {
|
||||
+ StdVideoAV1MESATile *tile_list;
|
||||
+ uint32_t nb_tiles;
|
||||
+} StdVideoAV1MESATileList;
|
||||
+
|
||||
+typedef struct VkVideoDecodeAV1PictureInfoMESA {
|
||||
+ VkStructureType sType;
|
||||
+ const void *pNext;
|
||||
+ StdVideoAV1MESAFrameHeader *frame_header;
|
||||
+ StdVideoAV1MESATileList *tile_list;
|
||||
+ uint8_t skip_mode_frame_idx[2];
|
||||
+} VkVideoDecodeAV1PictureInfoMESA;
|
||||
+
|
||||
+typedef struct VkVideoDecodeAV1DpbSlotInfoMESA {
|
||||
+ VkStructureType sType;
|
||||
+ const void *pNext;
|
||||
+ uint8_t frameIdx;
|
||||
+ uint8_t ref_order_hint[7];
|
||||
+ uint8_t disable_frame_end_update_cdf;
|
||||
+} VkVideoDecodeAV1DpbSlotInfoMESA;
|
||||
+
|
||||
+typedef struct VkVideoDecodeAV1SessionParametersAddInfoMESA {
|
||||
+ VkStructureType sType;
|
||||
+ const void *pNext;
|
||||
+ StdVideoAV1MESASequenceHeader *sequence_header;
|
||||
+} VkVideoDecodeAV1SessionParametersAddInfoMESA;
|
||||
+
|
||||
+typedef struct VkVideoDecodeAV1SessionParametersCreateInfoMESA {
|
||||
+ VkStructureType sType;
|
||||
+ const void *pNext;
|
||||
+ const VkVideoDecodeAV1SessionParametersAddInfoMESA *pParametersAddInfo;
|
||||
+} VkVideoDecodeAV1SessionParametersCreateInfoMESA;
|
||||
+
|
||||
+typedef struct VkVideoDecodeAV1ProfileInfoMESA {
|
||||
+ VkStructureType sType;
|
||||
+ const void *pNext;
|
||||
+ StdVideoAV1MESAProfile stdProfileIdc;
|
||||
+} VkVideoDecodeAV1ProfileInfoMESA;
|
||||
+
|
||||
+typedef enum VkVideoDecodeAV1CapabilityFlagBitsMESA {
|
||||
+ VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA = 0x00000001,
|
||||
+ VK_VIDEO_DECODE_AV1_CAPABILITY_FLAG_BITS_MAX_ENUM_MESA = 0x7FFFFFFF
|
||||
+} VkVideoDecodeAV1CapabilityFlagBitsMESA;
|
||||
+typedef VkFlags VkVideoDecodeAV1CapabilityFlagsMESA;
|
||||
+
|
||||
+typedef struct VkVideoDecodeAV1CapabilitiesMESA {
|
||||
+ VkStructureType sType;
|
||||
+ const void *pNext;
|
||||
+ VkVideoDecodeAV1CapabilityFlagsMESA flags;
|
||||
+ StdVideoAV1MESALevel maxLevelIdc;
|
||||
+} VkVideoDecodeAV1CapabilitiesMESA;
|
||||
+
|
||||
+#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_MESA 1000509000
|
||||
+#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA 1000509001
|
||||
+#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_ADD_INFO_MESA 1000509002
|
||||
+#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_MESA 1000509003
|
||||
+#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA 1000509004
|
||||
+#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA 1000509005
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#endif
|
||||
diff --git a/tests/ref/fate/source b/tests/ref/fate/source
|
||||
index c575789dd5..8bb58b61f1 100644
|
||||
--- a/tests/ref/fate/source
|
||||
+++ b/tests/ref/fate/source
|
||||
@@ -23,8 +23,8 @@ compat/djgpp/math.h
|
||||
compat/float/float.h
|
||||
compat/float/limits.h
|
||||
libavcodec/bitstream_template.h
|
||||
-libavcodec/vulkan_video_codec_av1std.h
|
||||
-libavcodec/vulkan_video_codec_av1std_decode.h
|
||||
+libavcodec/vulkan_video_codec_av1std_decode_mesa.h
|
||||
+libavcodec/vulkan_video_codec_av1std_mesa.h
|
||||
tools/decode_simple.h
|
||||
Use of av_clip() where av_clip_uintp2() could be used:
|
||||
Use of av_clip() where av_clip_intp2() could be used:
|
||||
--
|
||||
2.44.0
|
||||
|
@ -1,32 +0,0 @@
|
||||
From 4065ff69a2ed49872f8694a03d0642b18c9d977c Mon Sep 17 00:00:00 2001
|
||||
From: Jiasheng Jiang <jiashengjiangcool@outlook.com>
|
||||
Date: Mon, 10 Jun 2024 14:18:11 +0000
|
||||
Subject: [PATCH] avcodec/mpegvideo_enc: Add check for
|
||||
av_packet_new_side_data()
|
||||
|
||||
Add check for av_packet_new_side_data() to avoid null pointer
|
||||
dereference if allocation fails.
|
||||
|
||||
Fixes: bdc1220eeb ("h263enc: Add an option for outputting info about MBs as side data")
|
||||
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@outlook.com>
|
||||
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
||||
---
|
||||
libavcodec/mpegvideo_enc.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
|
||||
index 620ca08869..d33754d115 100644
|
||||
--- a/libavcodec/mpegvideo_enc.c
|
||||
+++ b/libavcodec/mpegvideo_enc.c
|
||||
@@ -1825,6 +1825,8 @@ int ff_mpv_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
|
||||
s->mb_info_ptr = av_packet_new_side_data(pkt,
|
||||
AV_PKT_DATA_H263_MB_INFO,
|
||||
s->mb_width*s->mb_height*12);
|
||||
+ if (!s->mb_info_ptr)
|
||||
+ return AVERROR(ENOMEM);
|
||||
s->prev_mb_info = s->last_mb_info = s->mb_info_size = 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
25
ffmpeg-6-CVE-2024-32230.patch
Normal file
25
ffmpeg-6-CVE-2024-32230.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 96449cfeaeb95fcfd7a2b8d9ccf7719e97471ed1
|
||||
Author: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Mon Apr 8 18:38:42 2024 +0200
|
||||
Subject: avcodec/mpegvideo_enc: Fix 1 line and one column images
|
||||
References: CVE-2024-32230
|
||||
References: bsc#1227296
|
||||
Upstream: Backport from upstream
|
||||
|
||||
Fixes: Ticket10952
|
||||
Fixes: poc21ffmpeg
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
|
||||
--- ffmpeg-6.1.1/libavcodec/mpegvideo_enc.c 2023-12-31 08:07:26.000000000 +0800
|
||||
+++ ffmpeg-6.1.1_new/libavcodec/mpegvideo_enc.c 2024-07-05 18:08:49.827035281 +0800
|
||||
@@ -1198,8 +1198,8 @@
|
||||
int dst_stride = i ? s->uvlinesize : s->linesize;
|
||||
int h_shift = i ? s->chroma_x_shift : 0;
|
||||
int v_shift = i ? s->chroma_y_shift : 0;
|
||||
- int w = s->width >> h_shift;
|
||||
- int h = s->height >> v_shift;
|
||||
+ int w = AV_CEIL_RSHIFT(s->width , h_shift);
|
||||
+ int h = AV_CEIL_RSHIFT(s->height, v_shift);
|
||||
const uint8_t *src = pic_arg->data[i];
|
||||
uint8_t *dst = pic->f->data[i];
|
||||
int vpad = 16;
|
@ -1,57 +0,0 @@
|
||||
From ced5c5fdb8634d39ca9472a2026b2d2fea16c4e5 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
||||
Date: Mon, 25 Mar 2024 16:54:25 +0100
|
||||
Subject: [PATCH] fftools/ffmpeg_mux_init: Fix double-free on error
|
||||
|
||||
MATCH_PER_STREAM_OPT iterates over all options of a given
|
||||
OptionDef and tests whether they apply to the current stream;
|
||||
if so, they are set to ost->apad, otherwise, the code errors
|
||||
out. If no error happens, ost->apad is av_strdup'ed in order
|
||||
to take ownership of this pointer.
|
||||
|
||||
But this means that setting it originally was premature,
|
||||
as it leads to double-frees when an error happens lateron.
|
||||
This can simply be reproduced with
|
||||
ffmpeg -filter_complex anullsrc -apad bar -apad:n baz -f null -
|
||||
This is a regression since 83ace80bfd80fcdba2c65fa1d554923ea931d5bd.
|
||||
|
||||
Fix this by using a temporary variable instead of directly
|
||||
setting ost->apad. Also only strdup the string if it actually
|
||||
is != NULL.
|
||||
|
||||
Reviewed-by: Marth64 <marth64@proxyid.net>
|
||||
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
||||
---
|
||||
fftools/ffmpeg_mux_init.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c
|
||||
index 818d76acda..d3d7d022ff 100644
|
||||
--- a/fftools/ffmpeg_mux_init.c
|
||||
+++ b/fftools/ffmpeg_mux_init.c
|
||||
@@ -845,6 +845,7 @@
|
||||
int channels = 0;
|
||||
char *layout = NULL;
|
||||
char *sample_fmt = NULL;
|
||||
+ const char *apad = NULL;
|
||||
|
||||
MATCH_PER_STREAM_OPT(audio_channels, i, channels, oc, st);
|
||||
if (channels) {
|
||||
@@ -882,8 +883,12 @@
|
||||
|
||||
MATCH_PER_STREAM_OPT(audio_sample_rate, i, audio_enc->sample_rate, oc, st);
|
||||
|
||||
- MATCH_PER_STREAM_OPT(apad, str, ost->apad, oc, st);
|
||||
- ost->apad = av_strdup(ost->apad);
|
||||
+ MATCH_PER_STREAM_OPT(apad, str, apad, oc, st);
|
||||
+ if (apad) {
|
||||
+ ost->apad = av_strdup(apad);
|
||||
+ if (!ost->apad)
|
||||
+ return AVERROR(ENOMEM);
|
||||
+ }
|
||||
|
||||
#if FFMPEG_OPT_MAP_CHANNEL
|
||||
/* check for channel mapping for this audio stream */
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,36 +0,0 @@
|
||||
From 4513300989502090c4fd6560544dce399a8cd53c Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
||||
Date: Sun, 24 Sep 2023 13:15:48 +0200
|
||||
Subject: [PATCH] avcodec/rkmppdec: Fix double-free on error
|
||||
|
||||
After having created the AVBuffer that is put into frame->buf[0],
|
||||
ownership of several objects (namely an AVDRMFrameDescriptor,
|
||||
an MppFrame and some AVBufferRefs framecontextref and decoder_ref)
|
||||
has passed to the AVBuffer and therefore to the frame.
|
||||
Yet it has nevertheless been freed manually on error
|
||||
afterwards, which would lead to a double-free as soon
|
||||
as the AVFrame is unreferenced.
|
||||
|
||||
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
||||
---
|
||||
libavcodec/rkmppdec.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libavcodec/rkmppdec.c b/libavcodec/rkmppdec.c
|
||||
index 7665098c6a..6889545b20 100644
|
||||
--- a/libavcodec/rkmppdec.c
|
||||
+++ b/libavcodec/rkmppdec.c
|
||||
@@ -463,8 +463,8 @@ static int rkmpp_retrieve_frame(AVCodecContext *avctx, AVFrame *frame)
|
||||
|
||||
frame->hw_frames_ctx = av_buffer_ref(decoder->frames_ref);
|
||||
if (!frame->hw_frames_ctx) {
|
||||
- ret = AVERROR(ENOMEM);
|
||||
- goto fail;
|
||||
+ av_frame_unref(frame);
|
||||
+ return AVERROR(ENOMEM);
|
||||
}
|
||||
|
||||
return 0;
|
||||
--
|
||||
2.41.0
|
||||
|
29
ffmpeg-6-CVE-2024-7055.patch
Normal file
29
ffmpeg-6-CVE-2024-7055.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 3faadbe2a27e74ff5bb5f7904ec27bb1f5287dc8 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Thu, 18 Jul 2024 21:12:54 +0200
|
||||
Subject: [PATCH] avcodec/pnmdec: Use 64bit for input size check
|
||||
References: CVE-2024-7055
|
||||
References: bsc#1229026
|
||||
Upstream: Backport from upstream
|
||||
|
||||
Fixes: out of array read
|
||||
Fixes: poc3
|
||||
|
||||
Reported-by: VulDB CNA Team
|
||||
Found-by: CookedMelon
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavcodec/pnmdec.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- ffmpeg-6.1.1/libavcodec/pnmdec.c
|
||||
+++ ffmpeg-6.1.1_new/libavcodec/pnmdec.c
|
||||
@@ -264,7 +264,7 @@
|
||||
break;
|
||||
case AV_PIX_FMT_GBRPF32:
|
||||
if (!s->half) {
|
||||
- if (avctx->width * avctx->height * 12 > s->bytestream_end - s->bytestream)
|
||||
+ if (avctx->width * avctx->height * 12LL > s->bytestream_end - s->bytestream)
|
||||
return AVERROR_INVALIDDATA;
|
||||
scale = 1.f / s->scale;
|
||||
if (s->endian) {
|
@ -1,29 +0,0 @@
|
||||
From b5b6391d64807578ab872dc58fb8aa621dcfc38a Mon Sep 17 00:00:00 2001
|
||||
From: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Date: Mon, 6 Jan 2025 22:01:39 +0100
|
||||
Subject: [PATCH] avfilter/af_pan: Fix sscanf() use
|
||||
|
||||
Fixes: Memory Data Leak
|
||||
|
||||
Found-by: Simcha Kosman <simcha.kosman@cyberark.com>
|
||||
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
---
|
||||
libavfilter/af_pan.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libavfilter/af_pan.c b/libavfilter/af_pan.c
|
||||
index 0d20b0307b..5feb2439c7 100644
|
||||
--- a/libavfilter/af_pan.c
|
||||
+++ b/libavfilter/af_pan.c
|
||||
@@ -196,7 +196,7 @@ static av_cold int init(AVFilterContext *ctx)
|
||||
sign = 1;
|
||||
while (1) {
|
||||
gain = 1;
|
||||
- if (sscanf(arg, "%lf%n *%n", &gain, &len, &len))
|
||||
+ if (sscanf(arg, "%lf%n *%n", &gain, &len, &len) >= 1)
|
||||
arg += len;
|
||||
if (parse_channel_name(&arg, &in_ch_id, &named)){
|
||||
av_log(ctx, AV_LOG_ERROR,
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 1446e37d3d032e1452844778b3e6ba2c20f0c322 Mon Sep 17 00:00:00 2001
|
||||
From: James Almer <jamrial@gmail.com>
|
||||
Date: Mon, 30 Dec 2024 00:25:41 -0300
|
||||
Subject: [PATCH] avfilter/buffersrc: check for valid sample rate
|
||||
|
||||
A sample rate <= 0 is invalid.
|
||||
|
||||
Fixes an assert in ffmpeg_enc.c that assumed a valid sample rate would be set.
|
||||
Fixes ticket #11385.
|
||||
|
||||
Signed-off-by: James Almer <jamrial@gmail.com>
|
||||
---
|
||||
libavfilter/buffersrc.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c
|
||||
index bdf8b14451..c921803c67 100644
|
||||
--- a/libavfilter/buffersrc.c
|
||||
+++ b/libavfilter/buffersrc.c
|
||||
@@ -421,6 +421,11 @@ static av_cold int init_audio(AVFilterContext *ctx)
|
||||
av_channel_layout_describe(&s->ch_layout, buf, sizeof(buf));
|
||||
}
|
||||
|
||||
+ if (s->sample_rate <= 0) {
|
||||
+ av_log(ctx, AV_LOG_ERROR, "Sample rate not set\n");
|
||||
+ return AVERROR(EINVAL);
|
||||
+ }
|
||||
+
|
||||
if (!s->time_base.num)
|
||||
s->time_base = (AVRational){1, s->sample_rate};
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 7f9c7f9849a2155224711f0ff57ecdac6e4bfb57 Mon Sep 17 00:00:00 2001
|
||||
From: James Almer <jamrial@gmail.com>
|
||||
Date: Wed, 1 Jan 2025 23:58:39 -0300
|
||||
Subject: [PATCH] avcodec/jpeg2000dec: clear array length when freeing it
|
||||
|
||||
Fixes NULL pointer dereferences.
|
||||
Fixes ticket #11393.
|
||||
|
||||
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
|
||||
Signed-off-by: James Almer <jamrial@gmail.com>
|
||||
---
|
||||
libavcodec/jpeg2000dec.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
|
||||
index e5e897a29f..b82d85d5ee 100644
|
||||
--- a/libavcodec/jpeg2000dec.c
|
||||
+++ b/libavcodec/jpeg2000dec.c
|
||||
@@ -1521,6 +1521,7 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile,
|
||||
}
|
||||
}
|
||||
av_freep(&cblk->lengthinc);
|
||||
+ cblk->nb_lengthinc = 0;
|
||||
}
|
||||
}
|
||||
// Save state of stream
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,31 +0,0 @@
|
||||
From c08d300481b8ebb846cd43a473988fdbc6793d1b Mon Sep 17 00:00:00 2001
|
||||
From: James Almer <jamrial@gmail.com>
|
||||
Date: Fri, 17 Jan 2025 00:05:31 -0300
|
||||
Subject: [PATCH] avformat/avformat: also clear FFFormatContext packet queue
|
||||
when closing a muxer
|
||||
|
||||
packet_buffer is used in mux.c, and if a muxing process fails at a point where
|
||||
packets remained in said queue, they will leak.
|
||||
|
||||
Fixes ticket #11419
|
||||
|
||||
Signed-off-by: James Almer <jamrial@gmail.com>
|
||||
---
|
||||
libavformat/avformat.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libavformat/avformat.c b/libavformat/avformat.c
|
||||
index eb9afad837..3801ef5d58 100644
|
||||
--- a/libavformat/avformat.c
|
||||
+++ b/libavformat/avformat.c
|
||||
@@ -138,6 +138,7 @@
|
||||
av_dict_free(&si->id3v2_meta);
|
||||
av_packet_free(&si->pkt);
|
||||
av_packet_free(&si->parse_pkt);
|
||||
+ avpriv_packet_list_free(&si->packet_buffer);
|
||||
av_freep(&s->streams);
|
||||
ff_flush_packet_queue(s);
|
||||
av_freep(&s->url);
|
||||
--
|
||||
2.41.0
|
||||
|
BIN
ffmpeg-6.1.1.tar.xz
(Stored with Git LFS)
Normal file
BIN
ffmpeg-6.1.1.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
11
ffmpeg-6.1.1.tar.xz.asc
Normal file
11
ffmpeg-6.1.1.tar.xz.asc
Normal file
@ -0,0 +1,11 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQFMBAABCAA2FiEE/PmG6hXm4pOlZE8QtDIvBNZ2WNgFAmWQvW4YHGZmbXBlZy1k
|
||||
ZXZlbEBmZm1wZWcub3JnAAoJELQyLwTWdljYWJgH+wVyt5Var56jG1YL+2cr9XCQ
|
||||
E1pfyKEX4j23y4MtRhk/Oks1apqHZ3MtP+u/K+Z2nwqdUh8kMdczWBRqcSl/qxdr
|
||||
Ak2uFVwIIg4eF03XplWjIbOdMJACaWTz2vOyX9GjwTe6rckcGHBZXd41IzYnJHLh
|
||||
3pvxMp4TBxmiAjfrvzzMBFqgmD+WlmrYDqTsw1B1eq2OSNNjQzfd7VEy0+B/eQ13
|
||||
T0kIC2vh/N1OcJloYW5I1Cb8zUmLRFztoVL5JXR41jFYgPxjpjG1hjS/bEB47qXb
|
||||
7Kte43eesFaGWKBFYp8lU5IoIxuB9utXjPunZV8WVgVpslhptPLwe4EgBKeU1to=
|
||||
=BdLd
|
||||
-----END PGP SIGNATURE-----
|
BIN
ffmpeg-6.1.2.tar.xz
(Stored with Git LFS)
BIN
ffmpeg-6.1.2.tar.xz
(Stored with Git LFS)
Binary file not shown.
@ -1,11 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQFMBAABCgA2FiEE/PmG6hXm4pOlZE8QtDIvBNZ2WNgFAmasGfAYHGZmbXBlZy1k
|
||||
ZXZlbEBmZm1wZWcub3JnAAoJELQyLwTWdljYVNIIAJCu/Rkjme60byzLy95eLyH2
|
||||
3T5wptC9g8fuGCEDDt3D4bh958Cb4FZmQKMVZdwxWzaoFEkQ/3NavCNzFpHINrpz
|
||||
/gZxqytv7YEyKBXdvvS54FDK9TITj2PabKn2fhSv9NIU6IYPObjTG7wjt+ycVn32
|
||||
lVaxNFjKVm3C+8vzj5hUGK68MoMmXD5ltiUILAbSmtoCyUjhmo6gXiBmMnMn3QN1
|
||||
Ulpp8TGS0oQ+FDVC7vMAZcIVQ1dV1K4LlacppqvoxcJRAMuQWHGbI+3om+d50ZR0
|
||||
5VO3sS/lIXeVMNx5qoY4nM3q+HJS/AA0Ki3n8L+DUfusJNeHUOq2I9oNZiWE+AQ=
|
||||
=2l0q
|
||||
-----END PGP SIGNATURE-----
|
116
ffmpeg-6.changes
116
ffmpeg-6.changes
@ -1,80 +1,3 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 21 05:24:02 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2025-22921.patch:
|
||||
Backport 7f9c7f98 from upstream, clear array length when
|
||||
freeing it.
|
||||
(CVE-2025-22921, bsc#1237382)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 21 04:49:12 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2025-25473.patch:
|
||||
Backport c08d3004 from upstream, clear FFFormatContext packet.
|
||||
When packet_buffer is used in mux.c, and if a muxing process fails
|
||||
at a point where packets remained in said queue.
|
||||
(CVE-2025-25473, bsc#1237351)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 21 04:22:02 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2025-0518.patch:
|
||||
Backport b5b6391d from upstream, fixes memory data leak when
|
||||
use sscanf().
|
||||
(CVE-2025-0518, bsc#1236007)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 21 03:52:18 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2025-22919.patch:
|
||||
Backport 1446e37d from upstream, check for valid sample rate
|
||||
As the sample rate <= 0 is invalid.
|
||||
(CVE-2025-22919, bsc#1237371)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 21 03:21:06 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2024-12361.patch:
|
||||
Backport 4065ff69 from upstream, add check for av_packet_new_side_data()
|
||||
to avoid null pointer dereference if allocation fails.
|
||||
(CVE-2024-12361, bsc#1237358)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 21 02:48:12 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2024-35365.patch:
|
||||
Backport ced5c5fdb from upstream, Fix double-free on error.
|
||||
(CVE-2024-35365, bsc#1235091)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 21 02:06:21 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2024-35368.patch:
|
||||
Backport 45133009 from upstream, After having created the
|
||||
AVBuffer that is put into frame->buf[0], ownership of several
|
||||
objects Fix double-free on the AVFrame is unreferenced.
|
||||
(CVE-2024-35368, bsc#1234028)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 5 09:46:09 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Add 0001-avcodec-libsvtav1-unbreak-build-with-latest-svtav1.patch
|
||||
to build with SVT-AV1 3.0.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 1 11:13:35 UTC 2025 - Dave Plater <davejplater@gmail.com>
|
||||
|
||||
- Update to version 6.1.2 and fix Factory build.
|
||||
avcodec/pnmdec: Use 64bit for input size check (CVE-2024-7055, bsc#1229026)
|
||||
avcodec/mpegvideo_enc: Fix 1 line and one column images (CVE-2024-32230, bsc#1227296)
|
||||
avcodec/tests: rename the bundled Mesa AV1 vulkan video headers.
|
||||
avformat/dxa: Adjust order of operations around block align (CVE-2024-36613, bsc#1235092)
|
||||
etc
|
||||
- Remove patches already merged to upstream:
|
||||
0001-avcodec-tests-rename-the-bundled-Mesa-AV1-vulkan-vid.patch
|
||||
ffmpeg-6-CVE-2024-7055.patch
|
||||
ffmpeg-6-CVE-2024-32230.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 30 12:34:56 UTC 2024 - olaf@aepfle.de
|
||||
|
||||
@ -82,35 +5,17 @@ Mon Sep 30 12:34:56 UTC 2024 - olaf@aepfle.de
|
||||
acceleration with 11013-avcodec-decode-clean-up-if-get_hw_frames_parameters-.patch
|
||||
(ffmpeg#11013, vlc#28811)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 29 07:36:13 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Update ffmpeg-6.spec:
|
||||
Disable xvid plugin build and dependence, since legal reviewers
|
||||
are concerned xvid patents have not expired in Brazil, which should
|
||||
not be used in a commercial context.
|
||||
https://en.wikipedia.org/wiki/Xvid
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 26 10:02:20 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
|
||||
|
||||
- no longer build against libmfx; build also 15.5 against libvpl
|
||||
(boo#1230983, boo#1219494)
|
||||
|
||||
- dropping support for libmfx below covers:
|
||||
* libmfx: improper input validation (CVE-2023-48368, bsc#1226897)
|
||||
* libmfx: improper buffer restrictions (CVE-2023-45221, bsc#1226898)
|
||||
* libmfx: out-of-bounds read (CVE-2023-22656, bsc#1226899)
|
||||
* libmfx: out-of-bounds write (CVE-2023-47282, bsc#1226900)
|
||||
* libmfx: improper buffer restrictions (CVE-2023-47169, bsc#1226901)
|
||||
* Multiple vulnerabilities in the Intel Media SDK (libmfx1) (bsc#1226892)
|
||||
* Drop libmfx dependency from our product (jira #PED-10024)
|
||||
(boo#1230983)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 6 15:06:21 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2024-7055.patch:
|
||||
Backport 3faadbe2 from upstream, Use 64bit for input size check,
|
||||
Backporting 3faadbe2 from upstream, Use 64bit for input size check,
|
||||
Fixes: out of array read, Fixes: poc3.
|
||||
(CVE-2024-7055, bsc#1229026)
|
||||
|
||||
@ -144,14 +49,14 @@ Fri Jul 26 14:28:59 UTC 2024 - Filip Kastl <filip.kastl@suse.com>
|
||||
Tue Jul 2 12:26:28 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2024-32230.patch:
|
||||
Backport 96449cfe from upstream, Fix 1 line and one column images.
|
||||
Backporting 96449cfe from upstream, Fix 1 line and one column images.
|
||||
(CVE-2024-32230, bsc#1227296)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 2 11:57:01 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2024-32228.patch:
|
||||
Backport 45964876 from upstream, Fix segfault on invalid film
|
||||
Backporting 45964876 from upstream, Fix segfault on invalid film
|
||||
grain metadata.
|
||||
(CVE-2024-32228, bsc#1227277)
|
||||
|
||||
@ -159,7 +64,7 @@ Tue Jul 2 11:57:01 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
Tue Jul 2 11:56:01 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2024-32228-shim-5d7f234e.patch:
|
||||
Backport 5d7f234e from upstream, document that there can be multiple
|
||||
Backporting 5d7f234e from upstream, document that there can be multiple
|
||||
complex filtergraphs to prepare dependence code for CVE-2024-32228.
|
||||
(CVE-2024-32228, bsc#1227277)
|
||||
|
||||
@ -167,7 +72,7 @@ Tue Jul 2 11:56:01 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
Tue Jul 2 11:55:01 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2024-32228-shim-f50382cb.patch:
|
||||
Backport f50382cb from upstream, implement AFGS1 parsing.
|
||||
Backporting f50382cb from upstream, implement AFGS1 parsing.
|
||||
to prepare dependence code for CVE-2024-32228.
|
||||
(CVE-2024-32228, bsc#1227277)
|
||||
|
||||
@ -175,7 +80,7 @@ Tue Jul 2 11:55:01 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
Tue Jul 2 11:54:01 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-6-CVE-2024-32228-shim-1535d338.patch:
|
||||
Backport 1535d338 from upstream, add AOM film grain synthesis,
|
||||
Backporting 1535d338 from upstream, add AOM film grain synthesis,
|
||||
to prepare dependence code for CVE-2024-32228.
|
||||
(CVE-2024-32228, bsc#1227277)
|
||||
|
||||
@ -183,14 +88,14 @@ Tue Jul 2 11:54:01 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
Thu Apr 23 14:05:28 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-CVE-2023-50008.patch:
|
||||
Backport 5f87a68c from upstream, Fix memory leaks.
|
||||
Backporting 5f87a68c from upstream, Fix memory leaks.
|
||||
(CVE-2023-50008, bsc#1223254)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 23 12:22:53 UTC 2024 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add ffmpeg-CVE-2023-50007.patch:
|
||||
Backport b1942734 from upstream, Fix crash with EOF handling.
|
||||
Backporting b1942734 from upstream, Fix crash with EOF handling.
|
||||
(CVE-2023-50007, bsc#1223253)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
@ -258,9 +163,6 @@ Mon Jan 15 11:11:08 UTC 2024 - Enrico Belleri <kilgore.trout@idesmi.eu>
|
||||
* 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
|
||||
* avfilter/vf_minterpolate: Check pts before division (CVE-2023-51798, bsc#1223304)
|
||||
* avfilter/vf_weave: Fix odd height handling (CVE-2023-51793, bsc#1223272)
|
||||
* avfilter/vf_gradfun: Do not overread last line (CVE-2023-50010, bsc#1223256)
|
||||
- Remove patch6 0001-avfilter-vf_libplacebo-remove-deprecated-field.diff
|
||||
- Prefer libvpl to libmfx: the latter is deprecated
|
||||
- Delete ffmpeg-6-private-devel package as it is only needed to build libav-tools
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package ffmpeg-6
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -16,7 +16,6 @@
|
||||
#
|
||||
|
||||
|
||||
%define vers 6.1.2
|
||||
%define flavor @BUILD_FLAVOR@%nil
|
||||
%if "%flavor" != "ffmpeg-6-mini"
|
||||
|
||||
@ -60,13 +59,7 @@
|
||||
%bcond_with smbclient
|
||||
%bcond_with x264
|
||||
%bcond_with x265
|
||||
|
||||
# openSUSE legal reviewers are concerned xvid patents and should not be used in commercial context.
|
||||
%if !0%{?is_opensuse}
|
||||
%bcond_with xvid
|
||||
%else
|
||||
%bcond_without xvid
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} > 1500
|
||||
%bcond_without mysofa
|
||||
@ -76,6 +69,7 @@
|
||||
%bcond_without vulkan
|
||||
%bcond_without amrwb
|
||||
%bcond_without opencore
|
||||
%bcond_without xvid
|
||||
%else
|
||||
%bcond_with mysofa
|
||||
%bcond_with vidstab
|
||||
@ -89,14 +83,14 @@
|
||||
%define _major_expected 7
|
||||
|
||||
Name: ffmpeg-6
|
||||
Version: 6.1.2
|
||||
Version: 6.1.1
|
||||
Release: 0
|
||||
Summary: Set of libraries for working with various multimedia formats
|
||||
License: GPL-3.0-or-later
|
||||
Group: Productivity/Multimedia/Video/Editors and Convertors
|
||||
URL: https://ffmpeg.org/
|
||||
|
||||
#Freshcode-URL: http://freshcode.club/projects/ffmpeg
|
||||
#Freshcode-URL: http://freshcode.club/projects/ffmpeg
|
||||
#Git-Clone: git://source.ffmpeg.org/ffmpeg
|
||||
Source: https://www.ffmpeg.org/releases/%_name-%version.tar.xz
|
||||
Source2: https://www.ffmpeg.org/releases/%_name-%version.tar.xz.asc
|
||||
@ -113,6 +107,7 @@ Patch2: ffmpeg-new-coder-errors.diff
|
||||
Patch3: ffmpeg-codec-choice.diff
|
||||
Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch
|
||||
Patch5: work-around-abi-break.patch
|
||||
Patch6: 0001-avcodec-tests-rename-the-bundled-Mesa-AV1-vulkan-vid.patch
|
||||
Patch7: 0001-avfilter-asrc_afirsrc-fix-by-one-smaller-allocation-.patch
|
||||
Patch8: 0001-avfilter-bwdif-account-for-chroma-sub-sampling-in-mi.patch
|
||||
Patch9: 0001-avfilter-af_dialoguenhance-fix-overreads.patch
|
||||
@ -122,21 +117,15 @@ Patch12: 0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch
|
||||
Patch13: 0001-avfilter-vf_codecview-fix-heap-buffer-overflow.patch
|
||||
Patch14: 0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch
|
||||
Patch15: 11013-avcodec-decode-clean-up-if-get_hw_frames_parameters-.patch
|
||||
Patch16: 0001-avcodec-libsvtav1-unbreak-build-with-latest-svtav1.patch
|
||||
Patch90: ffmpeg-chromium.patch
|
||||
Patch91: ffmpeg-dlopen-openh264.patch
|
||||
Patch92: ffmpeg-CVE-2023-50007.patch
|
||||
Patch93: ffmpeg-CVE-2023-50008.patch
|
||||
Patch94: ffmpeg-6-CVE-2024-32228-shim-1535d338.patch
|
||||
Patch95: ffmpeg-6-CVE-2024-32228-shim-f50382cb.patch
|
||||
Patch96: ffmpeg-6-CVE-2024-32230.patch
|
||||
Patch97: ffmpeg-c99.patch
|
||||
Patch98: ffmpeg-6-CVE-2024-35368.patch
|
||||
Patch99: ffmpeg-6-CVE-2024-35365.patch
|
||||
Patch100: ffmpeg-6-CVE-2024-12361.patch
|
||||
Patch101: ffmpeg-6-CVE-2025-22919.patch
|
||||
Patch102: ffmpeg-6-CVE-2025-0518.patch
|
||||
Patch103: ffmpeg-6-CVE-2025-25473.patch
|
||||
Patch104: ffmpeg-6-CVE-2025-22921.patch
|
||||
Patch98: ffmpeg-6-CVE-2024-7055.patch
|
||||
#
|
||||
# preamble is present twice, watch out
|
||||
#
|
||||
@ -683,8 +672,6 @@ LDFLAGS="%_lto_cflags" \
|
||||
%endif
|
||||
%if %{with xvid}
|
||||
--enable-libxvid \
|
||||
%else
|
||||
--disable-libxvid \
|
||||
%endif
|
||||
%if !0%{?BUILD_ORIG}
|
||||
--enable-muxers \
|
||||
@ -830,7 +817,7 @@ done
|
||||
%else
|
||||
%define _name ffmpeg
|
||||
Name: ffmpeg-6-mini
|
||||
Version: %{vers}
|
||||
Version: 6.1.1
|
||||
Release: 0
|
||||
Summary: Set of libraries for working with various multimedia formats
|
||||
License: GPL-3.0-or-later
|
||||
@ -840,11 +827,11 @@ Source: https://www.ffmpeg.org/releases/%_name-%version.tar.xz
|
||||
Source2: https://www.ffmpeg.org/releases/%_name-%version.tar.xz.asc
|
||||
Source3: ffmpeg-6-rpmlintrc
|
||||
Source98: http://ffmpeg.org/ffmpeg-devel.asc#/ffmpeg-6.keyring
|
||||
|
||||
Patch1: ffmpeg-arm6l.diff
|
||||
Patch3: ffmpeg-codec-choice.diff
|
||||
Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch
|
||||
Patch5: work-around-abi-break.patch
|
||||
Patch6: 0001-avcodec-tests-rename-the-bundled-Mesa-AV1-vulkan-vid.patch
|
||||
Patch7: 0001-avfilter-asrc_afirsrc-fix-by-one-smaller-allocation-.patch
|
||||
Patch8: 0001-avfilter-bwdif-account-for-chroma-sub-sampling-in-mi.patch
|
||||
Patch9: 0001-avfilter-af_dialoguenhance-fix-overreads.patch
|
||||
@ -854,22 +841,14 @@ Patch12: 0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch
|
||||
Patch13: 0001-avfilter-vf_codecview-fix-heap-buffer-overflow.patch
|
||||
Patch14: 0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch
|
||||
Patch15: 11013-avcodec-decode-clean-up-if-get_hw_frames_parameters-.patch
|
||||
Patch16: 0001-avcodec-libsvtav1-unbreak-build-with-latest-svtav1.patch
|
||||
Patch90: ffmpeg-chromium.patch
|
||||
Patch91: ffmpeg-dlopen-openh264.patch
|
||||
Patch92: ffmpeg-CVE-2023-50007.patch
|
||||
Patch93: ffmpeg-CVE-2023-50008.patch
|
||||
Patch94: ffmpeg-6-CVE-2024-32228-shim-1535d338.patch
|
||||
Patch95: ffmpeg-6-CVE-2024-32228-shim-f50382cb.patch
|
||||
Patch96: ffmpeg-6-CVE-2024-32230.patch
|
||||
Patch97: ffmpeg-c99.patch
|
||||
Patch99: ffmpeg-6-CVE-2024-35368.patch
|
||||
Patch100: ffmpeg-6-CVE-2024-35365.patch
|
||||
Patch101: ffmpeg-6-CVE-2024-12361.patch
|
||||
Patch102: ffmpeg-6-CVE-2025-22919.patch
|
||||
Patch103: ffmpeg-6-CVE-2025-0518.patch
|
||||
Patch104: ffmpeg-6-CVE-2025-25473.patch
|
||||
Patch105: ffmpeg-6-CVE-2025-22921.patch
|
||||
|
||||
BuildRequires: c_compiler
|
||||
Requires: this-is-only-for-build-envs
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user