From 54becce3cb4814cc5ad55b22987324bdddc7be26cc9223a55f3dcb571d590930 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 9 Jul 2024 14:10:53 +0000 Subject: [PATCH 1/2] [info=90ca7e24a6cbe5b7139f3c99d355ae4ecd32b73586c4e953d7b4bf8e6d02cfaf] OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-4?expand=0&rev=222 --- .gitattributes | 23 + .gitignore | 1 + ...1-remove-compressed_ten_bit_format-a.patch | 47 + ...ops-clip-constants-used-with-shift-i.patch | 76 + ...avfilter-af_stereowiden-Check-length.patch | 29 + ...nterpolate-Check-pts-before-division.patch | 40 + ...-Don-t-assume-frames_uninit-is-reent.patch | 46 + _scmsync.obsinfo | 4 + baselibs.conf | 11 + build.specials.obscpio | 3 + enable_decoders | 480 ++++ enable_encoders | 195 ++ ffmpeg-4-rpmlintrc | 7 + ffmpeg-4.2-dlopen-fdk_aac.patch | 181 ++ ffmpeg-4.4-CVE-2020-22046.patch | 26 + ffmpeg-4.4.4.tar.xz | 3 + ffmpeg-4.4.4.tar.xz.asc | 11 + ffmpeg-4.changes | 2079 +++++++++++++++++ ffmpeg-4.keyring | 30 + ffmpeg-4.spec | 930 ++++++++ ffmpeg-CVE-2023-49502.patch | 43 + ffmpeg-CVE-2023-50010.patch | 30 + ffmpeg-CVE-2023-51793.patch | 57 + ffmpeg-arm6l.diff | 17 + ffmpeg-chromium.patch | 41 + ffmpeg-codec-choice.diff | 56 + ffmpeg-glslang-cxx17.patch | 35 + ffmpeg-libglslang-detection.patch | 18 + ffmpeg-new-coder-errors.diff | 60 + soversion.patch | 43 + 30 files changed, 4622 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch create mode 100644 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch create mode 100644 0001-avfilter-af_stereowiden-Check-length.patch create mode 100644 0001-avfilter-vf_minterpolate-Check-pts-before-division.patch create mode 100644 0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch create mode 100644 _scmsync.obsinfo create mode 100644 baselibs.conf create mode 100644 build.specials.obscpio create mode 100644 enable_decoders create mode 100644 enable_encoders create mode 100644 ffmpeg-4-rpmlintrc create mode 100644 ffmpeg-4.2-dlopen-fdk_aac.patch create mode 100644 ffmpeg-4.4-CVE-2020-22046.patch create mode 100644 ffmpeg-4.4.4.tar.xz create mode 100644 ffmpeg-4.4.4.tar.xz.asc create mode 100644 ffmpeg-4.changes create mode 100644 ffmpeg-4.keyring create mode 100644 ffmpeg-4.spec create mode 100644 ffmpeg-CVE-2023-49502.patch create mode 100644 ffmpeg-CVE-2023-50010.patch create mode 100644 ffmpeg-CVE-2023-51793.patch create mode 100644 ffmpeg-arm6l.diff create mode 100644 ffmpeg-chromium.patch create mode 100644 ffmpeg-codec-choice.diff create mode 100644 ffmpeg-glslang-cxx17.patch create mode 100644 ffmpeg-libglslang-detection.patch create mode 100644 ffmpeg-new-coder-errors.diff create mode 100644 soversion.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch b/0001-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch new file mode 100644 index 0000000..c751a54 --- /dev/null +++ b/0001-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch @@ -0,0 +1,47 @@ +From c3c8f97a9804b4234e97f13b0057ffc2c9af27c0 Mon Sep 17 00:00:00 2001 +From: Christopher Degawa +Date: Thu, 20 Oct 2022 22:55:27 -0500 +Subject: [PATCH] avcodec/libsvtav1: remove compressed_ten_bit_format and + simplify alloc_buffer + +compressed_ten_bit_format has been deprecated upstream and has no effect +and can be removed. Plus, technically it was never used in the first place +since it would require the app (ffmpeg) to set it and do additional +processing of the input frames. + +Also simplify alloc_buffer by removing calculations relating to the +non-existant processing. + +Signed-off-by: Christopher Degawa +(cherry picked from commit 031f1561cd286596cdb374da32f8aa816ce3b135) +--- + libavcodec/libsvtav1.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c +index cfd93a2484..38777b0fb7 100644 +--- a/libavcodec/libsvtav1.c ++++ b/libavcodec/libsvtav1.c +@@ -120,16 +120,12 @@ static int svt_print_error(void *log_ctx, EbErrorType err, + + static int alloc_buffer(EbSvtAv1EncConfiguration *config, SvtContext *svt_enc) + { +- const int pack_mode_10bit = +- (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format == 0) ? 1 : 0; +- const size_t luma_size_8bit = +- config->source_width * config->source_height * (1 << pack_mode_10bit); +- const size_t luma_size_10bit = +- (config->encoder_bit_depth > 8 && pack_mode_10bit == 0) ? luma_size_8bit : 0; ++ const size_t luma_size = config->source_width * config->source_height * ++ (config->encoder_bit_depth > 8 ? 2 : 1); + + EbSvtIOFormat *in_data; + +- svt_enc->raw_size = (luma_size_8bit + luma_size_10bit) * 3 / 2; ++ svt_enc->raw_size = luma_size * 3 / 2; + + // allocate buffer for in and out + svt_enc->in_buf = av_mallocz(sizeof(*svt_enc->in_buf)); +-- +2.41.0 + diff --git a/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch b/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch new file mode 100644 index 0000000..511e302 --- /dev/null +++ b/0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch @@ -0,0 +1,76 @@ +From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= +Date: Sun, 16 Jul 2023 18:18:02 +0300 +Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift + instructions within inline assembly + +Fixes assembling with binutil as >= 2.41 + +Signed-off-by: James Almer +--- + libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h +index 6298f5ed19..ca7e2dffc1 100644 +--- a/libavcodec/x86/mathops.h ++++ b/libavcodec/x86/mathops.h +@@ -35,12 +35,20 @@ + static av_always_inline av_const int MULL(int a, int b, unsigned shift) + { + int rt, dummy; ++ if (__builtin_constant_p(shift)) + __asm__ ( + "imull %3 \n\t" + "shrdl %4, %%edx, %%eax \n\t" + :"=a"(rt), "=d"(dummy) +- :"a"(a), "rm"(b), "ci"((uint8_t)shift) ++ :"a"(a), "rm"(b), "i"(shift & 0x1F) + ); ++ else ++ __asm__ ( ++ "imull %3 \n\t" ++ "shrdl %4, %%edx, %%eax \n\t" ++ :"=a"(rt), "=d"(dummy) ++ :"a"(a), "rm"(b), "c"((uint8_t)shift) ++ ); + return rt; + } + +@@ -113,19 +121,31 @@ __asm__ volatile(\ + // avoid +32 for shift optimization (gcc should do that ...) + #define NEG_SSR32 NEG_SSR32 + static inline int32_t NEG_SSR32( int32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("sarl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("sarl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + + #define NEG_USR32 NEG_USR32 + static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("shrl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("shrl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + +-- +2.42.0 + diff --git a/0001-avfilter-af_stereowiden-Check-length.patch b/0001-avfilter-af_stereowiden-Check-length.patch new file mode 100644 index 0000000..3d439ab --- /dev/null +++ b/0001-avfilter-af_stereowiden-Check-length.patch @@ -0,0 +1,29 @@ +From 50f0f8c53c818f73fe2d752708e2fa9d2a2d8a07 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sat, 23 Dec 2023 04:03:01 +0100 +Subject: [PATCH] avfilter/af_stereowiden: Check length +References: https://bugzilla.opensuse.org/1223437 +References: CVE-2023-51794 + +Fixes: out of array access +Fixes: tickets/10746/poc13ffmpeg + +Found-by: Zeng Yunxiang +Signed-off-by: Michael Niedermayer +--- + libavfilter/af_stereowiden.c | 2 ++ + 1 file changed, 2 insertions(+) + +Index: ffmpeg-4.4.4/libavfilter/af_stereowiden.c +=================================================================== +--- ffmpeg-4.4.4.orig/libavfilter/af_stereowiden.c ++++ ffmpeg-4.4.4/libavfilter/af_stereowiden.c +@@ -75,6 +75,8 @@ static int config_input(AVFilterLink *in + + s->length = s->delay * inlink->sample_rate / 1000; + s->length *= 2; ++ if (s->length == 0) ++ return AVERROR(EINVAL); + s->buffer = av_calloc(s->length, sizeof(*s->buffer)); + if (!s->buffer) + return AVERROR(ENOMEM); diff --git a/0001-avfilter-vf_minterpolate-Check-pts-before-division.patch b/0001-avfilter-vf_minterpolate-Check-pts-before-division.patch new file mode 100644 index 0000000..8bff1b6 --- /dev/null +++ b/0001-avfilter-vf_minterpolate-Check-pts-before-division.patch @@ -0,0 +1,40 @@ +From 68146f06f852078866b3ef1564556e3a272920c7 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sat, 30 Dec 2023 02:51:32 +0100 +Subject: [PATCH] avfilter/vf_minterpolate: Check pts before division +References: https://bugzilla.opensuse.org/1223304 +References: CVE-2023-51798 + +Fixes: FPE +Fixes: tickets/10758/poc20ffmpeg + +Discovered by Zeng Yunxiang + +Signed-off-by: Michael Niedermayer +--- + libavfilter/vf_minterpolate.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/libavfilter/vf_minterpolate.c b/libavfilter/vf_minterpolate.c +index 9920210ece..b2242a15ee 100644 +--- a/libavfilter/vf_minterpolate.c ++++ b/libavfilter/vf_minterpolate.c +@@ -1075,8 +1075,13 @@ static void interpolate(AVFilterLink *inlink, AVFrame *avf_out) + pts = av_rescale(avf_out->pts, (int64_t) ALPHA_MAX * outlink->time_base.num * inlink->time_base.den, + (int64_t) outlink->time_base.den * inlink->time_base.num); + +- alpha = (pts - mi_ctx->frames[1].avf->pts * ALPHA_MAX) / (mi_ctx->frames[2].avf->pts - mi_ctx->frames[1].avf->pts); +- alpha = av_clip(alpha, 0, ALPHA_MAX); ++ if (mi_ctx->frames[2].avf->pts > mi_ctx->frames[1].avf->pts) { ++ alpha = (pts - mi_ctx->frames[1].avf->pts * ALPHA_MAX) / (mi_ctx->frames[2].avf->pts - mi_ctx->frames[1].avf->pts); ++ alpha = av_clip(alpha, 0, ALPHA_MAX); ++ } else { ++ av_log(ctx, AV_LOG_DEBUG, "duplicate input PTS detected\n"); ++ alpha = 0; ++ } + + if (alpha == 0 || alpha == ALPHA_MAX) { + av_frame_copy(avf_out, alpha ? mi_ctx->frames[2].avf : mi_ctx->frames[1].avf); +-- +2.44.0 + diff --git a/0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch b/0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch new file mode 100644 index 0000000..6501dad --- /dev/null +++ b/0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch @@ -0,0 +1,46 @@ +From 3bb00c0a420c3ce83c6fafee30270d69622ccad7 Mon Sep 17 00:00:00 2001 +From: Zhao Zhili +Date: Tue, 20 Feb 2024 20:08:55 +0800 +Subject: [PATCH] avutil/hwcontext: Don't assume frames_uninit is reentrant +References: https://bugzilla.opensuse.org/1223070 +References: CVE-2024-31578 + +Fix heap use after free when vulkan_frames_init failed. + +Signed-off-by: Zhao Zhili +--- + libavutil/hwcontext.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c +index 1d2c2d7920..aa1329bf2b 100644 +--- a/libavutil/hwcontext.c ++++ b/libavutil/hwcontext.c +@@ -359,7 +359,7 @@ int av_hwframe_ctx_init(AVBufferRef *ref) + if (ctx->internal->hw_type->frames_init) { + ret = ctx->internal->hw_type->frames_init(ctx); + if (ret < 0) +- goto fail; ++ return ret; + } + + if (ctx->internal->pool_internal && !ctx->pool) +@@ -369,14 +369,10 @@ int av_hwframe_ctx_init(AVBufferRef *ref) + if (ctx->initial_pool_size > 0) { + ret = hwframe_pool_prealloc(ref); + if (ret < 0) +- goto fail; ++ return ret; + } + + return 0; +-fail: +- if (ctx->internal->hw_type->frames_uninit) +- ctx->internal->hw_type->frames_uninit(ctx); +- return ret; + } + + int av_hwframe_transfer_get_formats(AVBufferRef *hwframe_ref, +-- +2.44.0 + diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..b43235f --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1715249247 +commit: 90ca7e24a6cbe5b7139f3c99d355ae4ecd32b73586c4e953d7b4bf8e6d02cfaf +url: https://src.opensuse.org/jengelh/ffmpeg-4 +revision: master diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..7d9c2b3 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,11 @@ +libavcodec58_134 +libavdevice58_13 +libavfilter7_110 +libavformat58_76 +libavresample4_0 + obsoletes "libavresample4- < " + provides "libavresample4- = " +libavutil56_70 +libpostproc55_9 +libswresample3_9 +libswscale5_9 diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..9f3705b --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cbdcc668cfd69e99af24ae4f72a7d2e2cf5462a61581c9e234ac84bf1104965 +size 256 diff --git a/enable_decoders b/enable_decoders new file mode 100644 index 0000000..38f6f03 --- /dev/null +++ b/enable_decoders @@ -0,0 +1,480 @@ +## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review) +aac +aasc +ac3 +acelp_kelvin +adpcm_4xm +adpcm_adx +adpcm_afc +adpcm_agm +adpcm_aica +adpcm_argo +adpcm_ct +adpcm_dtk +adpcm_ea +adpcm_ea_maxis_xa +adpcm_ea_r1 +adpcm_ea_r2 +adpcm_ea_r3 +adpcm_ea_xas +adpcm_g722 +adpcm_g726 +adpcm_g726le +adpcm_ima_acorn +adpcm_ima_alp +adpcm_ima_amv +adpcm_ima_apc +adpcm_ima_apm +adpcm_ima_cunning +adpcm_ima_dat4 +adpcm_ima_dk3 +adpcm_ima_dk4 +adpcm_ima_ea_eacs +adpcm_ima_ea_sead +adpcm_ima_iss +adpcm_ima_moflex +adpcm_ima_mtf +adpcm_ima_oki +adpcm_ima_qt +adpcm_ima_rad +adpcm_ima_smjpeg +adpcm_ima_ssi +adpcm_ima_wav +adpcm_ima_ws +adpcm_ms +adpcm_mtaf +adpcm_psx +adpcm_sbpro_2 +adpcm_sbpro_3 +adpcm_sbpro_4 +adpcm_swf +adpcm_thp +adpcm_thp_le +adpcm_vima +adpcm_xa +adpcm_xmd +adpcm_yamaha +adpcm_zork +alac +alias_pix +amrnb # opencore-amr +amrwb # opencore-amr +amv +anm +ansi # trivial +anull +apac +ape +apng # animated png +arbc +argo +ass # trivial +asv1 +asv2 +atrac1 +atrac3 +atrac3al +atrac3p +atrac3pal +aura +aura2 +av1 # libaom +av1_nvdec # passthrough +av1_qsv # passthrough +av1_vaapi # passthrough +ayuv # trivial +bethsoftvid # trivial +bfi # trivial +bink +binkaudio_dct +binkaudio_rdft +bintext +bitpacked # trivial +bmp # trivial +bmv_audio +bmv_video +bonk +brender_pix +c93 +cbd2_dpcm +ccaption +cdgraphics +cdtoons +cdxl +cinepak +clearvideo +cljr +cook +cpia +cscd +cyuv +dca +dds +derf_dpcm +dfa +dfpwm +dirac # dirac +dnxhd +dolby_e +dpx +dsd_lsbf +dsd_msbf +dsicinaudio +dsicinvideo +dss_sp +dvaudio +dvbsub +dvdsub +dvvideo +dxa +dxtory +eacmv +eamad +eatgq +eatgv +eatqi +eightbps +eightsvx_exp +eightsvx_fib +escape124 +escape130 +evrc +exr # openEXR +ffv1 # ffmpeg +ffvhuff # ffmpeg +ffwavesynth # pseudo +fits +flac # libFLAC +flashsv +flashsv2 +flic +flv +fmvc +fourxm +ftr # fdk-aac +g723_1 +g729 +gdv +gem +gif # libpng +gremlin_dpcm +gsm # libgsm +gsm_ms +h261 +h263 +h263_v4l2m2m # passthrough +h263i +h263p +hap +hca +hcom +hdr +hnm4_video +hq_hqa +hqx +huffyuv # trivial+zlib +hymt # huffyuv-mt +iac +idcin +idf +iff_ilbm +ilbc # ilbc +imc +indeo2 +indeo3 +indeo4 +indeo5 +interplay_acm +interplay_dpcm +interplay_video +ipu +jacosub +jpeg2000 # openjpeg2 +jpegls +jv +kgv1 +kmvc +lagarith +libaom # libaom +libaom_av1 # libaom +libcodec2 # codec2 +libdav1d # av1 +libgsm # libgsm +libgsm_ms # libgsm +libjxl # libjxl +libopencore_amrnb # opencore-amr +libopencore_amrwb # opencore-amr +libopenh264 # passthrough/dlopen +libopenjpeg # openjpeg +libopus # opus +libschroedinger # schroedinger +libspeex # speex +libvorbis # libvorbis +libvpx_vp8 # libvpx +libvpx_vp9 # libvpx +libzvbi_teletext # zvbi +loco +lscr +m101 +mace3 +mace6 +mdec +media100 +metasound +microdvd +mimic +misc4 +mjpeg # mjpegtools +mjpeg_qsv # passthrough +mjpegb +mlp +mmvideo +motionpixels +mp1 # twolame/lame +mp1float # twolame/lame +mp2 # twolame +mp2float # twolame +mp3 # lame +mp3adu +mp3adufloat +mp3float # lame +mp3on4 +mp3on4float +mpc7 +mpc8 +mpeg1_cuvid # passthrough +mpeg1_v4l2m2m # passthrough +mpeg1video +mpeg2_cuvid # passthrough +mpeg2_qsv # passthrough +mpeg2_v4l2m2m # passthrough +mpeg2_vaapi # passthrough +mpeg2video +mpeg4 +mpeg4_cuvid # passthrough +mpeg4_v4l2m2m # passthrough +mpegvideo +mpl2 +msa1 +mscc +msmpeg4 +msmpeg4v1 +msmpeg4v2 +msmpeg4v3 +msnsiren +msp2 +msrle +mss1 +msvideo1 +mszh +mts2 +mv30 +mvc1 +mvc2 +mvdv +mvha +mwsc +mxpeg +nellymoser +nuv +on2avc +opus # opus +paf_audio +paf_video +pam # trivial +pbm # trivial +pcm_alaw # trivial +pcm_bluray +pcm_dvd +pcm_f16le # trivial +pcm_f24le # trivial +pcm_f32be # trivial +pcm_f32be # trivial +pcm_f32le # trivial +pcm_f64be # trivial +pcm_f64le # trivial +pcm_lxf # trivial +pcm_mulaw # trivial +pcm_s16be # trivial +pcm_s16be_planar # trivial +pcm_s16le # trivial +pcm_s16le_planar # trivial +pcm_s24be # trivial +pcm_s24daud # trivial +pcm_s24le # trivial +pcm_s24le_planar # trivial +pcm_s32be # trivial +pcm_s32le # trivial +pcm_s32le_planar # trivial +pcm_s64be # trivial +pcm_s64le # trivial +pcm_s8 # trivial +pcm_s8_planar # trivial +pcm_sga # trivial +pcm_u16be # trivial +pcm_u16le # trivial +pcm_u24be # trivial +pcm_u24le # trivial +pcm_u32be # trivial +pcm_u32le # trivial +pcm_u8 # trivial +pcm_vidc # trivial +pcx +pfm # trivial +pgm # trivial +pgmyuv # trivial +pgssub # mkvtoolnix +pgx +phm # trivial +photocd +pictor +pjs +png # libpng +ppm # trivial +prosumer +psd +ptx +qcelp +qdm2 +qdmc +qdraw +qoi +qpeg +qtrle +r10k +r210 +ra_144 +ra_288 +rasc +rawvideo # trivial +realtext +rka +rl2 +roq +roq_dpcm +rpza +rscc +rv10 +rv20 +s302m +sami +sanm +sbc +screenpresso +sdx2_dpcm +sgi # trivial +sgirle # trivial +shorten +simbiosis_imx +sipr +siren +smackaud +smacker +smc +smvjpeg +snow +sol_dpcm +sonic +sp5x +speedhq +speex # speex +srgc +srt # trivial +ssa # trivial +stl +subrip +subviewer +subviewer1 +sunrast # trivial +svq1 +svq3 +tak +targa # trivial +targa_y216 +tdsc +text # trivial +theora # libtheora +thp +tiertexseqvideo +tiff # libtiff +tmv +truehd +truemotion1 +truemotion2 +truemotion2rt +truespeech +tscc +tscc2 +tta +twinvq +txd +ulti +utvideo +v210 # trivial +v210x # trivial +v308 # trivial +v408 # trivial +v410 # trivial +vb +vble +vcr1 +vmdaudio +vmdvideo +vmnc +vnull # trivial +vorbis # libvorbis +vp3 # libav +vp4 # libav +vp5 # libav +vp5 # libav +vp6 # libav +vp6 # libav +vp6a # libav +vp6a # libav +vp6f # libav +vp6f # libav +vp7 # libav +vp8 # libvpx +vp8_qsv # passthrough +vp8_v4l2m2m # passthrough +vp9 # libvpx +vp9_qsv # passthrough +vp9_v4l2m2m # passthrough +vplayer +vqa +vqc +wady_dpcm +wavarc +wavpack # wavpack +wbmp +wcmv +webp # libwebp +webvtt # trivial +wmav1 +wmav2 +wmavoice +wmv1 +wmv2 +wnv1 +wrapped_avframe # passthrough +ws_snd1 +xan_dpcm +xan_wc3 +xan_wc4 +xbin +xbm # trivial +xface +xl +xpm +xsub +xwd # xwd +y41p # trivial +y41p # trivial +ylc +yop +yuv4 # trivial +yuv4 # trivial +zero12v +zerocodec +zlib # zlib +zmbv # dosbox diff --git a/enable_encoders b/enable_encoders new file mode 100644 index 0000000..f35ba53 --- /dev/null +++ b/enable_encoders @@ -0,0 +1,195 @@ +## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review) +a64multi +a64multi5 +aac +ac3 +adpcm_adx +adpcm_argo +adpcm_g722 +adpcm_g726 +adpcm_g726le +adpcm_ima_alp +adpcm_ima_amv +adpcm_ima_apm +adpcm_ima_qt +adpcm_ima_ssi +adpcm_ima_wav +adpcm_ima_ws +adpcm_ms +adpcm_swf +adpcm_yamaha +alac +alias_pix +amv +anull +apng # libpng +ass # trivial +asv1 +asv2 +av1_nvenc +av1_vaapi +ayuv # trival +bitpacked # trivial +bmp # trivial +cinepak +cljr +dca +dfpwm +dnxhd +dpx +dvdsub +dvvideo +exr +ffv1 +ffvhuff # trivial+zlib +flac # libFLAC +flashsv +flashsv2 +flv +g723_1 +gif # libpng +h261 +h263 +h263_v4l2m2m # passthrough +h263p +hdr +huffyuv # trivial+zlib +ilbc # ilbc +jpeg2000 +jpegls +libaom # libaom +libaom_av1 # libaom +libcodec2 # codec2 +libgsm # libgsm +libgsm_ms # libgsm +libjxl # libjxl +libmp3lame # lame +libopencore_amrnb # opencore-amr +libopenh264 # passthrough/dlopen +libopenjpeg # openjpeg +libopus # opus +librav1e # rav1e +libschroedinger # schroedinger +libspeex # speex +libsvtav1 # SVT-AV1 +libtheora # libtheora +libtwolame # twolame +libvo_amrwbenc # vo-amrwbenc +libvorbis # libvorbis +libvpx_vp8 # libvpx +libvpx_vp9 # libvpx +libwebp # libwebp +libwebp_anim # libwebp +libxvid # xvidcore +mjpeg # mjpegtools +mjpeg_qsv # passthrough +mjpeg_vaapi # passthrough +mlp +mp2 # twolame +mp2fixed # twolame +mpeg1video +mpeg2_qsv +mpeg2_vaapi +mpeg2video +mpeg4 +mpeg4_v4l2m2m # passthrough +msmpeg4v1 +msmpeg4v2 +msmpeg4v3 +msnsiren +msvideo1 +nellymoser +opus # opus +pam +pbm # trivial +pcm_alaw # trivial +pcm_f32be # trivial +pcm_f32le # trivial +pcm_f64be # trivial +pcm_f64le # trivial +pcm_mulaw # trivial +pcm_s16be # trivial +pcm_s16be_planar # trivial +pcm_s16le # trivial +pcm_s16le_planar # trivial +pcm_s24be # trivial +pcm_s24le # trivial +pcm_s24le_planar # trivial +pcm_s32be # trivial +pcm_s32le # trivial +pcm_s32le_planar # trivial +pcm_s8 # trivial +pcm_s8_planar # trivial +pcm_u16be # trivial +pcm_u16le # trivial +pcm_u24be # trivial +pcm_u24le # trivial +pcm_u32be # trivial +pcm_u32le # trivial +pcm_u8 # trivial +pcx +pgm # trivial +pgmyuv # trivial +phm # trivial +png # libpng +ppm # trivial +qoi +qtrle +r10k # trivial +r210 # trivial +ra_144 +rawvideo # trivial +roq +roq_dpcm +rpza +rv10 +rv20 +s302m +sbc +sgi # trivial +siren +smc +snow +sonic +sonic_ls +speedhq +srt # trivial +ssa # trivial +subrip # trivial +sunrast # trivial +svq1 +targa # trivial +text # trivial +tiff # libtiff +truehd +tta +ttml +utvideo +v210 # trivial +v308 # trivial +v408 # trivial +v410 # trivial +vc2 # dirac +vnull # trivial +vorbis # libvorbis +vp8_qsv # passthrough +vp8_v4l2m2m # passthrough +vp8_vaapi # passthrough +vp9_qsv # passthrough +vp9_vaapi # passthough +wavpack +wbmp +webvtt # trivial +wmav1 +wmav2 +wmv1 +wmv2 +wrapped_avframe # passthrough +xbm # trivial +xface +xsub +xwd # xwd +y41p # trivial +yuv4 # trivial +zlib # zlib +zmbv # dosbox diff --git a/ffmpeg-4-rpmlintrc b/ffmpeg-4-rpmlintrc new file mode 100644 index 0000000..4843745 --- /dev/null +++ b/ffmpeg-4-rpmlintrc @@ -0,0 +1,7 @@ +# manpages for such executables aren't supplied +addFilter("no-manual-page-for-binary") + +# our libraries really have those names and versions +addFilter("shlib-fixed-dependency") +addFilter("no-dependency-on libffmpeg.*") +addFilter("no-dependency-on ffmpeg-4-lib*") diff --git a/ffmpeg-4.2-dlopen-fdk_aac.patch b/ffmpeg-4.2-dlopen-fdk_aac.patch new file mode 100644 index 0000000..6009c2a --- /dev/null +++ b/ffmpeg-4.2-dlopen-fdk_aac.patch @@ -0,0 +1,181 @@ +Index: ffmpeg-4.4.3/configure +=================================================================== +--- ffmpeg-4.4.3.orig/configure ++++ ffmpeg-4.4.3/configure +@@ -232,6 +232,7 @@ External library support: + --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 + and libraw1394 [no] + --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no] ++ --enable-libfdk-aac-dlopen enable AAC de/encoding via dlopen()'ed libfdk-aac [no] + --enable-libflite enable flite (voice synthesis) support via libflite [no] + --enable-libfontconfig enable libfontconfig, useful for drawtext filter [no] + --enable-libfreetype enable libfreetype, needed for drawtext filter [no] +@@ -1735,6 +1736,7 @@ EXTERNAL_LIBRARY_GPL_LIST=" + EXTERNAL_LIBRARY_NONFREE_LIST=" + decklink + libfdk_aac ++ libfdk_aac_dlopen + openssl + libtls + " +@@ -6368,6 +6370,7 @@ enabled libdrm && require_pkg + enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || + { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac && + warn "using libfdk without pkg-config"; } } ++enabled libfdk_aac_dlopen && enable libfdk_aac && add_cppflags "-I/usr/include/fdk-aac" + flite_extralibs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite" + enabled libflite && require libflite "flite/flite.h" flite_init $flite_extralibs + enabled fontconfig && enable libfontconfig +Index: ffmpeg-4.4.3/libavcodec/dlopen.h +=================================================================== +--- /dev/null ++++ ffmpeg-4.4.3/libavcodec/dlopen.h +@@ -0,0 +1,12 @@ ++#ifndef LOCALINC_DLOPEN_H ++#define LOCALINC_DLOPEN_H ++#include ++#define num2str(x) str(x) ++#define str(x) #x ++ ++#define dl_sym(func, args, lib) \ ++ dl_##func = args dlsym(lib, #func); \ ++ if ((err = dlerror())) \ ++ goto error; ++ ++#endif +Index: ffmpeg-4.4.3/libavcodec/libfdk-aacdec.c +=================================================================== +--- ffmpeg-4.4.3.orig/libavcodec/libfdk-aacdec.c ++++ ffmpeg-4.4.3/libavcodec/libfdk-aacdec.c +@@ -37,6 +37,54 @@ + #define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS + #endif + ++#ifdef CONFIG_LIBFDK_AAC_DLOPEN ++#include "dlopen.h" ++AAC_DECODER_ERROR (*dl_aacDecoder_AncDataInit)(HANDLE_AACDECODER, UCHAR*, int); ++HANDLE_AACDECODER (*dl_aacDecoder_Open)(TRANSPORT_TYPE, UINT); ++AAC_DECODER_ERROR (*dl_aacDecoder_Fill)(HANDLE_AACDECODER, UCHAR**, const UINT*, UINT*); ++AAC_DECODER_ERROR (*dl_aacDecoder_ConfigRaw)(HANDLE_AACDECODER, UCHAR **, const UINT*); ++AAC_DECODER_ERROR (*dl_aacDecoder_SetParam)(const HANDLE_AACDECODER, const AACDEC_PARAM, const INT); ++AAC_DECODER_ERROR (*dl_aacDecoder_DecodeFrame)(HANDLE_AACDECODER, INT_PCM*, const INT, const UINT); ++CStreamInfo* (*dl_aacDecoder_GetStreamInfo)(HANDLE_AACDECODER); ++void (*dl_aacDecoder_Close)(HANDLE_AACDECODER); ++#define aacDecoder_AncDataInit dl_aacDecoder_AncDataInit ++#define aacDecoder_Open dl_aacDecoder_Open ++#define aacDecoder_Fill dl_aacDecoder_Fill ++#define aacDecoder_ConfigRaw dl_aacDecoder_ConfigRaw ++#define aacDecoder_SetParam dl_aacDecoder_SetParam ++#define aacDecoder_DecodeFrame dl_aacDecoder_DecodeFrame ++#define aacDecoder_GetStreamInfo dl_aacDecoder_GetStreamInfo ++#define aacDecoder_Close dl_aacDecoder_Close ++#define FDKAAC_LIB "libfdk-aac.so.2" ++static int loadLibFdkAac(AVCodecContext *avctx); ++static int loadLibFdkAac(AVCodecContext *avctx) { ++ void *libfdkaac = NULL; ++ const char *err = NULL; ++ ++ libfdkaac = dlopen(FDKAAC_LIB, RTLD_LAZY); ++ if(err = dlerror()) { ++ av_log(avctx, AV_LOG_FATAL, "%s\n%s is missing, libfdk-aac support will be disabled\n", err, FDKAAC_LIB); ++ if(libfdkaac) ++ dlclose(libfdkaac); ++ return 1; ++ } ++ dl_sym(aacDecoder_AncDataInit, (AAC_DECODER_ERROR (*)(HANDLE_AACDECODER, UCHAR*, int)), libfdkaac); ++ dl_sym(aacDecoder_Open, (HANDLE_AACDECODER (*)(TRANSPORT_TYPE, UINT)), libfdkaac); ++ dl_sym(aacDecoder_Fill, (AAC_DECODER_ERROR (*)(HANDLE_AACDECODER, UCHAR**, const UINT*, UINT*)), libfdkaac); ++ dl_sym(aacDecoder_ConfigRaw, (AAC_DECODER_ERROR (*)(HANDLE_AACDECODER, UCHAR**, const UINT*)), libfdkaac); ++ dl_sym(aacDecoder_SetParam, (AAC_DECODER_ERROR (*)(const HANDLE_AACDECODER, const AACDEC_PARAM, const INT)), libfdkaac); ++ dl_sym(aacDecoder_DecodeFrame, (AAC_DECODER_ERROR (*)(HANDLE_AACDECODER, INT_PCM*, const INT, const UINT)), libfdkaac); ++ dl_sym(aacDecoder_GetStreamInfo, (CStreamInfo* (*)(HANDLE_AACDECODER)), libfdkaac); ++ dl_sym(aacDecoder_Close, (void (*)(HANDLE_AACDECODER)), libfdkaac); ++ return 0; ++error: ++ av_log(avctx, AV_LOG_FATAL, "libfdk-aac: Missing symbols in %s: %s\n" ++ "libfdk-aac support disabled\n", FDKAAC_LIB, err); ++ dlclose(libfdkaac); ++ return 1; ++} ++#endif ++ + enum ConcealMethod { + CONCEAL_METHOD_SPECTRAL_MUTING = 0, + CONCEAL_METHOD_NOISE_SUBSTITUTION = 1, +@@ -229,6 +277,11 @@ static av_cold int fdk_aac_decode_init(A + FDKAACDecContext *s = avctx->priv_data; + AAC_DECODER_ERROR err; + ++#ifdef CONFIG_LIBFDK_AAC_DLOPEN ++ if (loadLibFdkAac(avctx)) ++ return -1; ++#endif ++ + s->handle = aacDecoder_Open(avctx->extradata_size ? TT_MP4_RAW : TT_MP4_ADTS, 1); + if (!s->handle) { + av_log(avctx, AV_LOG_ERROR, "Error opening decoder\n"); +Index: ffmpeg-4.4.3/libavcodec/libfdk-aacenc.c +=================================================================== +--- ffmpeg-4.4.3.orig/libavcodec/libfdk-aacenc.c ++++ ffmpeg-4.4.3/libavcodec/libfdk-aacenc.c +@@ -35,6 +35,48 @@ + #define FDKENC_VER_AT_LEAST(vl0, vl1) 0 + #endif + ++#ifdef CONFIG_LIBFDK_AAC_DLOPEN ++#include "dlopen.h" ++#include ++AACENC_ERROR (*dl_aacEncOpen)(HANDLE_AACENCODER*, const UINT, const UINT); ++AACENC_ERROR (*dl_aacEncoder_SetParam)(const HANDLE_AACENCODER, const AACENC_PARAM, const UINT); ++AACENC_ERROR (*dl_aacEncEncode)(const HANDLE_AACENCODER, const AACENC_BufDesc*, const AACENC_BufDesc*, const AACENC_InArgs*, AACENC_OutArgs*); ++AACENC_ERROR (*dl_aacEncInfo)(const HANDLE_AACENCODER, AACENC_InfoStruct*); ++AACENC_ERROR (*dl_aacEncClose)(HANDLE_AACENCODER*); ++ ++#define aacEncOpen dl_aacEncOpen ++#define aacEncoder_SetParam dl_aacEncoder_SetParam ++#define aacEncEncode dl_aacEncEncode ++#define aacEncInfo dl_aacEncInfo ++#define aacEncClose dl_aacEncClose ++#define FDKAAC_LIB "libfdk-aac.so.2" ++ ++static int loadLibFdkAac(AVCodecContext *avctx); ++static int loadLibFdkAac(AVCodecContext *avctx) { ++ void *libfdkaac = NULL; ++ const char *err = NULL; ++ ++ libfdkaac = dlopen(FDKAAC_LIB, RTLD_LAZY); ++ if(err = dlerror()) { ++ av_log(avctx, AV_LOG_FATAL, "%s\n%s is missing, libfdk-aac support will be disabled\n", err, FDKAAC_LIB); ++ if(libfdkaac) ++ dlclose(libfdkaac); ++ return 1; ++ } ++ dl_sym(aacEncOpen, (AACENC_ERROR (*)(HANDLE_AACENCODER*, const UINT, const UINT)), libfdkaac); ++ dl_sym(aacEncoder_SetParam, (AACENC_ERROR (*)(const HANDLE_AACENCODER, const AACENC_PARAM, const UINT)), libfdkaac); ++ dl_sym(aacEncEncode, (AACENC_ERROR (*)(const HANDLE_AACENCODER, const AACENC_BufDesc*, const AACENC_BufDesc*, const AACENC_InArgs*, AACENC_OutArgs*)), libfdkaac); ++ dl_sym(aacEncInfo, (AACENC_ERROR (*)(const HANDLE_AACENCODER, AACENC_InfoStruct*)), libfdkaac); ++ dl_sym(aacEncClose, (AACENC_ERROR (*)(HANDLE_AACENCODER*)), libfdkaac); ++ return 0; ++error: ++ av_log(avctx, AV_LOG_FATAL, "libfdk-aac: Missing symbols in %s: %s\n" ++ "libfdk-aac support disabled\n", FDKAAC_LIB, err); ++ dlclose(libfdkaac); ++ return 1; ++} ++#endif ++ + typedef struct AACContext { + const AVClass *class; + HANDLE_AACENCODER handle; +@@ -128,6 +170,11 @@ static av_cold int aac_encode_init(AVCod + int aot = FF_PROFILE_AAC_LOW + 1; + int sce = 0, cpe = 0; + ++#ifdef CONFIG_LIBFDK_AAC_DLOPEN ++ if (loadLibFdkAac(avctx)) ++ return -1; ++#endif ++ + if ((err = aacEncOpen(&s->handle, 0, avctx->channels)) != AACENC_OK) { + av_log(avctx, AV_LOG_ERROR, "Unable to open the encoder: %s\n", + aac_get_error(err)); diff --git a/ffmpeg-4.4-CVE-2020-22046.patch b/ffmpeg-4.4-CVE-2020-22046.patch new file mode 100644 index 0000000..5ff5812 --- /dev/null +++ b/ffmpeg-4.4-CVE-2020-22046.patch @@ -0,0 +1,26 @@ +From 097c917c147661f5378dae8fe3f7e46f43236426 Mon Sep 17 00:00:00 2001 +From: Andreas Rheinhardt +Date: Thu, 17 Oct 2019 11:11:55 +0200 +Subject: [PATCH] avcodec/ac3enc: Fix memleak + +Fixes ticket #8294. + +Signed-off-by: Andreas Rheinhardt +--- + libavcodec/ac3enc.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +Index: ffmpeg-4.4.1/libavcodec/ac3enc.c +=================================================================== +--- ffmpeg-4.4.1.orig/libavcodec/ac3enc.c ++++ ffmpeg-4.4.1/libavcodec/ac3enc.c +@@ -2148,7 +2148,8 @@ av_cold int ff_ac3_encode_close(AVCodecC + av_freep(&block->cpl_coord_mant); + } + +- s->mdct_end(s); ++ if (s->mdct_end) ++ s->mdct_end(s); + + return 0; + } diff --git a/ffmpeg-4.4.4.tar.xz b/ffmpeg-4.4.4.tar.xz new file mode 100644 index 0000000..0034acb --- /dev/null +++ b/ffmpeg-4.4.4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e80b380d595c809060f66f96a5d849511ef4a76a26b76eacf5778b94c3570309 +size 9565584 diff --git a/ffmpeg-4.4.4.tar.xz.asc b/ffmpeg-4.4.4.tar.xz.asc new file mode 100644 index 0000000..188b614 --- /dev/null +++ b/ffmpeg-4.4.4.tar.xz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQFMBAABCAA2FiEE/PmG6hXm4pOlZE8QtDIvBNZ2WNgFAmQ2/oUYHGZmbXBlZy1k +ZXZlbEBmZm1wZWcub3JnAAoJELQyLwTWdljYkGMH/iRlBGO1ZcCPnNpJt6pAqxcY +cP4hmanIPLLBPQfbHIwGUJDiTDIpXuFeWC7dt08Q8ndXtXbjTJ0T+hZP7Riuzns8 +bwXfrCRioKlmIZSUg9WMErNW+vE/nUFn20q4PdzaWbeUbIsZEW6Btt4C4JuBCLsn +K2WZa7/GwaMnLLPIUIaNzW//aeUj11IhY74qB3k5nOhidgptY1en7xa9x1kZ3dvW +wx2vO+2fS5SlvBfj2KFAey+FX2LAEZFjRaiWRnzlO5daqO4acWMtRAQeMk5rs21W +NeTZUqZoPaaNfcFz1yWsBv19Fte4R9D8oD4TwMd5ikZZ2hjV+N+EMEFNWLoH02Q= +=e6RR +-----END PGP SIGNATURE----- diff --git a/ffmpeg-4.changes b/ffmpeg-4.changes new file mode 100644 index 0000000..814e821 --- /dev/null +++ b/ffmpeg-4.changes @@ -0,0 +1,2079 @@ +------------------------------------------------------------------- +Tue Apr 27 11:38:35 UTC 2024 - Cliff Zhao + +- Add ffmpeg-CVE-2023-50010.patch: + Backporting e4d2666b from upstream, fixes the out of array access. + (CVE-2023-50010 bsc#1223256) + +------------------------------------------------------------------- +Fri Apr 26 22:16:48 UTC 2024 - Jan Engelhardt + +- Add 0001-avfilter-af_stereowiden-Check-length.patch + [boo#1223437, CVE-2023-51794] + +------------------------------------------------------------------- +Thu Apr 23 16:14:18 UTC 2024 - Cliff Zhao + +- Add ffmpeg-CVE-2023-51793.patch: + Backporting 0ecc1f0e from upstream, Fix odd height handling. + (CVE-2023-51793 bsc#1223272) + +------------------------------------------------------------------- +Thu Apr 23 15:35:32 UTC 2024 - Cliff Zhao + +- Add ffmpeg-CVE-2023-49502.patch: + Backporting 737ede40 from upstream, account for chroma sub-sampling + in min size calculation. + (CVE-2023-49502 bsc#1223235) + +------------------------------------------------------------------- +Tue Apr 23 14:25:53 UTC 2024 - Jan Engelhardt + +- Address boo#1223304/CVE-2023-51798: add patch + 0001-avfilter-vf_minterpolate-Check-pts-before-division.patch + +------------------------------------------------------------------- +Mon Apr 22 12:41:55 UTC 2024 - Jan Engelhardt + +- Address boo#1223070/CVE-2024-31578: add patch + 0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch + +------------------------------------------------------------------- +Fri Feb 2 09:34:15 UTC 2024 - Stefan Dirsch + +- drop support for libmfx, which is no longer supported upstream + at all (boo#1219494) + +------------------------------------------------------------------- +Tue Dec 26 13:36:38 UTC 2023 - Jan Engelhardt + +- Update ffmpeg-glslang-cxx17.patch to build with glslang 14 +- Disable vmaf integration as ffmpeg-4 cannot handle vmaf>=3 +- Delete vmaf-trim-usr-local.patch + +------------------------------------------------------------------- +Wed Dec 6 08:50:00 UTC 2023 - Jan Engelhardt + +- Copy codec list from ffmpeg-6 + +------------------------------------------------------------------- +Mon Oct 30 11:16:43 UTC 2023 - Jan Engelhardt + +- Add ffmpeg-glslang-cxx17.patch + +------------------------------------------------------------------- +Wed Oct 4 15:15:56 UTC 2023 - Jan Engelhardt + +- Add 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch + to resolve build failure with binutils >= 2.41. [boo#1215945] + +------------------------------------------------------------------- +Tue Jun 27 07:42:23 UTC 2023 - Jan Engelhardt + +- Add 0001-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch + +------------------------------------------------------------------- +Wed Apr 19 21:00:41 UTC 2023 - Bjørn Lie + +- Update to version 4.4.4: + * avcodec/012v: Order operations for odd size handling + * avcodec/alsdec: The minimal block is at least 7 bits + * avcodec/bink: + - Avoid undefined out of array end pointers in + binkb_decode_plane() + - Fix off by 1 error in ref end + * avcodec/eac3dec: avoid float noise in fixed mode addition to + overflow + * avcodec/eatgq: : Check index increments in tgq_decode_block() + * avcodec/escape124: + - Fix signdness of end of input check + - Fix some return codes + * avcodec/ffv1dec: + - Check that num h/v slices is supported + - Fail earlier if prior context is corrupted + - Restructure slice coordinate reading a bit + * avcodec/mjpegenc: take into account component count when + writing the SOF header size + * avcodec/mlpdec: Check max matrix instead of max channel in + noise check + * avcodec/motionpixels: Mask pixels to valid values + * avcodec/mpeg12dec: Check input size + * avcodec/nvenc: + - Fix b-frame DTS behavior with fractional framerates + - Fix vbv buffer size in cq mode + * avcodec/pictordec: Remove mid exit branch + * avcodec/pngdec: Check deloco index more exactly + * avcodec/rpzaenc: stop accessing out of bounds frame + * avcodec/scpr3: Check bx + * avcodec/scpr: Test bx before use + * avcodec/snowenc: Fix visual weight calculation + * avcodec/speedhq: Check buf_size to be big enough for DC + * avcodec/sunrast: Fix maplength check + * avcodec/tests/snowenc: + - Fix 2nd test + - Return a failure if DWT/IDWT mismatches + - Unbreak DWT tests + * avcodec/tiff: Ignore tile_count + * avcodec/utils: + - Allocate a line more for VC1 and WMV3 + - Ensure linesize for SVQ3 + - Use 32pixel alignment for bink + * avcodec/videodsp_template: Adjust pointers to avoid undefined + pointer things + * avcodec/vp3: Add missing check for av_malloc + * avcodec/wavpack: + - Avoid undefined shift in get_tail() + - Check for end of input in wv_unpack_dsd_high() + * avcodec/xpmdec: Check size before allocation to avoid + truncation + * avfilter/vf_untile: swap the chroma shift values used for plane + offsets + * avformat/id3v2: Check taglen in read_uslt() + * avformat/mov: Check samplesize and offset to avoid integer + overflow + * avformat/mxfdec: Use 64bit in remainder + * avformat/nutdec: Add check for avformat_new_stream + * avformat/replaygain: avoid undefined / negative abs + * swscale/input: Use more unsigned intermediates + * swscale/output: Bias 16bps output calculations to improve non + overflowing range + * swscale: aarch64: Fix yuv2rgb with negative stride + * Use https for repository links +- Drop patches fixed upstream: + * ffmpeg-CVE-2022-3964.patch + * ffmpeg-CVE-2022-3109.patch + * ffmpeg-CVE-2022-3341.patch +- Use ldconfig_scriptlets macro. + +------------------------------------------------------------------- +Thu Mar 16 17:54:51 UTC 2023 - Jan Engelhardt + +- Conflict with otherproviders(ffmpeg-tools). + +------------------------------------------------------------------- +Fri Jan 20 07:22:58 UTC 2023 - Alynx Zhou + +- Add ffmpeg-CVE-2022-3341.patch: Backport from upstream to fix + null pointer dereference in decode_main_header() in + libavformat/nutdec.c (bsc#1206778). + +------------------------------------------------------------------- +Fri Dec 23 08:09:25 UTC 2022 - Alynx Zhou + +- Add ffmpeg-CVE-2022-3109.patch: Backport from upstream to fix + null pointer dereference in vp3_decode_frame() (bsc#1206442). + +------------------------------------------------------------------- +Wed Nov 16 01:31:02 UTC 2022 - Alynx Zhou + +- Add ffmpeg-CVE-2022-3964.patch: Backport from upstream to fix + out of bounds read in update_block_in_prev_frame() (bsc#1205388). + +------------------------------------------------------------------- +Mon Oct 10 11:18:30 UTC 2022 - Bjørn Lie + +- Update to version 4.4.3: + * Stable bug fix release, mainly codecs, filter and format fixes. +- Drop ffmpeg-sdl2-detection.patch: Fixed upstream. +- Refresh patches with quilt: + * ffmpeg-libglslang-detection.patch + * ffmpeg-4.2-dlopen-fdk_aac.patch + +------------------------------------------------------------------- +Mon Aug 29 05:39:31 UTC 2022 - Christophe Giboudeaux + +- Add patch to detect SDL2 >= 2.1.0 (boo#1202848): + * ffmpeg-sdl2-detection.patch + +------------------------------------------------------------------- +Fri Jun 17 17:02:35 UTC 2022 - Bjørn Lie + +- Update to version 4.4.2: + * Stable bug fix release, mainly codecs, filter and format fixes. +- Refresh ffmpeg-chromium.patch with quilt. + +------------------------------------------------------------------- +Wed Mar 23 21:44:33 UTC 2022 - Jan Engelhardt + +- Add conflicts for ffmpeg-5's tools + +------------------------------------------------------------------- +Thu Mar 17 21:44:30 UTC 2022 - Enrico Belleri + +- Add ffmpeg-libglslang-detection.patch: detects libglslang +- Enable Vulkan filters + +------------------------------------------------------------------- +Sun Mar 13 15:20:53 UTC 2022 - Predrag Ivanović + +- Fix OS version check, so nvcodec is enabled for Leap too. + +------------------------------------------------------------------- +Wed Feb 16 18:46:55 UTC 2022 - Dominique Leuenberger + +- Disamble libsmbclient usage (can always be built with + --with-smbclient): the usecase of ffmpeg directly accessing + smb:// shares is quite constructed (most users will have their + smb shares mounted). + +------------------------------------------------------------------- +Sun Jan 16 18:49:22 UTC 2022 - Callum Farmer + +- Add ffmpeg-chromium.patch: makes packaging Chromium easier and + will allow for an easier migration for Chromium to FFmpeg 5 + +------------------------------------------------------------------- +Tue Nov 30 11:49:11 UTC 2021 - Dominique Leuenberger + +- Add ffmpeg-4.keyring: properly validate the added gpg signature. + +------------------------------------------------------------------- +Thu Oct 28 15:58:30 UTC 2021 - Bjørn Lie + +- Update to version 4.4.1: + * Stable bug fix release, mainly codecs and format fixes. +- Refresh patches with quilt. +- Drop patches fixed upstream: + * ffmpeg-CVE-2021-33815.patch + * ffmpeg-CVE-2021-38114.patch + * ffmpeg-CVE-2021-38171.patch + * ffmpeg-CVE-2020-22037.patch + +------------------------------------------------------------------- +Sun Sep 26 02:44:57 UTC 2021 - Alynx Zhou + +- Add ffmpeg-CVE-2020-22037.patch: Backport from upstream to fix + denial of service vulnerability exists due to a memory leak in + avcodec_alloc_context3 at options.c (bsc#1186756). + +------------------------------------------------------------------- +Fri Aug 27 07:09:15 UTC 2021 - Alynx Zhou + +- Add ffmpeg-CVE-2021-38171.patch: Backport from upstream to fix + adts_decode_extradata in libavformat/adtsenc.c in FFmpeg 4.4 + does not check the init_get_bits return value (bsc#1189724). + +------------------------------------------------------------------- +Tue Aug 10 09:38:39 UTC 2021 - Alynx Zhou + +- Add ffmpeg-CVE-2021-38114.patch: Backport from upstream to fix + the return value of the init_vlc function is not checked + (bsc#1189142). + +------------------------------------------------------------------- +Sat Jul 10 10:11:32 UTC 2021 - Hans-Peter Jansen + +- Remove second hunk of ffmpeg-CVE-2020-22046.patch, that contains + a goto to a none existing label. In order to distinguish this + patch from the original, I renamed it to + ffmpeg-4.4-CVE-2020-22046.patch +- While at it, refresh the other patches with offsets + +------------------------------------------------------------------- +Thu Jul 8 06:43:28 UTC 2021 - Alynx Zhou + +- Add ffmpeg-CVE-2020-22046.patch: Backport from upstream to fix + a denial of service vulnerability exists in FFmpeg 4.2 due to a + memory leak in the avpriv_float_dsp_allocl function in + libavutil/float_dsp.c (bsc#1186849). +- Add ffmpeg-CVE-2021-33815.patch: Backport from upstream to fix + dwa_uncompress in libavcodec/exr.c in FFmpeg 4.4 allows an + out-of-bounds array access because dc_count is not strictly + checked (bsc#1186865). + +------------------------------------------------------------------- +Fri Jun 4 12:29:16 UTC 2021 - Jan Engelhardt + +- Enable SVT-AV1 encoding + +------------------------------------------------------------------- +Thu May 20 23:16:09 UTC 2021 - Daniel Molkentin + +- Enable vulkan on on Leap 15 + +------------------------------------------------------------------- +Fri Apr 16 10:20:15 UTC 2021 - Jan Engelhardt + +- Enable libdavd1 on Leap 15.2+ [boo#1184830] + +------------------------------------------------------------------- +Fri Apr 9 18:52:46 UTC 2021 - Jan Engelhardt + +- Update to release 4.4 + * New demuxers, AV1 support improvements, and other enhancements. + * AV1 monochrome encoding support. +- Remove ffmpeg_altivec_yuv2rgb_novsx.patch (merged) + +------------------------------------------------------------------- +Sun Mar 14 21:08:02 UTC 2021 - Dirk Müller + +- update to 4.3.2: + * lots of oss-fuzz reported overflow fixes, see included ChangeLog +- drop + ffmpeg.git-ba3e771a42c29ee02c34e7769cfc1b2dbc5c760a.patch + 0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch + 0001-avformat-vividas-improve-extradata-packing-checks-in.patch: upstream + +------------------------------------------------------------------- +Fri Feb 5 21:10:43 UTC 2021 - Jan Engelhardt + +- Add 0001-avformat-vividas-improve-extradata-packing-checks-in.patch + [boo#1180519] [CVE-2020-35964] + +------------------------------------------------------------------- +Sun Jan 24 11:22:02 UTC 2021 - Dirk Müller + +- remove dependency on OpenJPEG, this is obsolete since ffmpeg 4.0, + we already build against OpenJPEG 2.1. + see changes: + - Dropped support for OpenJPEG versions 2.0 and below. Using OpenJPEG now + requires 2.1 (or later) and pkg-config. + +------------------------------------------------------------------- +Fri Nov 27 15:03:17 UTC 2020 - Michel Normand + +- Add ffmpeg_altivec_yuv2rgb_novsx.patch for ppc64 (BE) as per + https://trac.ffmpeg.org/ticket/8750 + https://bugzilla.opensuse.org/show_bug.cgi?id=1179332 + +------------------------------------------------------------------- +Mon Oct 19 06:42:32 UTC 2020 - Jan Engelhardt + +- Enable VMAF. This can be used to compute VMAF/PSNR/SSIM. +- Add vmaf-trim-usr-local.patch . + +------------------------------------------------------------------- +Wed Oct 14 09:45:07 UTC 2020 - Jan Engelhardt + +- Adjust soversion.patch to include a symlink [boo#1177667] +- Add 0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch + +------------------------------------------------------------------- +Mon Jul 27 13:39:27 UTC 2020 - Hans-Peter Jansen + +- Apply upstream fix to avoid segfaults in x86/yuv2rgb conversion + ffmpeg.git-ba3e771a42c29ee02c34e7769cfc1b2dbc5c760a.patch + +------------------------------------------------------------------- +Thu Jul 16 10:49:02 UTC 2020 - Alexander Reimelt + +- Add librav1e support + +------------------------------------------------------------------- +Sun Jul 12 16:08:10 UTC 2020 - Bjørn Lie + +- Update to version 4.3.1: + * Stable bug fix release, mainly codecs and format fixes. + +------------------------------------------------------------------- +Sat Jul 4 22:09:51 UTC 2020 - Jan Engelhardt + +- Add soversion.patch to workaround ELF ABI breakage. + +------------------------------------------------------------------- +Wed Jun 17 16:32:04 UTC 2020 - Jan Engelhardt + +- Update to release 4.3 + * A plethora of new video filters + * Intel QSV-accelerated VP9 decoding + * VDPAU VP9 hwaccel + * QSV-accelerated VP9 encoding + * AV1 frame merge bitstream filter + * AV1 Annex B demuxer + * Expanded styling support for 3GPP Timed Text Subtitles + * Support for muxing PCM and PGS in M2TS +- Drop ffmpeg-prefer-dav1d-for-playback.patch + (solved differently) +- Drop ffmpeg4_swscale_replace_illegal_vector_keyword.patch, + ffmpeg4_swscale_fix_altivec_vsx_recent_gcc.patch, + 929e5159bc13da374b83f5627879c607acce180b.patch + (merged) + +------------------------------------------------------------------- +Fri Jun 5 16:21:42 UTC 2020 - Bjørn Lie + +- Update to version 4.2.3: + * Stable bug fix release, mainly codecs and format fixes. +- Drop 0001-avcodec-cbs_jpeg-Check-length-for-SOS.patch: Fixed + upstream. + +------------------------------------------------------------------- +Thu May 28 06:48:37 UTC 2020 - Jiri Slaby + +- libfdk-aac is now .so.2, not .so.1. + +------------------------------------------------------------------- +Mon May 11 09:40:09 UTC 2020 - Jan Engelhardt + +- Throw out v4l2 m2m. This is likely the same case as boo#1041794. + +------------------------------------------------------------------- +Thu Apr 30 18:00:28 UTC 2020 - Matwey Kornilov + +- Enable v4l2 m2m encoders and decoders + +------------------------------------------------------------------- +Wed Apr 29 12:16:11 UTC 2020 - Jan Engelhardt + +- Add 0001-avcodec-cbs_jpeg-Check-length-for-SOS.patch + [boo#1170767] + +------------------------------------------------------------------- +Fri Mar 31 00:41:22 UTC 2020 - Ismail Dönmez + +- Add Samba support for Factory (as this needs a fix in Samba itself) + Add --enable-libsmbclient to configure, add BR on pkgconfig(smbclient) +- License is now GPLv3+ by default (--enable-version3) + +------------------------------------------------------------------- +Mon Mar 30 07:14:39 UTC 2020 - Tomáš Chvátal + +- Always build the binary ffmpeg-4 even on Leap releases boo#1167628: + * The conflicts in place should allow users to decide if they + want to use ffmpeg from ffmpeg package or ffmpeg-4 from this + package + +------------------------------------------------------------------- +Mon Mar 16 13:30:41 UTC 2020 - Andreas Schwab + +- Add -ffat-lto-objects to _lto_cflags to fix configure checks + +------------------------------------------------------------------- +Tue Mar 3 13:07:51 UTC 2020 - Bjørn Lie + +- Enable libmfx support for SLE 15 SP2 and Leap 15.2 via + conditional, libmfx is available there too now. + +------------------------------------------------------------------- +Tue Jan 21 18:15:48 UTC 2020 - Bjørn Lie + +- Update to version 4.2.2: + * Stable bug fix release, mainly codecs and format fixes. + +------------------------------------------------------------------- +Fri Jan 10 15:00:38 UTC 2020 - Ismail Dönmez + +- Add 929e5159bc13da374b83f5627879c607acce180b.patch to fix + bad ID3v2 tag length. + +------------------------------------------------------------------- +Mon Dec 30 17:39:01 UTC 2019 - Stefan Brüns + +- Drop unused liboil BuildRequires. + +------------------------------------------------------------------- +Wed Sep 18 20:08:06 UTC 2019 - Bjørn Lie + +- Update to version 4.2.1: + * Stable bug fix release, mainly codecs and format fixes. +- Drop upstream fixed patch: + 0001-avcodec-h2645_parse-zero-initialize-the-rbsp-buffer.patch + +------------------------------------------------------------------- +Tue Sep 10 08:30:36 UTC 2019 - Jan Engelhardt + +- Add 0001-avcodec-h2645_parse-zero-initialize-the-rbsp-buffer.patch + [boo#1149839, CVE-2019-15942] + +------------------------------------------------------------------- +Wed Sep 4 12:05:35 UTC 2019 - Ismail Dönmez + +- Make ffmpeg-4.2-dlopen-fdk_aac.patch less verbose + +------------------------------------------------------------------- +Thu Aug 22 08:45:17 UTC 2019 - Ismail Dönmez + +- Rename ffmpeg-4.2-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch + to ffmpeg-4.2-dlopen-fdk_aac.patch since we need dlopen only + for fdk_aac and looks like some other parts of the patch is + buggy. + +------------------------------------------------------------------- +Thu Aug 22 06:42:57 UTC 2019 - Ismail Dönmez + +- Sync ffmpeg-4.2-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch + from upstream. + +------------------------------------------------------------------- +Sun Aug 18 09:43:38 UTC 2019 - Bjørn Lie + +- Disable LTO for arm, fixes build. + +------------------------------------------------------------------- +Wed Aug 14 15:39:22 UTC 2019 - Michel Normand + +- avoid ppc64le build error upstream issue + https://trac.ffmpeg.org/ticket/7861 + Add ffmpeg4_swscale_replace_illegal_vector_keyword.patch + Add ffmpeg4_swscale_fix_altivec_vsx_recent_gcc.patch + +------------------------------------------------------------------- +Mon Aug 12 16:51:30 UTC 2019 - Bjørn Lie + +- Add ffmpeg-prefer-dav1d-for-playback.patch: Prefer using dav1d + for av1 playback over libaom. + +------------------------------------------------------------------- +Tue Aug 6 15:35:35 UTC 2019 - Ismail Dönmez + +- Update to FFmpeg 4.2 "Ada" + * tpad filter + * AV1 decoding support through libdav1d + * dedot filter + * chromashift and rgbashift filters + * freezedetect filter + * truehd_core bitstream filter + * dhav demuxer + * PCM-DVD encoder + * GIF parser + * vividas demuxer + * hymt decoder + * anlmdn filter + * maskfun filter + * hcom demuxer and decoder + * ARBC decoder + * libaribb24 based ARIB STD-B24 caption support (profiles A and C) + * Support decoding of HEVC 4:4:4 content in nvdec and cuviddec + * removed libndi-newtek + * agm decoder + * KUX demuxer + * AV1 frame split bitstream filter + * lscr decoder + * lagfun filter + * asoftclip filter + * Support decoding of HEVC 4:4:4 content in vdpau + * colorhold filter + * xmedian filter + * asr filter + * showspatial multimedia filter + * VP4 video decoder + * IFV demuxer + * derain filter + * deesser filter + * mov muxer writes tracks with unspecified language instead + of English by default + * added support for using clang to compile CUDA kernels +- Drop ffmpeg-avcodec-libdav1d-AV1-decoder-wrapper.patch, merged + upstream. +- Rebase and rename + ffmpeg-4.1-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch + to + ffmpeg-4.2-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch +- See /usr/share/doc/packages/ffmpeg-4/Changelog for the complete + changelog. + +------------------------------------------------------------------- +Wed Jul 31 13:27:44 UTC 2019 - Ismail Dönmez + +- Update to version 4.1.4 + * See /usr/share/doc/packages/ffmpeg-4/Changelog for the complete + changelog. + +------------------------------------------------------------------- +Sat Jul 6 21:43:04 UTC 2019 - Bjørn Lie + +- Add pkgconfig(libva-drm), pkgconfig(libva-x11) BuildRequires: and + conditional pkgconfig(libmfx) BuildRequires: Build intel-mediasdk + support when possible. + +------------------------------------------------------------------- +Tue Jul 2 09:04:55 UTC 2019 - Ismail Dönmez + +- Add back pkgconfig(fdk-aac) BuildRequires since we still need + the headers at compile time. +- Fix include paths in + ffmpeg-4.1-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch + +------------------------------------------------------------------- +Tue Jun 11 11:12:43 UTC 2019 - Ismail Dönmez + +- Add ffmpeg-4.1-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch + from OpenMandriva to optionally enable runtime enabling of + fdkaac/lame/x264/x265 +- Enable runtime enabling for fdkaac via --enable-libfdk-aac-dlopen +- Rename bcond fdk_aac to fdk_aac_dlopen +- Remove fdk-aac BuildRequires now it's only dlopen'd + +------------------------------------------------------------------- +Tue May 14 11:38:01 UTC 2019 - Martin Liška + +- Enable LTO for all except i586 (boo#1133123). + +------------------------------------------------------------------- +Sun May 5 19:54:07 UTC 2019 - Bjørn Lie + +- Disable LTO again, as it breaks build for i586 (boo#1133123). + +------------------------------------------------------------------- +Fri May 3 10:08:30 UTC 2019 - Jan Engelhardt + +- Throw out svt-av1. The build is unable to complete + in openSUSE:Factory. + +------------------------------------------------------------------- +Thu May 2 09:38:47 UTC 2019 - Martin Liška + +- Use %make_build in order to provide parallel build for tools/*. + And make output verbose. + +------------------------------------------------------------------- +Thu May 2 08:00:42 UTC 2019 - Martin Liška + +- Enable LTO for new SUSE versions (boo#1133123). + +------------------------------------------------------------------- +Tue Apr 30 22:05:35 UTC 2019 - Hans-Peter Jansen + +- Update patch 0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch + from upstream + +------------------------------------------------------------------- +Tue Apr 02 23:56:11 UTC 2019 - seanlew@opensuse.org + +- Update to version 4.1.3: + * Updates and bug fixes for codecs, filters and formats. + [boo#1133153, boo#1133155, CVE-2019-11338, CVE-2019-11339] + +------------------------------------------------------------------- +Thu Mar 28 09:21:05 UTC 2019 - Bjørn Lie + +- Update to version 4.1.2: + * Updates and bug fixes for codecs, filters and formats. + +------------------------------------------------------------------- +Sun Mar 17 22:38:39 UTC 2019 - Bjørn Lie + +- Add ffmpeg-avcodec-libdav1d-AV1-decoder-wrapper.patch: Backport + dav1d decoder support for aom (av1) codec. Following this, add + conditional pkgconfig(dav1d) BuildRequires and pass conditional + --enable-libdav1d to configure. Also add libdav1d to + enable_decoders. + +------------------------------------------------------------------- +Sat Mar 9 11:59:31 UTC 2019 - Bjørn Lie + +- Add a new filter line to rpmlintrc + (addFilter("no-dependency-on ffmpeg-4-lib*")). + +------------------------------------------------------------------- +Mon Mar 4 05:07:43 UTC 2019 - John Vandenberg + +- Add trivial encoder rawvideo, already enabled in decoders + +------------------------------------------------------------------- +Sat Mar 2 07:38:50 UTC 2019 - Jan Engelhardt + +- Unconditionalize bs2b, it exists in openSUSE 13.x too. + +------------------------------------------------------------------- +Fri Mar 1 08:02:29 UTC 2019 - bjorn.lie@gmail.com + +- Drop ffmpeg-libcdio_cdda-pkgconfig.patch: It only adds comments + in it's current form, so serves no purpose at all anymore. +- Refresh patches with refresh_patches service. +- Rename rpmlintrc file to ffmpeg-4-rpmlintrc. + +------------------------------------------------------------------- +Thu Feb 28 06:41:01 UTC 2019 - bjorn.lie@gmail.com + +- Add missing conditional configure option: --enable-libbs2b, + BuildRequires already in place. + +------------------------------------------------------------------- +Sat Feb 16 13:21:11 UTC 2019 - bjorn.lie@gmail.com + +- Add aac to enabled_encoders and enabled_decoders. Build the + native aac support in ffmpeg. These do not support HE-AAC (v1/2) + protocols. + +------------------------------------------------------------------- +Sat Feb 16 12:41:43 UTC 2019 - davejplater@gmail.com + +- Update 0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch from git + To fix build with SVT-AV1. + +------------------------------------------------------------------- +Tue Feb 12 08:58:56 UTC 2019 - bjorn.lie@gmail.com + +- Update to version 4.1.1: + * Various filter and codec fixes and enhancements. + * configure: Add missing xlib dependency for VAAPI X11 code. + * For complete changelog, see + /usr/share/doc/packages/ffmpeg-4/Changelog + +------------------------------------------------------------------- +Tue Feb 5 09:14:03 UTC 2019 - Adrian Schröter + +- enable AV1 support on x86_64 + * requires patch 0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch +- refreshed all patches + +------------------------------------------------------------------- +Tue Jan 15 20:45:50 UTC 2019 - bjorn.lie@gmail.com + +- Add conditional pkgconfig(vo-amrwbenc) BuildRequires and + conditionally pass --enable-libvo-amrwbenc --enable-version3 to + configure: build amrwb encoder if dependency is present. + +------------------------------------------------------------------- +Wed Dec 5 18:07:58 UTC 2018 - Stefan Brüns + +- Enable encoding/decoding with nvcodec, the required headers are already + in TW (permissively licensed). The required NVidia libraries are dlopen'ed. +- Enable ILBC decoder, ilbc is free and already packaged standalone. + +------------------------------------------------------------------- +Tue Nov 06 01:39:11 UTC 2018 - sean@suspend.net + +- Update ffmpeg to 4.1 + * Lots of filter updates as usual: deblock, tmix, aplify, + fftdnoiz, aderivative, aintegral, pal75bars, pal100bars, + adeclick, adeclip, lensfun (wrapper), colorconstancy, 1D LUT + filter (lut1d), cue, acue, transpose_npp, amultiply, + Block-Matching 3d (bm3d) denoising filter, acrossover filter, + audio denoiser as afftdn filter, sinc audio filter source, + chromahold, setparams, vibrance, xstack, + (a)graphmonitor filter yadif_cuda filter. + * AV1 parser + * Support for AV1 in MP4 + * PCM VIDC decoder and encoder + * libtensorflow backend for DNN based filters like srcnn + * -- The following only enabled in third-party builds: + * ATRAC9 decoder + * AVS2 video decoder via libdavs2 + * IMM4 video decoder + * Brooktree ProSumer video decoder + * MatchWare Screen Capture Codec decoder + * WinCam Motion Video decoder + * RemotelyAnywhere Screen Capture decoder + * AVS2 video encoder via libxavs2 + * ILBC decoder + * SER demuxer + * Decoding S12M timecode in H264 + * For complete changelog, see https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n4.1 +- Remove 0001-avcodec-libaom-fix-setting-amount-of-threads.patch + (fixed upstream (bsc#776cdd1), remove ffmpeg-CVE-2018-13305.patch, + remove 0001-avformat-flvenc-Check-audio-packet-size.patch, + remove cve-2017-17555.diff (fixed upstream). + +------------------------------------------------------------------- + +Sat Nov 03 14:48:35 UTC 2018 - sean@suspend.net + +- Remove 0001-avformat-fivenc-Check-audio-packet-size.patch (fixed upstream (bsc#8591d16) +- Update ffmpeg to 4.0.3 + * For complete changelog, see https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n4.0.3 + +------------------------------------------------------------------- +Tue Oct 23 06:05:42 UTC 2018 - qzheng@suse.com + +- Add ffmpeg-CVE-2018-13305.patch to add a missing check for + negative values of mqaunt variable (CVE-2018-13305, + bsc#1100345). + +------------------------------------------------------------------- +Thu Sep 13 23:17:35 UTC 2018 - 9+suse@cirno.systems + +- Add 0001-avcodec-libaom-fix-setting-amount-of-threads.patch + +------------------------------------------------------------------- +Fri Aug 24 07:19:30 UTC 2018 - jengelh@inai.de + +- Add 0001-avformat-flvenc-Check-audio-packet-size.patch + [CVE-2018-15822, boo#1105869] + +------------------------------------------------------------------- +Mon Aug 13 18:07:13 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 4.0.2: + * CVE-2018-13300: out of array read (boo#1100348, CVE-2018-13300) + * Various bugfixes and a revert + +------------------------------------------------------------------- +Sat Aug 11 08:28:47 UTC 2018 - carmen@carmenbianca.eu + +- bsc#1092241 Enable webvtt encoders and decoders. + +------------------------------------------------------------------- +Tue Aug 7 22:28:52 UTC 2018 - bjorn.lie@gmail.com + +- Build codec2 encoder and decoder, add libcodec2 to + enable_decoders and enable_encoders. + +------------------------------------------------------------------- +Mon Aug 6 07:40:15 UTC 2018 - davejplater@gmail.com + +- Enable mpeg 1 and 2 encoders. + +------------------------------------------------------------------- +Sun Aug 5 12:56:17 UTC 2018 - bjorn.lie@gmail.com + +- Add conditional pkgconfig(aom) BuildRequires and pass + --enable-libaom to configure as well as add libaom and libaom_av1 + to enable_decoders and enable_encoders: Build AOMedia Video 1 + (AV1) support. + +------------------------------------------------------------------- +Tue Jul 31 14:39:25 UTC 2018 - tchvatal@suse.com + +- bsc#1103064 attempt to allow migration from the unprefixed devel + packages cleanly + +------------------------------------------------------------------- +Fri Jul 27 08:56:56 UTC 2018 - tchvatal@suse.com + +- Reduce the optional conditional for the SLE12 backports to + cover everything, most of the packages in old codestreams were + not really ready as they need additional baselibs/etc. + * Since these are new features user will simply wait or use TW + +------------------------------------------------------------------- +Fri Jul 27 07:03:06 UTC 2018 - jengelh@inai.de + +- Enable "kmsgrab" input device + +------------------------------------------------------------------- +Thu Jul 26 08:09:32 UTC 2018 - tchvatal@suse.com + +- Redo the nvidia condition based on review feeback + +------------------------------------------------------------------- +Wed Jul 25 08:30:56 UTC 2018 - tchvatal@suse.com + +- Do not condition nvidia based on BUILD_ORIG all the support is in + TW only and not on different instances as such safeguard it with + version check only bsc#1102532 + +------------------------------------------------------------------- +Wed Jul 18 12:13:38 UTC 2018 - tchvatal@suse.com + +- Add new bconds to build on SLE12 backports project without + requiring extra packages: + * %bcond_without codec2 + * %bcond_without bs2b + * %bcond_without lv2 + * %bcond_without rubberband + * %bcond_without soxr + * %bcond_without zmq + +------------------------------------------------------------------- +Fri Jul 6 10:54:14 UTC 2018 - tchvatal@suse.com + +- Fix typo in swresample name + +------------------------------------------------------------------- +Wed Jul 4 12:08:40 UTC 2018 - tchvatal@suse.com + +- Conditionalize full build to be primary only on Leap15+ + +------------------------------------------------------------------- +Tue Jul 3 08:46:42 UTC 2018 - tchvatal@suse.com + +- Add macros to allow conflicting with all other devel projects + to ensure we always install only one specific ffmpeg + +------------------------------------------------------------------- +Sat Jun 30 13:58:40 UTC 2018 - tchvatal@suse.com + +- Conditionalize the vidstab build to not pull it on old releases +- Conditionalize srt support to not pull it on older releases + + ------------------------------------------------------------------- +Fri Jun 29 22:03:53 UTC 2018 - 9+suse@cirno.systems + +- Enable ffnvcodec when building with NVIDIA support + +------------------------------------------------------------------- +Fri Jun 29 21:59:52 UTC 2018 - bjorn.lie@gmail.com + +- Add pkgconfig(srt) BuildRequires and pass --enable-libsrt to + configure, enable srt support. +- Refresh patches with quilt: + * cve-2017-17555.diff + * ffmpeg-codec-choice.diff + * ffmpeg-libcdio_cdda-pkgconfig.patch + * ffmpeg-new-coder-errors.diff + +------------------------------------------------------------------- +Fri Jun 29 00:07:18 UTC 2018 - 9+suse@cirno.systems + +- Enable libxml2 (used by MPEG DASH demuxer) + +------------------------------------------------------------------- +Wed Jun 27 23:15:36 UTC 2018 - jengelh@inai.de + +- Update to new upstream release 4.0.1 + * Fixed some integer overflows, undefined shifts, negative + shifts, division by 0, and a null pointer deref. + +------------------------------------------------------------------- +Mon Jun 18 16:33:12 UTC 2018 - bjorn.lie@gmail.com + +- Enable pkgconfig(vidstab) BuildRequires unconditionally, now + available in openSUSE. + +------------------------------------------------------------------- +Thu Jun 14 07:53:52 UTC 2018 - tchvatal@suse.com + +- Conditionalize openmpt build to be resolvable on Leap 42.3 + +------------------------------------------------------------------- +Thu Jun 14 07:50:26 UTC 2018 - tchvatal@suse.com + +- Conditionalize mysofa build to be resolvable on Leap 15 + +------------------------------------------------------------------- +Thu Jun 14 07:40:24 UTC 2018 - tchvatal@suse.com + +- Conditionalize zimg to build on Leap 42.3 + +------------------------------------------------------------------- +Thu Jun 14 07:30:16 UTC 2018 - tchvatal@suse.com + +- Use autopatch + +------------------------------------------------------------------- +Wed Jun 13 17:25:28 UTC 2018 - tchvatal@suse.com + +- Provide ffmpeg symbol without version on main package too + +------------------------------------------------------------------- +Wed Jun 13 17:22:41 UTC 2018 - tchvatal@suse.com + +- Prefix all the devel packages and conflict between releases + * Provide always the %version-%release of the respective build + +------------------------------------------------------------------- +Wed Jun 13 17:10:22 UTC 2018 - tchvatal@suse.com + +- Fix setup call to enter to proper folder + +------------------------------------------------------------------- +Wed Jun 13 17:05:09 UTC 2018 - tchvatal@suse.com + +- Conflict with other ffmpeg-devel packages, simply always pull + one of them + +------------------------------------------------------------------- +Wed Jun 13 16:59:56 UTC 2018 - tchvatal@suse.com + +- Move license markings to the libs itself +- Add condition to switch between full build and lib only one +- Add provides/obsoletes on the ffmpeg private headers + +------------------------------------------------------------------- +Sat Jun 2 11:51:05 UTC 2018 - 9+suse@cirno.systems + +- Reintroduce conditional libxvid support since FFmpeg’s + MPEG4-ASP encoder is not quite up to par + +------------------------------------------------------------------- +Mon May 28 23:03:17 UTC 2018 - jengelh@inai.de + +- Avoid double-nesting BUILD_ORIG with %withs. + (Reintroduces with_opencore) + +------------------------------------------------------------------- +Sun May 27 23:11:01 UTC 2018 - bjorn.lie@gmail.com + +- Drop long obsolete and unused vo_aacenc %bcond_with. +- Add conditional --enable-librtmp in build_orig part of spec, + conditional BuildRequires already in place. +- Drop opencore conditional, explicitly enable them for all + BUILD_ORIG builds. +- Drop conditional xvid %bcond_with, libxvidcore-devel + BuildRequires and --enable-libxvid call to configure: ffmpeg have + a fully capable mpeg4 encoder and decoder, avoid external + dependency. +- Minor spec cleanup. + +------------------------------------------------------------------- +Fri Apr 27 07:22:18 UTC 2018 - 9+suse@cirno.systems + +- Enable libmysofa support (sofalizer HRTF filter) + +------------------------------------------------------------------- +Wed Apr 25 05:55:35 UTC 2018 - 9+suse@cirno.systems + +- Remove superfluous __DATE__/__TIME__ replacement +- Correct libvpx version dependency +- Enable support for additional libraries: + * libbs2b + * libcodec2 + * libfontconfig + * libfribidi (already in BuildRequires) + * libgme + * libjack (already in BuildRequires) + * libopenmpt + * librubberband + * libsoxr + * libssh + * libv4l2 + * libzmq + * lv2 + +------------------------------------------------------------------- +Sat Apr 21 10:59:38 UTC 2018 - jengelh@inai.de + +- Update to new upstream release 4.0 + * New audio filters: mcompand, acontrast, lv2 wrapper, hilbert, + aiir, drmeter + * New video filters: mix, normalize, fillborders, setrange, + deconvolve, entropy, vfrdet + * OpenCL overlay filter + * VAAPI MJPEG and VP8 decoding + * VAAPI-accelerated ProcAmp (color balance), denoise and + sharpness filters + * Removed the ffserver program + * Removed the ffmenc and ffmdec muxer and demuxer + * codec2 en/decoding via libcodec2 + * New bitstream filter: hapqa_extract, filter_units + * Fixed img2dec infinite loop [boo#1090826, CVE-2018-7751] +- Remove 0001-opusenc-psy-disable-stereo-searches.patch + +------------------------------------------------------------------- +Mon Apr 09 20:47:49 UTC 2018 - enzokiel@kabelmail.de + +- Enable build against libzimg. + +------------------------------------------------------------------- +Tue Mar 27 16:04:57 UTC 2018 - jengelh@inai.de + +- Add 0001-opusenc-psy-disable-stereo-searches.patch + to fix a crash in the Opus encoder when outputting mono. +- Enable FFmpeg Opus encoder as a selectable runtime alternative + to Xiph libopus. + +------------------------------------------------------------------- +Fri Mar 23 10:54:48 UTC 2018 - alarrosa@suse.com + +- Create a new package ffmpeg-private-devel which contains some + headers under /usr/include/ffmpeg/private that were not installed + by upstream. Those headers are needed by the libav package in order + to build avconv and other tools using the libav* libraries generated + by ffmpeg instead of its own. No other package should require + ffmpeg-private-devel. + +------------------------------------------------------------------- +Wed Mar 21 16:04:32 UTC 2018 - alarrosa@suse.com + +- Build and install also the sidxindex tool + +------------------------------------------------------------------- +Tue Feb 20 21:27:19 UTC 2018 - bjorn.lie@gmail.com + +- Enable mpeg1video and mpeg2video in enable_decoders, and remove + it from disable-decoders call given to configure, mpeg2 now + available in openSUSE. + +------------------------------------------------------------------- +Tue Feb 13 14:39:31 UTC 2018 - nico.kruber@gmail.com + +- enable video stabilization/deshaking via libvidstab (optional) + +------------------------------------------------------------------- +Mon Feb 12 11:55:47 UTC 2018 - jengelh@inai.de + +- Update to new bugfix release 3.4.2 + * Fix integer overflows, multiplication overflows, undefined + shifts, and verify buffer lengths. + * avfilter/vf_transpose: Fix used plane count + [boo#1078488, CVE-2018-6392] + * avcodec/utvideodec: Fix bytes left check in decode_frame() + [boo#1079368, CVE-2018-6621] +- Enable use of libzvbi for displaying teletext subtitles. +- Fixed a DoS in swri_audio_convert(), added cve-2017-17555.diff + [boo#1072366, CVE-2017-17555]. + +------------------------------------------------------------------- +Mon Dec 11 11:24:03 UTC 2017 - jengelh@inai.de + +- Update to new bugfix release 3.4.1 + * Fixed integer overflows, division by zero, illegal bit shifts + * Fixed the gmc_mmx function which failed to validate width + and height [boo#1070762, CVE-2017-17081] + * Fixed out-of-bounds in VC-2 encoder [boo#1069407, CVE-2017-16840] + * ffplay: use SDL2 audio API +- Removed 0001-avcodec-x86-mpegvideodsp-Fix-signedness-bug-in-need_.patch + (upstreamed). + +------------------------------------------------------------------- +Fri Dec 1 10:55:08 UTC 2017 - jengelh@inai.de + +- Add 0001-avcodec-x86-mpegvideodsp-Fix-signedness-bug-in-need_.patch + [boo#1070762] + +------------------------------------------------------------------- +Thu Nov 30 07:07:49 UTC 2017 - jslaby@suse.com + +- install also doc/ffserver.conf + +------------------------------------------------------------------- +Tue Oct 31 17:35:25 UTC 2017 - jengelh@inai.de + +- Get rid of ffmpeg-pkgconfig-version.patch. + +------------------------------------------------------------------- +Mon Oct 16 11:16:16 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.4 + * New video filters: deflicker, doublewave, lumakey, pixscope, + oscilloscope, robterts, limiter, libvmaf, unpremultiply, + tlut2, floodifll, pseudocolor, despill, convolve, vmafmotion. + * New audio filters: afir, crossfeed, surround, headphone, + superequalizer, haas. + * Some video filters with several inputs now use a common set + of options: blend, libvmaf, lut3d, overlay, psnr, ssim. They + must always be used by name. + * librsvg support for svg rasterization + * spec-compliant VP9 muxing support in MP4 + * Remove the libnut and libschroedinger muxer/demuxer wrappers + * drop deprecated qtkit input device (use avfoundation instead) + * SUP/PGS subtitle muxer + * VP9 tile threading support + * KMS screen grabber + * CUDA thumbnail filter + * V4L2 mem2mem HW assisted codecs + * Rockchip MPP hardware decoding + * (Not in openSUSE builds, only original ones:) + * Gremlin Digital Video demuxer and decoder + * Additional frame format support for Interplay MVE movies + * Dolby E decoder and SMPTE 337M demuxer + * raw G.726 muxer and demuxer, left- and right-justified + * NewTek NDI input/output device + * FITS demuxer, muxer, decoder and encoder +- Fixed a double free in huffyuv [boo#1064577, CVE-2017-15186] +- Fixed an out-of-bounds in ffv1dec [boo#1066428, CVE-2017-15672] +- Fixed a denial of service in rtmppkt [boo#1082335, CVE-2017-11665] + +------------------------------------------------------------------- +Tue Sep 12 10:57:37 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.3.4. + * avutil/pixdesc: fixed NULL deref in av_color_primaries_name + [CVE-2017-14225] [boo#1058018] + * avformat/asfdec: Fix DoS in asf_build_simple_index + [CVE-2017-14223] [boo#1058019] + * avformat/mov: Fix DoS in read_tfra + [CVE-2017-14222] [boo#1058020]. +- Dropped integrated patches: + D 0001-avformat-hls-Fix-DoS-due-to-infinite-loop.patch + D 0001-avformat-nsvdec-Fix-DoS-due-to-lack-of-eof-check-in-.patch + D 0002-avformat-asfdec-Fix-DoS-due-to-lack-of-eof-check.patch + D 0002-avformat-mxfdec-Fix-DoS-issues-in-mxf_read_index_ent.patch + D 0003-avformat-cinedec-Fix-DoS-due-to-lack-of-eof-check.patch + D 0003-avformat-mxfdec-Fix-Sign-error-in-mxf_read_primer_pa.patch + D 0004-avformat-rmdec-Fix-DoS-due-to-lack-of-eof-check.patch + D 0005-avformat-rl2-Fix-DoS-due-to-lack-of-eof-check.patch + D 0006-avformat-mvdec-Fix-DoS-due-to-lack-of-eof-check.patch + +------------------------------------------------------------------- +Thu Sep 7 08:33:20 UTC 2017 - jengelh@inai.de + +- Add 0001-avformat-nsvdec-Fix-DoS-due-to-lack-of-eof-check-in-.patch + [CVE-2017-14171] [boo#1057539], + 0002-avformat-mxfdec-Fix-DoS-issues-in-mxf_read_index_ent.patch + [CVE-2017-14170] [boo#1057537], + 0003-avformat-mxfdec-Fix-Sign-error-in-mxf_read_primer_pa.patch + [CVE-2017-14169] [boo#1057536] + +------------------------------------------------------------------- +Mon Sep 4 20:19:07 UTC 2017 - jengelh@inai.de + +- Add 0001-avformat-hls-Fix-DoS-due-to-infinite-loop.patch + [CVE-2017-14058] [boo#1056762], + 0002-avformat-asfdec-Fix-DoS-due-to-lack-of-eof-check.patch + [CVE-2017-14057] [boo#1056761], + 0003-avformat-cinedec-Fix-DoS-due-to-lack-of-eof-check.patch + [CVE-2017-14059] [boo#1056763], + 0004-avformat-rmdec-Fix-DoS-due-to-lack-of-eof-check.patch + [CVE-2017-14054] [boo#1056765], + 0005-avformat-rl2-Fix-DoS-due-to-lack-of-eof-check.patch + (code not enabled in openSUSE, though in packman) + [CVE-2017-14056] [boo#1056760], + 0006-avformat-mvdec-Fix-DoS-due-to-lack-of-eof-check.patch + [CVE-2017-14055] [boo#1056766] + +------------------------------------------------------------------- +Sat Aug 26 14:56:44 UTC 2017 - jengelh@inai.de + +- Unconditionalize celt, ass, openjpeg, webp, netcdf, libva, vdpau. + +------------------------------------------------------------------- +Fri Aug 25 06:34:58 UTC 2017 - olaf@aepfle.de + +- Build unconditionally with lame and twolame + +------------------------------------------------------------------- +Sun Jul 30 23:07:52 UTC 2017 - jengelh@inai.de + +- Update to maintenance release 3.3.3 + * Various fixes for integer overflows, too-large bit shifts + and buffer length checks. +- Drop 0001-avcodec-apedec-Fix-integer-overflow.patch + (included upstream) + +------------------------------------------------------------------- +Tue Jul 18 08:47:03 UTC 2017 - jengelh@inai.de + +- Add 0001-avcodec-apedec-Fix-integer-overflow.patch + to address CVE-2017-11399 [boo#1049095] + +------------------------------------------------------------------- +Fri Jun 23 12:14:07 UTC 2017 - davejplater@gmail.com + +- Enabled cuda and cuvid for unrestricted build. +- Fixed typos in devel package descriptions. + +------------------------------------------------------------------- +Wed Jun 7 10:48:54 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.3.2 + * Various fixes for integer overflows and too-large bit shifts + +------------------------------------------------------------------- +Wed May 31 11:41:10 UTC 2017 - davejplater@gmail.com + +- Disable cuda support to fix boo#1041794: + ffmpeg 3.3. enablement of cuda prevents H264/avc1.4d400d videos + from playing on Youtube +- Refreshed patches: ffmpeg-codec-choice.diff + ffmpeg-libcdio_cdda-pkgconfig.patch + ffmpeg-pkgconfig-version.patch and ffmpeg-new-coder-errors.diff + +------------------------------------------------------------------- +Wed May 31 00:18:31 UTC 2017 - jengelh@inai.de + +- Add additional checks to ensure MPEG is off + +------------------------------------------------------------------- +Fri May 19 17:57:00 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.3.1 + * Fix uninitialized variables, signed integer overflow, + excess shift operations. Add boundary checks. + +------------------------------------------------------------------- +Tue Apr 18 13:43:51 UTC 2017 - jengelh@inai.de + +- Enable ac3 per request from idonmez + +------------------------------------------------------------------- +Fri Apr 14 14:02:24 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.3 + * EBU R128 implementation now within ffmpeg, not relying on + external library anymore + * New video filters "premultiply", "readeia608", "threshold", + "midequalizer" + * Support for spherical videos + * New decoders: 16.8 and 24.0 floating point PCM, XPM + * New demuxers: MIDI Sample Dump Standard, Sample Dump eXchange demuxer + * MJPEG encoding uses Optimal Huffman tables now + * Native Opus encoder + * Support .mov with multiple sample description tables + * Removed the legacy X11 screen grabber, use XCB instead + * Removed asyncts filter (use af_aresample instead) + * resolved CVE-2016-10190 [boo#1022920], + CVE-2016-10191 [boo#1022921], CVE-2016-10192 [boo#1022922], + CVE-2017-7859 [boo#1034183], CVE-2017-7862 [boo#1034181], + CVE-2017-7863 [boo#1034179], CVE-2017-7865 [boo#1034177], + CVE-2017-7866 [boo#1034176] + +------------------------------------------------------------------- +Thu Apr 13 13:33:35 UTC 2017 - idonmez@suse.com + +- Enable mp3 decoding + +------------------------------------------------------------------- +Sat Feb 18 14:22:15 UTC 2017 - dimstar@opensuse.org + +- Have libavcodec57 additionally provide libavcodec57(unrestricted) + when building unrestricted: allow third party packages to require + the unrestricted codec. The existing -full provides is not + suitable as it can be provided by multiple libavcodec* packages, + whereas we require a specific ABI version. + +------------------------------------------------------------------- +Sat Feb 11 11:31:55 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.2.4 + * lavf/mov.c: Avoid heap allocation wrap in mov_read_hdlr + * lavf/mov.c: Avoid OOB in mov_read_udta_string() + * lavf/mov.c: Avoid heap allocation wraps in mov_read_{senc,saiz}() + +------------------------------------------------------------------- +Sat Feb 11 09:13:02 UTC 2017 - olaf@aepfle.de + +- Make sure each subpkg comes from the same src.rpm + +------------------------------------------------------------------- +Tue Feb 7 13:47:05 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.2.3 + * Maintenance release with bugfixes + * ffplay: fix sws_scale possible out of bounds array access +- Drop version number from patch: ffmpeg-2.4.5-arm6l.patch -> + ffmpeg-arm6l.diff + +------------------------------------------------------------------- +Tue Jan 3 11:04:12 UTC 2017 - olaf@aepfle.de + +- Wrap netcdf support in build condtional because it is a drop-in pkg + +------------------------------------------------------------------- +Tue Dec 20 12:05:52 UTC 2016 - tchvatal@suse.com + +- Enable all muxers and demuxers as they are just descriptor of format + thus do not change the behaviour in any relevant way. + * The best user now gets is proper interpretation of the format and + failure to play it without proper de/encoder + * Recommended by vlc team to be done this way :) + +------------------------------------------------------------------- +Tue Dec 6 11:52:10 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 3.2.2 + * avformat/rtmppkt: Check for packet size mismatches + * avcodec/flacdec: Fix undefined shift in decode_subframe() + * avcodec/flacdec: Fix signed integer overflow in + decode_subframe_fixed() + * avcodec/flacdsp_template: Fix undefined shift in + flac_decorrelate_indep_c + +------------------------------------------------------------------- +Sat Nov 26 07:30:28 UTC 2016 - aloisio@gmx.com + +- Update to version 3.2.1: + * avcodec/aac_adtstoasc_bsf: validate and forward extradata + if the stream is already ASC + * libopusdec: default to stereo for invalid number of + channels + * sbgdec: prevent NULL pointer access + * rmdec: validate block alignment + * smacker: limit recursion depth of smacker_decode_bigtree + * mxfdec: fix NULL pointer dereference in mxf_read_packet_old + * ffmdec: validate codec parameters + * avformat/mpeg: Adjust vid probe threshold to correct + mis-detection + * avcodec/avpacket: fix leak on realloc in + av_packet_add_side_data() + * avformat/apngenc: use the stream parameters extradata if + available + * ffprobe: fix crash in case -of is specified with an empty + string + * exr: fix out-of-bounds read + * libschroedingerdec: fix leaking of framewithpts + * filmstripdec: correctly check image dimensions + * icodec: fix leaking pkt on error + * dvbsubdec: fix division by zero in compute_default_clut + * escape124: reject codebook size 0 + * mpegts: prevent division by zero + * matroskadec: fix NULL pointer dereference in + webm_dash_manifest_read_header + * mxfdec: fix NULL pointer dereference + * avcodec/mpeg4videodec: Workaround interlaced mpeg4 edge MC + bug + * avcodec/mpegvideo: Fix edge emu buffer overlap with + interlaced mpeg4 + * avcodec/ituh263dec: Avoid spending a long time in slice + sync + * avcodec: Check side data size before use + * avformat/flvdec: Fix regression losing streams + +------------------------------------------------------------------- +Fri Oct 28 22:50:18 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 3.2 +* SDL2 output device and ffplay support +* SDL1 output device and SDL1 support removed +* New: libopenmpt demuxer, fifo muxer, True Audio (TTA) muxer +* New filters: weave, gblur, avgblur, sobel, prewitt, + vaguedenoiser, yuvtestsrc, lut2, hysteresis, maskedclamp, + crystalizer, acrusher, bitplanenoise, sidedata, asidedata +* Non-Local Means (nlmeans) denoising filter +* 16-bit support in curves filter and selectivecolor filter +* Added threads option per filter instance +* The "curves" filter does not automatically insert points at x=0 + and x=1 anymore +* Matroska muxer now writes CRC32 elements by default in all + Level 1 elements +* New "tee" protocol +* VP8 in Ogg muxing +* Floating point support in ALS decoder +* Extended mov edit list support +* Changed mapping of RTP MIME type G726 to codec g726le. +- Drop ffmpeg-fix-CONFIG_VC1DSP-changes.patch + (no longer needed) + +------------------------------------------------------------------- +Fri Oct 28 17:58:28 UTC 2016 - olaf@aepfle.de + +- Enable libfdk_aac if it is available at buildtime + +------------------------------------------------------------------- +Sat Oct 22 07:46:27 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.5 + * avformat/mxfdec: Check size to avoid integer overflow in + mxf_read_utf16_string() + * avcodec/mpegvideo_enc: Clear mmx state in + ff_mpv_reallocate_putbitbuffer() + * avcodec/utils: Clear MMX state before returning from + avcodec_default_execute*() + * libopenjpegenc: fix out-of-bounds reads when filling the + edges + * libopenjpegenc: stop reusing image data buffer for + openjpeg 2 + * avformat/utils: Update codec_id before using it in the + parser init + * ffmpeg: remove unused and errorneous AVFrame timestamp + check + * Support for MIPS cpu P6600 + * avutil/mips/generic_macros_msa: rename macro variable + which causes segfault for mips r6 + +------------------------------------------------------------------- +Sat Oct 1 11:00:20 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.4 + * avformat/avidec: Check nb_streams in read_gab2_sub() + * avformat/avidec: Remove ancient assert + * avfilter/vf_colorspace: fix range for output colorspace + option + * lavc/mediacodecdec_h264: fix SODB escaping + * avcodec/nvenc: fix const options for hevc gpu setting + * avformat/avidec: Fix memleak with dv in avi + * lavc/movtextdec.c: Avoid infinite loop on invalid data. + * avcodec/ansi: Check dimensions + * avcodec/cavsdsp: use av_clip_uint8() for idct + * avformat/movenc: Check packet in mov_write_single_packet() + too + * avformat/movenc: Factor check_pkt() out + * avformat/utils: fix timebase error in avformat_seek_file() + * avcodec/g726: Add missing ADDB output mask + * avcodec/avpacket: clear side_data_elems + * avformat/movenc: Check first DTS similar to dts difference + * avcodec/ccaption_dec: Use simple array instead of AVBuffer + * avcodec/svq3: Reintroduce slice_type + * avformat/mov: Fix potential integer overflow in + mov_read_keys + * swscale/swscale_unscaled: Try to fix + Rgb16ToPlanarRgb16Wrapper() with slices + * swscale/swscale_unscaled: Fix packed_16bpc_bswap() with + slices + * avformat/avidec: Fix infinite loop in avi_read_nikon() + * lavf/utils: Avoid an overflow for huge negative durations. + * avformat/hls: Fix handling of EXT-X-BYTERANGE streams over + 2GB + * lavc/avpacket: Fix undefined behaviour, do not pass a null + pointer to memcpy(). + * lavc/mjpegdec: Do not skip reading quantization tables. + * cmdutils: fix implicit declaration of SetDllDirectory + function + +------------------------------------------------------------------- +Mon Aug 29 00:36:30 UTC 2016 - stefan.bruens@rwth-aachen.de + +- Fix linking errors for arm and aarch64 builds, boo#995937 + * Add ffmpeg-fix-CONFIG_VC1DSP-changes.patch + +------------------------------------------------------------------- +Sat Aug 27 06:18:31 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.3 + * examples/demuxing_decoding: convert to codecpar + * avcodec/exr: Check tile positions + * avcodec/aacenc: Tighter input checks + * avformat/wtvdec: Check pointer before use + * libavcodec/wmalosslessdec: Check the remaining bits + * avcodec/adpcm: Fix adpcm_ima_wav padding + * avcodec/svq3: fix slice size check + * avcodec/diracdec: Check numx/y + * avcodec/h2645_parse: fix nal size + * avcodec/h2645_parse: Use get_nalsize() in + ff_h2645_packet_split() + * h2645_parse: only read avc length code at the correct + position + * h2645_parse: don't overread AnnexB NALs within an avc + stream + * avcodec/h264_parser: Factor get_avc_nalsize() out + * avcodec/cfhd: Increase minimum band dimension to 3 + * avcodec/indeo2: check ctab + * avformat/swfdec: Fix inflate() error code check + * avcodec/rawdec: Fix bits_per_coded_sample checks + * vcodec/h2645_parse: Clear buffer padding + * avcodec/h2645: Fix NAL unit padding + * avfilter/drawutils: Fix single plane with alpha + * cmdutils: check for SetDllDirectory() availability + +------------------------------------------------------------------- +Tue Aug 9 07:34:10 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.2: + * avcodec/rawdec: Fix palette handling with changing + palettes + * avcodec/raw: Fix decoding of ilacetest.mov + * avformat/mov: Enable mp3 parsing if a packet needs it + * avformat/hls: Sync starting segment across variants on + live streams + * avformat/hls: Fix regression with ranged media segments + * avcodec/ffv1enc: Fix assertion failure with non zero + bits per sample + * avfilter/af_hdcd: small fix in af_hdcd.c where gain was + not being adjusted for "attenuate slowly" + * avformat/oggdec: Fix integer overflow with invalid pts + * libavcodec/dnxhd: Enable 12-bit DNxHR support. + * lavc/vaapi_encode_h26x: Fix a crash if "." is not the + decimal separator. + * avcodec/vp9_parser: Check the input frame sizes for + being consistent + * avformat/flvdec: parse keyframe before a/v stream was + created add_keyframes_index() when stream created or + keyframe parsed + * libavformat/rtpdec_asf: zero initialize the AVIOContext + struct + * libx264: Increase x264 opts character limit to 4096 + * avcodec/h264_parser: Set sps/pps_ref + * librtmp: Avoid an infinite loop setting connection + arguments + * avformat/oggparsevp8: fix pts calculation on pages + ending with an invisible frame + * lavf/vplayerdec: Improve auto-detection. + * lavc/mediacodecdec_h264: properly convert extradata to + annex-b + +------------------------------------------------------------------- +Fri Jul 29 09:25:52 UTC 2016 - jengelh@inai.de + +- Build with netcdf so as to enable af_sofalizer [boo#983398] + +------------------------------------------------------------------- +Fri Jul 1 06:17:49 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.1 + * doc/APIchanges: document the lavu/lavf field moves + * avformat/avformat: Move new field to the end of AVStream + * avformat/utils: update deprecated AVStream->codec when the context is updated + * avutil/frame: Move new field to the end of AVFrame + * libavcodec/exr : fix decoding piz float file. + * avformat/mov: Check sample size + * lavfi: Move new field to the end of AVFilterContext + * lavfi: Move new field to the end of AVFilterLink + * ffplay: Fix usage of private lavfi API + * lavc/mediacodecdec_h264: add missing NAL headers to SPS/PPS buffers + * lavc/pnm_parser: disable parsing for text based PNMs + +------------------------------------------------------------------- +Mon Jun 27 06:20:03 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1 + * DXVA2-accelerated HEVC Main10 decoding + * fieldhint filter + * loop video filter and aloop audio filter + * Bob Weaver deinterlacing filter + * firequalizer filter + * datascope filter + * bench and abench filters + * ciescope filter + * protocol blacklisting API + * MediaCodec H264 decoding + * VC-2 HQ RTP payload format (draft v1) depacketizer and + packetizer + * VP9 RTP payload format (draft v2) packetizer + * AudioToolbox audio decoders + * AudioToolbox audio encoders + * coreimage filter (GPU based image filtering on OSX) + * libdcadec removed + * bitstream filter for extracting DTS core + * ADPCM IMA DAT4 decoder + * musx demuxer + * aix demuxer + * remap filter + * hash and framehash muxers + * colorspace filter + * hdcd filter + * readvitc filter + * VAAPI-accelerated format conversion and scaling + * libnpp/CUDA-accelerated format conversion and scaling + * Duck TrueMotion 2.0 Real Time decoder + * Wideband Single-bit Data (WSD) demuxer + * VAAPI-accelerated H.264/HEVC/MJPEG encoding + * DTS Express (LBR) decoder + * Generic OpenMAX IL encoder with support for Raspberry Pi + * IFF ANIM demuxer & decoder + * Direct Stream Transfer (DST) decoder + * loudnorm filter + * MTAF demuxer and decoder + * MagicYUV decoder + * OpenExr improvements (tile data and B44/B44A support) + * BitJazz SheerVideo decoder + * CUDA CUVID H264/HEVC decoder + * 10-bit depth support in native utvideo decoder + * libutvideo wrapper removed + * YUY2 Lossless Codec decoder + +- Added minimum requirement for libva (0.35.0, matched by + 1.3.0 package) + +------------------------------------------------------------------- +Tue May 31 08:31:36 UTC 2016 - robert.munteanu@gmail.com + +- Guard usage of opencore using bcond_with, boo#980542 + +------------------------------------------------------------------- +Thu Apr 28 06:29:57 UTC 2016 - aloisio@gmx.com + +- Update to version 3.0.2 + * avcodec/ttaenc: Reallocate packet if its too small + * configure: build fix for P5600 with mips code restructuring + * mips: add support for R6 + * pgssubdec: fix subpicture output colorspace and range + * avcodec/ac3dec: Reset SPX when switching from EAC3 to AC3 + * avfilter/vf_drawtext: Check return code of load_glyph() + * avformat/mux: Check that deinit is set before calling it + * avcodec/takdec: add code that got somehow lost in process of + REing + * avcodec/apedec: fix decoding of stereo files with one + channel full of silence + * avcodec/avpacket: Fix off by 5 error + * avcodec/h264: Fix for H.264 configuration parsing + * avcodec/bmp_parser: Ensure remaining_size is not too small + in startcode packet crossing corner case + * avcodec/pngdec: Fix alpha detection with skip_frame + * Changelog: Make formating consistent + * avfilter/src_movie: fix how we check for overflows with + seek_point + * avcodec/j2kenc: Add attribution to OpenJPEG project: + +- Dropped dcadec (libdca was merged upstream) + +------------------------------------------------------------------- +Mon Apr 25 06:39:32 UTC 2016 - jengelh@inai.de + +- Add ffmpeg-codec-choice.diff + +------------------------------------------------------------------- +Sun Apr 17 22:13:21 UTC 2016 - olaf@aepfle.de + +- Remove ffmpeg-devel subpackage. + All users have been converted to pkgconfig + Add Provides/Obsoletes to libavdevice-devel + +------------------------------------------------------------------- +Sun Apr 10 21:51:14 UTC 2016 - jengelh@inai.de + +- Add ffmpeg-new-coder-errors.diff + +------------------------------------------------------------------- +Wed Apr 6 18:57:05 UTC 2016 - jengelh@inai.de + +- Another try at organizing the codec-enable list. + Enable video: AYUV, Dirac, MJPEG, rawvideo, Theora, VP8, VP9, WebP, + zlib + Enable audio: Celt, GSM, Opus, Speex, Vorbis + Enable subtitle: ASS/SSA text, SRT text, UTF-8 plaintext + +------------------------------------------------------------------- +Wed Mar 30 00:47:30 UTC 2016 - jengelh@inai.de + +- Update to new maintenance release 3.0.1 +* vc2enc: fix use of uninitialized variables in the rate control + system +* postproc: fix an unaligned access +* lavc/hevc: Allow arbitrary garbage in bytestream as long as at + least one NAL unit is found. + +------------------------------------------------------------------- +Tue Feb 16 16:36:09 UTC 2016 - olaf@aepfle.de + +- Update included pkgconfig files to require the exact version + of ffmpeg pc files, instead of any later version + ffmpeg-pkgconfig-version.patch + +------------------------------------------------------------------- +Mon Feb 15 12:57:55 UTC 2016 - idonmez@suse.com + +- Remove the optional vo-aacenc dependency, upstream removed it. + +------------------------------------------------------------------- +Mon Feb 15 11:54:46 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 3.0 +* New filters: extrastereo, ocr, alimiter, stereowiden, stereotools, + rubberband, tremolo, agate, chromakey, displace, and many more. +* ffplay dynamic volume control +* audio high-order multiband parametric equalizer +* automatic bitstream filtering + +------------------------------------------------------------------- +Tue Feb 2 18:24:15 UTC 2016 - aloisio@gmx.com + +- Update to version 2.8.6 + * avcodec/jpeg2000dec: More completely check cdef + * avutil/opt: check for and handle errors in av_opt_set_dict2() + * avcodec/flacenc: fix calculation of bits required in case + of custom sample rate + * avformat: Document urls a bit + * avformat/libquvi: Set default demuxer and protocol + limitations + * avformat/concat: Check protocol prefix + * doc/demuxers: Document enable_drefs and use_absolute_path + * avcodec/mjpegdec: Check for end for both bytes in unescaping + * avcodec/mpegvideo_enc: Check for integer overflow in + ff_mpv_reallocate_putbitbuffer() + * avformat/avformat: Replace some references to filenames by + urls + * avcodec/wmaenc: Check ff_wma_init() for failure + * avcodec/mpeg12enc: Move high resolution thread check to + before initializing threads + * avformat/img2dec: Use AVOpenCallback + * avformat/avio: Limit url option parsing to the documented + cases + * avformat/img2dec: do not interpret the filename by default + if a IO context has been opened + * avcodec/ass_split: Fix null pointer dereference in + ff_ass_style_get() + * mov: Add an option to toggle dref opening + * avcodec/gif: Fix lzw buffer size + * avcodec/put_bits: Assert buf_ptr in flush_put_bits() + * avcodec/tiff: Check subsample & rps values more completely + * swscale/swscale: Add some sanity checks for srcSlice* + parameters + * swscale/x86/rgb2rgb_template: Fix planar2x() for short + width + * swscale/swscale_unscaled: Fix odd height inputs for + bayer_to_yv12_wrapper() + * swscale/swscale_unscaled: Fix odd height inputs for + bayer_to_rgb24_wrapper() + * avcodec/aacenc: Check both channels for finiteness + * asfdec_o: check for too small size in asf_read_unknown + * asfdec_o: break if EOF is reached after + asf_read_packet_header + * asfdec_o: make sure packet_size is non-zero before seeking + * asfdec_o: prevent overflow causing seekback + * asfdec_o: check avio_skip in asf_read_simple_index + * asfdec_o: reject size > INT64_MAX in asf_read_unknown + * asfdec_o: only set asf_pkt->data_size after sanity checks + * Merge commit '8375dc1dd101d51baa430f34c0bcadfa37873896' + * dca: fix misaligned access in avpriv_dca_convert_bitstream + * brstm: fix missing closing brace + * brstm: also allocate b->table in read_packet + * brstm: make sure an ADPC chunk was read for adpcm_thp + * vorbisdec: reject rangebits 0 with non-0 partitions + * vorbisdec: reject channel mapping with less than two + channels + * ffmdec: reset packet_end in case of failure + * avformat/ipmovie: put video decoding_map_size into packet + and use it in decoder + * avformat/brstm: fix overflow + +------------------------------------------------------------------- +Sun Jan 17 09:45:29 UTC 2016 - idonmez@suse.com + +- Update to version 2.8.5 +* Fixes CVE-2016-1897 and CVE-2016-1898 [boo#961937] + +------------------------------------------------------------------- +Mon Dec 28 13:51:18 UTC 2015 - idonmez@suse.com + +- Update to version 2.8.4 +* Many bugfixes, see the included Changelog for all the changes. +* resolving CVE-2015-8661 [boo#960385], CVE-2015-8662 [boo#960384], + CVE-2015-8663 [boo#960383] +- Drop ffmpeg-remove_some_unused_ctrl_id_mappings.patch, fixed + upstream. + +------------------------------------------------------------------- +Tue Dec 22 09:14:58 UTC 2015 - olaf@aepfle.de + +- Obsolete ffmpeg-tools from packman + +------------------------------------------------------------------- +Mon Dec 21 12:37:05 UTC 2015 - jengelh@inai.de + +- Add some provides to make it easier for firefox to recommend + this package for installation + +------------------------------------------------------------------- +Sat Dec 19 13:05:31 UTC 2015 - joerg.lorenzen@ki.tng.de + +- Added patch ffmpeg-remove_some_unused_ctrl_id_mappings.patch to + successfully build against libvpx >= 1.5 (at least on PMBS). + +------------------------------------------------------------------- +Thu Dec 17 07:04:14 UTC 2015 - olaf@aepfle.de + +- Add buildconditionals for libass,libva,vdpau to fix build in SLE_11 + +------------------------------------------------------------------- +Mon Dec 14 11:05:46 UTC 2015 - olaf@aepfle.de + +- Rename bcond dca to dcadec +- Add more buildconditionals to get closer to removal of BUILD_ORIG + +------------------------------------------------------------------- +Wed Dec 9 13:23:44 UTC 2015 - olaf@aepfle.de + +- Remove unused imlib2 + +------------------------------------------------------------------- +Mon Dec 7 12:18:36 UTC 2015 - idonmez@suse.com + +- Sync with packman changes + * All packman specific changes are protected with BUILD_ORIG +- Added the following patches + * ffmpeg-2.4.5-arm6l.patch + * ffmpeg-libcdio_cdda-pkgconfig.patch + +------------------------------------------------------------------- +Sun Nov 29 11:24:54 UTC 2015 - jengelh@inai.de + +- Update to new upstream maintenance release 2.8.3 +* avformat/matroskadec: Check subtitle stream before dereferencing +* avcodec/jpeg2000dec: Fix potential integer overflow with tile + dimensions +* avcodec/jpeg2000dec: Check for duplicate SIZ marker +* avcodec/jpeg2000: Change coord to 32bit to support larger than + 32k width or height +* avcodec/jpeg2000dec: Check SIZ dimensions to be within the + supported range +* avcodec/jpeg2000: Check comp coords to be within the supported + size +* dds: validate compressed source buffer size +* dds: validate source buffer size before copying +* softfloat: assert when the argument of av_sqrt_sf is negative +- Fixes CVE-2015-8363 [bnc#957114], CVE-2015-8364 [bnc#957115], + CVE-2015-8365 [bnc#957116] + +------------------------------------------------------------------- +Sat Nov 14 06:46:13 UTC 2015 - idonmez@suse.com + +- Update to new upstream release 2.8.2, containing fixes for the + following security issues: + * CVE-2015-8216 boo#955346 + * CVE-2015-8217 boo#955347 + * CVE-2015-8218 boo#955348 + * CVE-2015-8219 boo#955350 +- Upstream changes: + * various fixes in the aac_fixed decoder + * various fixes in softfloat + * swresample/resample: increase precision for compensation + * lavf/mov: add support for sidx fragment indexes + * avformat/mxfenc: Only store user comment related tags when needed + * ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format. + * apng: use correct size for output buffer + * jvdec: avoid unsigned overflow in comparison + * avcodec/jpeg2000dec: Clip all tile coordinates + * avcodec/microdvddec: Check for string end in 'P' case + * avcodec/dirac_parser: Fix undefined memcpy() use + * avformat/xmv: Discard remainder of packet on error + * avformat/xmv: factor return check out of if/else + * avcodec/mpeg12dec: Do not call show_bits() with invalid bits + * avcodec/faxcompr: Add missing runs check in decode_uncompressed() + * libavutil/channel_layout: Check strtol*() for failure + * avformat/mpegts: Only start probing data streams within probe_packets + * avcodec/hevc_ps: Check chroma_format_idc + * avcodec/ffv1dec: Check for 0 quant tables + * avcodec/mjpegdec: Reinitialize IDCT on BPP changes + * avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it + * avcodec/h264_slice: Disable slice threads if there are multiple access units in a packet + * avformat/hls: update cookies on setcookie response + * opusdec: Don't run vector_fmul_scalar on zero length arrays + * avcodec/opusdec: Fix extra samples read index + * avcodec/ffv1: Initialize vlc_state on allocation + * avcodec/ffv1dec: update progress in case of broken pointer chains + * avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons + * rtsp: Allow $ as interleaved packet indicator before a complete response header + * videodsp: don't overread edges in vfix3 emu_edge. + * avformat/mp3dec: improve junk skipping heuristic + * concatdec: fix file_start_time calculation regression + * avcodec: loongson optimize h264dsp idct and loop filter with mmi + * avcodec/jpeg2000dec: Clear properties in jpeg2000_dec_cleanup() too + * avformat/hls: add support for EXT-X-MAP + * avformat/hls: fix segment selection regression on track changes of live streams + * configure: Require libkvazaar < 0.7. + * avcodec/vp8: Do not use num_coeff_partitions in thread/buffer setup +- Drop ffmpeg-mov-sidx-fragment.patch, fixed upstream. + +------------------------------------------------------------------- +Sat Oct 31 11:00:43 UTC 2015 - idonmez@suse.com + +- Update to new upstream release 2.8.1 + * Minor bugfix release + * Includes all changes from. Ffmpeg-mt, + libav master of 2015-08-28, libav 11 as of 2015-08-28 +- Add ffmpeg-mov-sidx-fragment.patch to add sidx fragment indexes. + Needed for new mpv release. + +------------------------------------------------------------------- +Wed Sep 9 08:11:24 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.8 +* DirectDraw Surface image/texture decoder +* Many improvements to the JPEG 2000 decoder +* New video filters: colorkey, SSIM, showvolume, adrawgraph, + drawgraph, removegrain, erosion, dilation, deflate, inflate, + reverse, atadenoise, aphasemeter, showfreqs, vectorscope, + waveform, hstack, vstack, framerate +* New audio filters: Dynamic Audio Normalizer as dynaudnorm + filter, areverse, random, deband, sidechaincompress, + acrossfade +* allyuv and allrgb video sources +* Switched default encoders for webm to VP9 and Opus +* Removed experimental flag from the JPEG 2000 encoder + +------------------------------------------------------------------- +Mon Jul 20 09:30:19 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.7.2 +- webp: fix infinite loop in webp_decode_frame +- huffyuvdec: validate image size +- avcodec/vp8: Check buffer size in vp8_decode_frame_header() +- avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free() +- avutil/fifo: Fix the case where func() returns less bytes than + requested in av_fifo_generic_write() +- bytestream2: set the reader to the end when reading more than + available +- oggparsedirac: check return value of init_get_bits +- vp9/update_prob: prevent out of bounds table read +- avcodec/pngdec: Check values before updating context in + decode_fctl_chunk() +- avcodec/pngdec: Copy IHDR & plte state from last thread +- avcodec/pngdec: Require a IHDR chunk before fctl +- avcodec/pngdec: Only allow one IHDR chunk +- ffmpeg: Do not use the data/size of a bitstream filter + after failure + +------------------------------------------------------------------- +Thu Jun 25 20:11:32 UTC 2015 - jengelh@inai.de + +- Enable codecs for audio: PCM, Speex, CELT, FLAC, ILBC, Opus +- Enable codecs for image: BMP/PCX/TGA, TIFF, Sun/SGI/X11 raster + raw Huff-compressed or uncompressed YUV +- Update to new upstream release 2.7.1 +* postproc: fix unaligned access +* avcodec/flacenc: Fix Invalid Rice order +* tls_gnutls: fix hang on disconnection +* avcodec/ffv1enc: fix bps for >8bit yuv when not explicitly set +* avio: fix potential crashes when combining ffio_ensure_seekback + crc +* ffmpeg_opt: Check for localtime() failure +* configure: Disable VSX on unspecified / generic CPUs + +------------------------------------------------------------------- +Thu Jun 25 17:48:19 UTC 2015 - develop7@develop7.info + +- Enabled 'bluray' protocol + +------------------------------------------------------------------- +Wed Jun 10 22:41:20 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.7 +* New encoders: apng (PNG with alpha) +* New decoders: TDSC (a JPEG/BGR24/zlib format) +* New audio filters: chorus +* New video filters: cover_rect, detelecine, fftfilt, find_rect +- Enable codecs: 012v, ansi, apng, bmp, exr, ffv1, ffvhuff +* unpack DivX-style packed B-frames in MPEG-4 bitstream filter +* WebM Live Chunk Muxer +* nvenc level and tier options +- Canopus HQ/HQA decoder +- Automatically rotate videos based on metadata in ffmpeg +- improved Quickdraw compatibility +- VP9 high bit-depth and extended colorspaces decoding support +- WebPAnimEncoder API when available for encoding and muxing WebP +- Direct3D11-accelerated decoding +- Support Secure Transport +- Multipart JPEG demuxer + +------------------------------------------------------------------- +Sat May 23 21:33:34 UTC 2015 - robert.munteanu@gmail.com + +- Fix building with BUILD_ORIG + +------------------------------------------------------------------- +Sun May 17 16:55:42 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.6.3 +* avcodec/libtheoraenc: Check for av_malloc failure +* ffmpeg_opt: Fix -timestamp parsing +* avcodec/cavsdec: Use ff_set_dimensions() +* swr: fix alignment issue caused by 8ch sse functions +* avcodec/mjpegdec: fix len computation in ff_mjpeg_decode_dqt() +* avformat/matroskadec: Cleanup error handling for bz2 & zlib +* avformat/matroskaenc: Check ff_vorbiscomment_length in + put_flac_codecpriv() +* avcodec/mpeg12dec: use the correct dimensions for checking SAR +* xcbgrab: Validate the capture area +* xcbgrab: Do not assume the non shm image data is always available +* avfilter/lavfutils: disable frame threads when decoding a single + image +* ffmpeg: remove incorrect network deinit +* OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c +* libvpxenc: only set noise reduction w/vp8 +* vp9: remove another optimization branch in iadst16 which causes + overflows. +* network: Do not leave context locked on error +* vp9: remove one optimization branch in iadst16 which causes + overflows. +* swresample: Allow reinitialization without ever setting channel + layouts/counts +* imgutils: initialize palette padding bytes in av_image_alloc +* id3v2: catch avio_read errors in check_tag +* avi: Validate sample_size +* diracdec: avoid overflow of bytes*8 in decode_lowdelay +* diracdec: prevent overflow in data_unit_size check +* matroskadec: use uint64_t instead of int for index_scale +* pngdec: don't use AV_PIX_FMT_MONOBLACK for apng +* pngdec: return correct error code from decode_frame_common +* swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() + delete macro GET_VF() it was wrong +* matroskadec: export cover art correctly +* mxfenc: don't try to write footer without header +- Enable building avresample for extra API compat +- Remove ffmpeg-pkgconfig-requires.diff: RPM's pkgconfigdeps.sh is + scanning Requires.private too. + +------------------------------------------------------------------- +Mon May 11 07:28:10 UTC 2015 - dimstar@opensuse.org + +- Add baselibs.conf: provide -32bit libraries (used by xine-32bit). + +------------------------------------------------------------------- +Mon Apr 13 08:18:11 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.6.2 +* avformat/utils: avoid discarded streams in + av_find_default_stream_index() +* avutil/cpu: add missing check for mmxext to av_force_cpu_flags +* avformat/http: replace cookies with updated values instead of + appending forever + +------------------------------------------------------------------- +Thu Mar 19 17:58:35 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.6.1 +* Maintenance release with some bugfixes + +------------------------------------------------------------------- +Sun Mar 8 09:17:15 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.6 +* The VP9 decoder is now usable on x86(-32) and pre-SSSE3 CPUs. +* 10-bit support in the SPP video filter +* New video filters: "colorlevels", "tblend", "palettegen", + "paletteuse". New audio filters: "dcshift". +* The old libmpcodecs wrapper is finally gone +* API changes: introduction of device inputs and outputs + +------------------------------------------------------------------- +Tue Jan 27 22:22:42 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.5.3 +* AVFoundation screen-grabbing support, animated WebP decoding + support, and Animated PNG support. UDP-Lite support was added. + +------------------------------------------------------------------- +Sun Jan 4 17:32:48 UTC 2015 - jengelh@inai.de + +- Initial package (version 2.5.3) for build.opensuse.org diff --git a/ffmpeg-4.keyring b/ffmpeg-4.keyring new file mode 100644 index 0000000..35375c8 --- /dev/null +++ b/ffmpeg-4.keyring @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBE22rV0BCAC3DzRmA2XlhrqYv9HKoEvNHHf+PzosmCTHmYhWHDqvBxPkSvCl +ipkbvJ4pBnVvcX6mW5QyKhspHm5j1X5ibe9Bt9/chS/obnIobmvF8shSUgjQ0qRW +9c1aWOjvT26SxYQ1y9TmYCFwixeydGFHYKjAim+evGUccni5KMlfPoT3VTPtim78 +ufkr3E9Nco/Mobn/8APO0NmLEGWAM6ln/8J/c9h6a1QKnQyBqWfT0YnAaebafFaZ +YwOtRdDG54VbJ4xwcHbCj5cKhTABk/QtBzDvnW4bG+uSpqdHbFZEY2JpURDuj/T3 +NudKQGzn0bYNpY1XY2l0pqs/btKHnBW0fVMjABEBAAG0NEZGbXBlZyByZWxlYXNl +IHNpZ25pbmcga2V5IDxmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz6JATgEEwECACIF +Ak22rV0CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELQyLwTWdljYKxUH +/1fqzl7SKie2g4t4PJbqUbkLuMsC+CP6gp0dcVZOHkuUYAoD3PM3iVxpLBVyKIXI +g7wMSTAtlIcYnzhWIpnoCBes6/O2Mrq6xHgGeTp6CDcm3LmmSYR1f5KdD8KUaA+l +c/M/1fEnwrSs/UGDk6R6iUmbqwxPsbozlOvmUHOLbDZBnKrk9XfAJdUhAuFACrSA +T+KF1jniz0OfNGd23SaHWRCphoRW9pXDc5FfkdaueBUvBvGv19ZNcDhcxT3/u6z2 +DaUFC0rLWqk8obo951jVvi/zOhB94Pw6u1SLvcTq3V1q5URWJtgSbpih9VRqxUbQ +NbXduKGzbHz6Vwpkupz4JRe5AQ0ETbatXQEIANjYrygJi/fn1nlSg5Mz0l9KHDm4 +yfWtaOrXUjJcyiGe4G0XXJLGh45qxJ0DOKzi9id+9W4jby+kKuzG9O6Vn0iDeODO +aOGnz4ua7Vu6d0AbYfNXZPWge/GCodo/ZD/qri1tPkLmRtT/sniahwy6LruPNHfF +SRoNIjwbcD/IL+EbY1pL1/IFSzEAA1ZZamgmHgB7o9pwDIkK6HuvHMR/Y5MsoMfV +fWV3ZGtA6v9z51CvnHsHPsADRSnUp7aYtR412SiAO4XodMLTA92L3LxgYhI4ma7D +XZ8jgKg4JkKO+DXmoU63HtRdq/HZjeXJKk1JGJF3zCvP3DyIzZ8LWIjN8t0AEQEA +AYkBHwQYAQIACQUCTbatXQIbDAAKCRC0Mi8E1nZY2LS8B/0bMoUAl4X9D0WQbL4l +U0czCIOKOsvbHpIxivjCnOQxU23+PV5WZdoCCpSuAHGv+2OHzhNrij++P9BNTJeQ +skxdS9FH4MZwy1IRSPrxegSxbCUpBI1rd0Zf7qb9BNPrHPTueWFV1uExOSB2Apsv +WrKo2D8mR0uZAPYfYl2ToFVoa5PR7/+ii9WiJr/flF6qm7hoLpI5Bm4VcZh2GPsJ +9Vo/8x/qOGwtdWHqBykYloKsrwD4U69rjn+d9feLoPBRgoVroXWQttt0sUnyoudz ++x8ETJgPoNK3kQoDagApj4qAt83Ayac3HzNIuEJ7LdvfINIOprujnJ9vH4n04XLg +I4EZ +=Rjbw +-----END PGP PUBLIC KEY BLOCK----- diff --git a/ffmpeg-4.spec b/ffmpeg-4.spec new file mode 100644 index 0000000..4d4cb05 --- /dev/null +++ b/ffmpeg-4.spec @@ -0,0 +1,930 @@ +# +# spec file for package ffmpeg-4 +# +# 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 +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# Create proper conflicts to make sure we require all from one version +# p: Conflict string, eg if you need them all for requires instead +# Default value Conflicts: +# c: copmare string ie "<" or ">=", must be defined +# v: version string ie. "< 42.3.4" or ">= 15.0.2.1", must be defined +%define devel_conflicts(p:c:v:) \ +%define preamble_string %{-p:%{-p*}}%{!-p:Conflicts:} \ +%define comparator %{-c:%{-c*}}%{!-c:%{error:Comparator not defined}} \ +%define conflicts_version %{-v:%{-v*}}%{!-v:%{error:Version not defined}} \ +\ +%preamble_string libavcodec-devel %comparator %conflicts_version \ +%preamble_string libavdevice-devel %comparator %conflicts_version \ +%preamble_string libavfilter-devel %comparator %conflicts_version \ +%preamble_string libavformat-devel %comparator %conflicts_version \ +%preamble_string libavresample-devel %comparator %conflicts_version \ +%preamble_string libavutil-devel %comparator %conflicts_version \ +%preamble_string libpostproc-devel %comparator %conflicts_version \ +%preamble_string libswresample-devel %comparator %conflicts_version \ +%preamble_string libswscale-devel %comparator %conflicts_version \ +%preamble_string ffmpeg-private-devel %comparator %conflicts_version \ +%nil + +# nvcodec headers only present after leap15 +%bcond_with nvcodec +%if 0%{?suse_version} >= 1500 +%bcond_without nvcodec +%endif +%if 0%{?BUILD_ORIG} +%bcond_with amrwb +%bcond_without cuda_sdk +%else +%bcond_with cuda_sdk +%endif +%bcond_with fdk_aac_dlopen +%bcond_with librtmp +%bcond_with opencore +%bcond_with smbclient +%bcond_with x264 +%bcond_with x265 +%bcond_with xvid + +%if 0%{?suse_version} > 1500 +%bcond_without libaom +%bcond_without mysofa +%bcond_without vidstab +%bcond_without srt +%bcond_without codec2 +%bcond_without lv2 +%bcond_without librav1e +%bcond_without rubberband +%bcond_without soxr +%bcond_without zmq +%bcond_without vulkan +%bcond_without amrwb +%bcond_without opencore +%bcond_without xvid +%else +%bcond_with libaom +%bcond_with mysofa +%bcond_with vidstab +%bcond_with srt +%bcond_with codec2 +%bcond_with lv2 +%bcond_with librav1e +%bcond_with rubberband +%bcond_with soxr +%bcond_with zmq +%bcond_with vulkan +%endif + +%if 0%{?suse_version} >= 1500 +%bcond_without zimg +%bcond_without openmpt +%else +%bcond_with zimg +%bcond_with openmpt +%endif + +%define _name ffmpeg +%define _major_version 4 +%define _major_expected 5 +Name: ffmpeg-4 +Version: 4.4.4 +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 +#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 +Source3: ffmpeg-4-rpmlintrc +Source4: enable_decoders +Source5: enable_encoders +Source98: http://ffmpeg.org/ffmpeg-devel.asc#/ffmpeg-4.keyring +Source99: baselibs.conf +Patch1: ffmpeg-arm6l.diff +Patch2: ffmpeg-new-coder-errors.diff +Patch3: ffmpeg-codec-choice.diff +Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch +Patch5: soversion.patch +Patch9: ffmpeg-4.4-CVE-2020-22046.patch +Patch10: ffmpeg-chromium.patch +Patch11: ffmpeg-libglslang-detection.patch +Patch12: 0001-avcodec-libsvtav1-remove-compressed_ten_bit_format-a.patch +Patch13: 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch +Patch14: ffmpeg-glslang-cxx17.patch +Patch15: 0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch +Patch16: 0001-avfilter-vf_minterpolate-Check-pts-before-division.patch +Patch17: ffmpeg-CVE-2023-49502.patch +Patch18: ffmpeg-CVE-2023-51793.patch +Patch19: 0001-avfilter-af_stereowiden-Check-length.patch +Patch20: ffmpeg-CVE-2023-50010.patch +BuildRequires: ladspa-devel +BuildRequires: libgsm-devel +BuildRequires: libmp3lame-devel +%if %{with mysofa} +BuildRequires: libmysofa-devel +%endif +BuildRequires: nasm +BuildRequires: pkg-config +%ifarch x86_64 +%if 0%{?suse_version} >= 1550 +BuildRequires: pkgconfig(SvtAv1Enc) >= 0.8.4 +%endif +%endif +BuildRequires: pkgconfig(alsa) +%if %{with libaom} +BuildRequires: pkgconfig(aom) +%endif +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(celt) >= 0.11.0 +%if %{with codec2} +BuildRequires: pkgconfig(codec2) +%endif +%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200 +BuildRequires: pkgconfig(dav1d) +%endif +BuildRequires: pkgconfig(enca) +BuildRequires: pkgconfig(fontconfig) >= 2.4.2 +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(fribidi) >= 0.19.0 +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(jack) +BuildRequires: pkgconfig(libass) +BuildRequires: pkgconfig(libbluray) +BuildRequires: pkgconfig(libbs2b) +BuildRequires: pkgconfig(libcdio) +BuildRequires: pkgconfig(libcdio_paranoia) +BuildRequires: pkgconfig(libdc1394-2) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libgme) +BuildRequires: pkgconfig(libopenjp2) >= 2.1.0 +%if %{with openmpt} +BuildRequires: pkgconfig(libopenmpt) +%endif +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libraw1394) +BuildRequires: pkgconfig(libssh) +BuildRequires: pkgconfig(libv4l2) +BuildRequires: pkgconfig(libva) >= 0.35.0 +BuildRequires: pkgconfig(libva-drm) +BuildRequires: pkgconfig(libva-x11) +BuildRequires: pkgconfig(libwebp) >= 0.4 +BuildRequires: pkgconfig(libxml-2.0) +%if %{with zmq} +BuildRequires: pkgconfig(libzmq) +%endif +%if %{with lv2} +BuildRequires: pkgconfig(lilv-0) +%endif +BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(opus) +%if %{with librav1e} +BuildRequires: pkgconfig(rav1e) +%endif +%if %{with rubberband} +BuildRequires: pkgconfig(rubberband) +%endif +BuildRequires: pkgconfig(sdl2) +%if %{with smbclient} +BuildRequires: pkgconfig(smbclient) +%endif +%if %{with soxr} +BuildRequires: pkgconfig(soxr) +%endif +BuildRequires: pkgconfig(speex) +%if %{with srt} +BuildRequires: pkgconfig(srt) +%endif +BuildRequires: pkgconfig(theora) >= 1.1 +BuildRequires: pkgconfig(twolame) +BuildRequires: pkgconfig(vdpau) +%if %{with vidstab} +BuildRequires: pkgconfig(vidstab) >= 0.98 +%endif +%if %{with vulkan} +BuildRequires: c++_compiler +BuildRequires: glslang-devel +BuildRequires: pkgconfig(SPIRV-Tools) +BuildRequires: pkgconfig(vulkan) +%endif +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(vpx) >= 1.4.0 +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-render) +BuildRequires: pkgconfig(xcb-shape) +BuildRequires: pkgconfig(xcb-shm) +BuildRequires: pkgconfig(xcb-xfixes) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xfixes) +%if %{with zimg} +BuildRequires: pkgconfig(zimg) +%endif +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(zvbi-0.2) >= 0.2.28 +%if %{with fdk_aac_dlopen} +BuildRequires: pkgconfig(fdk-aac) +%endif +%if %{with librtmp} +BuildRequires: pkgconfig(librtmp) +%endif +%if %{with nvcodec} +BuildRequires: pkgconfig(ffnvcodec) +%endif +%if %{with xvid} +BuildRequires: libxvidcore-devel +%endif +%if %{with opencore} +BuildRequires: pkgconfig(opencore-amrnb) +%endif +%if %{with amrwb} +BuildRequires: pkgconfig(vo-amrwbenc) +%endif +%if %{with x264} +BuildRequires: pkgconfig(x264) +%endif +%if %{with x265} +BuildRequires: pkgconfig(x265) +%endif +Provides: ffmpeg-tools = %version +Conflicts: ffmpeg-tools +Provides: ffmpeg = %version +Obsoletes: ffmpeg < %version +Requires: libavcodec58_134 = %version-%release +Requires: libavdevice58_13 = %version-%release +Requires: libavfilter7_110 = %version-%release +Requires: libavformat58_76 = %version-%release +Requires: libavresample4_0 = %version-%release +Requires: libavutil56_70 = %version-%release +Requires: libpostproc55_9 = %version-%release +Requires: libswresample3_9 = %version-%release +Requires: libswscale5_9 = %version-%release + +%description +FFmpeg is a multimedia framework, able to decode, encode, +transcode, mux, demux, stream, filter and play several formats +that humans and machines have created. +%if !0%{?BUILD_ORIG} + +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%package -n libavcodec58_134 +Summary: FFmpeg codec library +Group: System/Libraries +Requires: libavutil56_70 = %version-%release +Requires: libswresample3_9 = %version-%release +%if 0%{?BUILD_ORIG} +Provides: libavcodec-full = %version-%release +# This can be (and is) required by packages like vlc-codecs - +# do follow the shlib name to not get random lib providers +Provides: libavcodec58_134(unrestricted) +%endif +# For mozillas +Provides: libavcodec = %version-%release + +%description -n libavcodec58_134 +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. +%if !0%{?BUILD_ORIG} + +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%package libavcodec-devel +Summary: Development files for FFmpeg's codec library +Group: Development/Libraries/C and C++ +Provides: libavcodec-devel = %version-%release +Obsoletes: libavcodec-devel < %version-%release +Requires: %name-libavresample-devel = %version-%release +Requires: %name-libavutil-devel = %version-%release +Requires: libavcodec58_134 = %version-%release +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description libavcodec-devel +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. + +This subpackage contains the headers for FFmpeg libavcodec. + +%package -n libavdevice58_13 +Summary: FFmpeg device library +Group: System/Libraries +Requires: libavcodec58_134 = %version-%release +Requires: libavfilter7_110 = %version-%release +Requires: libavformat58_76 = %version-%release +Requires: libavutil56_70 = %version-%release + +%description -n libavdevice58_13 +The libavdevice library provides a generic framework for grabbing from +and rendering to many common multimedia input/output devices, and +supports several input and output devices, including Video4Linux2, VfW, +DShow, and ALSA. + +%package libavdevice-devel +Summary: Development files for FFmpeg's device library +Group: Development/Libraries/C and C++ +Provides: ffmpeg-devel = %version-%release +Conflicts: ffmpeg-devel +Provides: libavdevice-devel = %version-%release +Obsoletes: libavdevice-devel < %version-%release +Requires: %name-libavcodec-devel = %version-%release +Requires: %name-libavfilter-devel = %version-%release +Requires: %name-libavformat-devel = %version-%release +Requires: %name-libavresample-devel = %version-%release +Requires: %name-libavutil-devel = %version-%release +Requires: %name-libpostproc-devel = %version-%release +Requires: %name-libswresample-devel = %version-%release +Requires: %name-libswscale-devel = %version-%release +Requires: libavdevice58_13 = %version-%release +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description libavdevice-devel +The libavdevice library provides a generic framework for grabbing from +and rendering to many common multimedia input/output devices, and +supports several input and output devices, including Video4Linux2, VfW, +DShow, and ALSA. + +This subpackage contains the headers for FFmpeg libavcodec. + +%package -n libavfilter7_110 +Summary: FFmpeg audio and video filtering library +Group: System/Libraries +Requires: libavcodec58_134 = %version-%release +Requires: libavformat58_76 = %version-%release +Requires: libavresample4_0 = %version-%release +Requires: libavutil56_70 = %version-%release +Requires: libpostproc55_9 = %version-%release +Requires: libswresample3_9 = %version-%release +Requires: libswscale5_9 = %version-%release + +%description -n libavfilter7_110 +The libavfilter library provides a generic audio/video filtering +framework containing several filters, sources and sinks. + +%package libavfilter-devel +Summary: Development files for FFmpeg's audio/video filter library +Group: Development/Libraries/C and C++ +Provides: libavfilter-devel = %version-%release +Obsoletes: libavfilter-devel < %version-%release +Requires: %name-libavcodec-devel = %version-%release +Requires: %name-libavformat-devel = %version-%release +Requires: %name-libavresample-devel = %version-%release +Requires: %name-libavutil-devel = %version-%release +Requires: %name-libpostproc-devel = %version-%release +Requires: %name-libswresample-devel = %version-%release +Requires: %name-libswscale-devel = %version-%release +Requires: libavfilter7_110 = %version-%release +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description libavfilter-devel +The libavfilter library provides a generic audio/video filtering +framework containing several filters, sources and sinks. + +This subpackage contains the headers for FFmpeg libavfilter. + +%package -n libavformat58_76 +Summary: FFmpeg's stream format library +Group: System/Libraries +Requires: libavcodec58_134 = %version-%release +Requires: libavutil56_70 = %version-%release + +%description -n libavformat58_76 +The libavformat library provides a generic framework for multiplexing +and demultiplexing (muxing and demuxing) audio, video and subtitle +streams. It encompasses multiple muxers and demuxers for multimedia +container formats. +%if !0%{?BUILD_ORIG} + +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%package libavformat-devel +Summary: Development files for FFmpeg's stream format library +Group: Development/Libraries/C and C++ +Provides: libavformat-devel = %version-%release +Obsoletes: libavformat-devel < %version-%release +Requires: %name-libavcodec-devel = %version-%release +Requires: %name-libavutil-devel = %version-%release +Requires: %name-libswresample-devel = %version-%release +Requires: libavformat58_76 = %version-%release +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description libavformat-devel +The libavformat library provides a generic framework for multiplexing +and demultiplexing (muxing and demuxing) audio, video and subtitle +streams. It encompasses multiple muxers and demuxers for multimedia +container formats. + +This subpackage contains the headers for FFmpeg libavformat. + +%package -n libavresample4_0 +Summary: FFmpeg alternate audio resampling library +Group: System/Libraries +Requires: libavutil56_70 = %version-%release +Obsoletes: libavresample4 < %version-%release +Provides: libavresample4 = %version-%release + +%description -n libavresample4_0 +An audio resampling library that is being provided for drop-in +compatibility with libav. + +It is advised to use libswresample for new code. + +%package libavresample-devel +Summary: Development files for libavresample as present in FFmpeg +Group: Development/Libraries/C and C++ +Provides: libavresample-devel = %version-%release +Obsoletes: libavresample-devel < %version-%release +Requires: %name-libavutil-devel = %version-%release +Requires: libavresample4_0 = %version-%release +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description libavresample-devel +An audio resampling library that is being provided for drop-in +compatibility with libav. + +It is advised to use libswresample for new code. + +This subpackage contains the headers for FFmpeg's copy of libavresample. + +%package -n libavutil56_70 +Summary: FFmpeg's utility library +Group: System/Libraries + +%description -n libavutil56_70 +The libavutil library is a utility library to aid portable multimedia +programming. It contains safe portable string functions, random +number generators, data structures, additional mathematics functions, +cryptography and multimedia related functionality (like enumerations +for pixel and sample formats). + +%package libavutil-devel +Summary: Development files for FFmpeg's utility library +Group: Development/Libraries/C and C++ +Provides: libavutil-devel = %version-%release +Obsoletes: libavutil-devel < %version-%release +Requires: libavutil56_70 = %version-%release +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description libavutil-devel +The libavutil library is a utility library to aid portable multimedia +programming. It contains safe portable string functions, random +number generators, data structures, additional mathematics functions, +cryptography and multimedia related functionality (like enumerations +for pixel and sample formats). + +This subpackage contains the headers for FFmpeg libavutil. + +%package -n libpostproc55_9 +Summary: FFmpeg post-processing library +Group: System/Libraries +Requires: libavutil56_70 = %version-%release + +%description -n libpostproc55_9 +A library with video postprocessing filters, such as deblocking and +deringing filters, noise reduction, automatic contrast and brightness +correction, linear/cubic interpolating deinterlacing. + +%package libpostproc-devel +Summary: Development files for the FFmpeg post-processing library +Group: Development/Libraries/C and C++ +Provides: libpostproc-devel = %version-%release +Obsoletes: libpostproc-devel < %version-%release +Requires: %name-libavutil-devel = %version-%release +Requires: libpostproc55_9 = %version-%release +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description libpostproc-devel +A library with video postprocessing filters, such as deblocking and +deringing filters, noise reduction, automatic contrast and brightness +correction, linear/cubic interpolating deinterlacing. + +This subpackage contains the headers for FFmpeg libpostproc. + +%package -n libswresample3_9 +Summary: FFmpeg software resampling library +Group: System/Libraries +Requires: libavutil56_70 = %version-%release + +%description -n libswresample3_9 +The libswresample library performs audio conversion between different +sample rates, channel layout and channel formats. + +%package libswresample-devel +Summary: Development files for the FFmpeg software resampling library +Group: Development/Libraries/C and C++ +Provides: libswresample-devel = %version-%release +Obsoletes: libswresample-devel < %version-%release +Requires: %name-libavutil-devel = %version-%release +Requires: libswresample3_9 = %version-%release +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description libswresample-devel +The libswresample library performs audio conversion between different +sample rates, channel layout and channel formats. + +This subpackage contains the headers for FFmpeg libswresample. + +%package -n libswscale5_9 +Summary: FFmpeg image scaling and colorspace/pixel conversion library +Group: System/Libraries +Requires: libavutil56_70 = %version-%release + +%description -n libswscale5_9 +The libswscale library performs image scaling and colorspace and +pixel format conversion operations. + +%package libswscale-devel +Summary: Development files for FFmpeg's image scaling and colorspace library +Group: Development/Libraries/C and C++ +Provides: libswscale-devel = %version-%release +Conflicts: libswscale-devel +Requires: %name-libavutil-devel = %version-%release +Requires: libswscale5_9 = %version-%release +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description libswscale-devel +The libswscale library performs image scaling and colorspace and +pixel format conversion operations. + +This subpackage contains the headers for FFmpeg libswscale. + +%package private-devel +Summary: Some FFmpeg private headers +Group: Development/Libraries/C and C++ +Requires: %name-libavcodec-devel = %version-%release +Requires: %name-libavformat-devel = %version-%release +Requires: %name-libavutil-devel = %version-%release +Provides: ffmpeg-private-devel = %version +Obsoletes: ffmpeg-private-devel < %version +%devel_conflicts -c < -v %_major_version +%devel_conflicts -c >= -v %_major_expected + +%description private-devel +FFmpeg is a multimedia framework, able to decode, encode, +transcode, mux, demux, stream, filter and play several formats +that humans and machines have created. + +This package contains some private headers for libavformat, libavcodec and +libavutil which are needed by libav-tools to build. No other package apart +from libav should depend on these private headers which are expected to +break compatibility without any notice. + +%prep +%autosetup -p1 -n %_name-%version + +%build +%ifarch %ix86 %arm +%define _lto_cflags %nil +%endif +%if "%_lto_cflags" != "" +%global _lto_cflags %_lto_cflags -ffat-lto-objects +%endif +CFLAGS="%optflags" CXXFLAGS="%optflags" \ +%if %suse_version > 1500 +%ifarch %ix86 +%else +LDFLAGS="%_lto_cflags" \ +%endif +%endif +./configure \ + --prefix="%_prefix" \ + --libdir="%_libdir" \ + --shlibdir="%_libdir" \ + --incdir="%_includedir/ffmpeg" \ + --extra-cflags="%optflags" \ + --optflags="%optflags" \ + --disable-htmlpages \ + --enable-pic \ + --disable-stripping \ + --enable-shared \ + --disable-static \ + --enable-gpl \ + --enable-version3 \ +%if %{with smbclient} + --enable-libsmbclient \ +%endif + --disable-openssl \ + --enable-avresample \ + --enable-gnutls \ + --enable-ladspa \ +%if %{with vulkan} + --enable-vulkan \ + --enable-libglslang \ +%endif +%if ! %{with cuda_sdk} + --disable-cuda-sdk \ +%endif +%if %{with libaom} + --enable-libaom \ +%endif + --enable-libass \ + --enable-libbluray \ + --enable-libbs2b \ + --enable-libcelt \ + --enable-libcdio \ +%if %{with codec2} + --enable-libcodec2 \ +%endif +%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200 + --enable-libdav1d \ +%endif + --enable-libdc1394 \ + --enable-libdrm \ + --enable-libfontconfig \ + --enable-libfreetype \ + --enable-libfribidi \ + --enable-libgsm \ + --enable-libjack \ + --enable-libmp3lame \ +%if %{with mysofa} + --enable-libmysofa \ +%endif + --enable-libopenjpeg \ +%if %{with openmpt} + --enable-libopenmpt \ +%endif + --enable-libopus \ + --enable-libpulse \ +%if %{with librav1e} + --enable-librav1e \ +%endif +%if %{with rubberband} + --enable-librubberband \ +%endif +%ifarch x86_64 +%if 0%{?suse_version} >= 1550 + --enable-libsvtav1 \ +%endif +%endif +%if %{with soxr} + --enable-libsoxr \ +%endif + --enable-libspeex \ + --enable-libssh \ +%if %{with srt} + --enable-libsrt \ +%endif + --enable-libtheora \ + --enable-libtwolame \ +%if %{with vidstab} + --enable-libvidstab \ +%endif + --enable-libvorbis \ + --enable-libv4l2 \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libxml2 \ +%if %{with zimg} + --enable-libzimg \ +%endif +%if %{with zmq} + --enable-libzmq \ +%endif + --enable-libzvbi \ +%if 0%{?suse_version} > 1500 +%ifarch %ix86 +%else + --enable-lto \ +%endif +%endif +%if %{with lv2} + --enable-lv2 \ +%endif +%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200 +%endif + --enable-vaapi \ + --enable-vdpau \ + --enable-version3 \ +%if %{with fdk_aac_dlopen} + --enable-libfdk-aac-dlopen \ + --enable-nonfree \ +%endif +%if %{with opencore} + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ +%endif +%if %{with amrwb} + --enable-libvo-amrwbenc \ +%endif +%if %{with x264} + --enable-libx264 \ +%endif +%if %{with x265} + --enable-libx265 \ +%endif +%if %{with librtmp} + --enable-librtmp \ +%endif +%if %{with xvid} + --enable-libxvid \ +%endif +%if !0%{?BUILD_ORIG} + --enable-muxers \ + --enable-demuxers \ + --disable-encoders \ + --disable-decoders \ + --disable-decoder=h264,hevc,vc1 \ + --enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <%_sourcedir/enable_encoders)" \ + --enable-decoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <%_sourcedir/enable_decoders)" \ + +for i in H264 HEVC VC1; do + grep -q "#define CONFIG_${i}_DECODER 0" config.h +done +%endif + +cat config.h +%make_build + +%global extratools aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper probetest qt-faststart seek_print sidxindex trasher + +for i in %extratools; do + %make_build "tools/$i" +done + +%install +b="%buildroot" +%make_install install-man +rm -Rf "$b/%_datadir/ffmpeg/examples" +for i in %extratools; do + cp -a "tools/$i" "$b/%_bindir/" +done + +# Install private headers required by libav-tools +for i in libavformat/options_table.h libavformat/os_support.h \ + libavformat/internal.h libavcodec/options_table.h libavutil/libm.h \ + libavutil/internal.h libavutil/colorspace.h libavutil/timer.h \ + libavutil/x86/emms.h libavutil/aarch64/timer.h libavutil/arm/timer.h \ + libavutil/bfin/timer.h libavutil/ppc/timer.h libavutil/x86/timer.h; do + mkdir -p "$b/%_includedir/ffmpeg/private/"`dirname $i` + cp -a $i "$b/%_includedir/ffmpeg/private/$i" +done + +%ldconfig_scriptlets -n libavcodec58_134 +%ldconfig_scriptlets -n libavdevice58_13 +%ldconfig_scriptlets -n libavfilter7_110 +%ldconfig_scriptlets -n libavformat58_76 +%ldconfig_scriptlets -n libavresample4_0 +%ldconfig_scriptlets -n libavutil56_70 +%ldconfig_scriptlets -n libpostproc55_9 +%ldconfig_scriptlets -n libswresample3_9 +%ldconfig_scriptlets -n libswscale5_9 + +%files +%doc Changelog CREDITS README.md +%_bindir/aviocat +%_bindir/cws2fws +%_bindir/ffescape +%_bindir/ffeval +%_bindir/ffhash +%_bindir/ffmpeg +%_bindir/ffplay +%_bindir/ffprobe +%_bindir/fourcc2pixfmt +%_bindir/graph2dot +%_bindir/ismindex +%_bindir/pktdumper +%_bindir/probetest +%_bindir/qt-faststart +%_bindir/seek_print +%_bindir/sidxindex +%_bindir/trasher +%_mandir/man1/ff*.1* +%_datadir/ffmpeg/ +%_libdir/libavcodec.so.58 +%_libdir/libavdevice.so.58 +%_libdir/libavfilter.so.7 +%_libdir/libavformat.so.58 +%_libdir/libavresample.so.4 +%_libdir/libavutil.so.56 +%_libdir/libpostproc.so.55 +%_libdir/libswresample.so.3 +%_libdir/libswscale.so.5 + +%files -n libavcodec58_134 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavcodec.so.58.134* + +%files -n libavdevice58_13 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavdevice.so.58.13* + +%files -n libavfilter7_110 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavfilter.so.7.110* + +%files -n libavformat58_76 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavformat.so.58.76* + +%files -n libavresample4_0 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavresample.so.4.0* + +%files -n libavutil56_70 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavutil.so.56.70* + +%files -n libpostproc55_9 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libpostproc.so.55.9* + +%files -n libswresample3_9 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libswresample.so.3.9* + +%files -n libswscale5_9 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libswscale.so.5.9* + +%files libavcodec-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavcodec/ +%_libdir/libavcodec.so +%_libdir/pkgconfig/libavcodec.pc +%_mandir/man3/libavcodec.3* + +%files libavdevice-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavdevice/ +%_libdir/libavdevice.so +%_libdir/pkgconfig/libavdevice.pc +%_mandir/man3/libavdevice.3* + +%files libavfilter-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavfilter/ +%_libdir/libavfilter.so +%_libdir/pkgconfig/libavfilter.pc +%_mandir/man3/libavfilter.3* + +%files libavformat-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavformat/ +%_libdir/libavformat.so +%_libdir/pkgconfig/libavformat.pc +%_mandir/man3/libavformat.3* + +%files libavresample-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavresample/ +%_libdir/libavresample.so +%_libdir/pkgconfig/libavresample.pc + +%files libavutil-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavutil/ +%_libdir/libavutil.so +%_libdir/pkgconfig/libavutil.pc +%_mandir/man3/libavutil.3* + +%files libpostproc-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libpostproc/ +%_libdir/libpostproc.so +%_libdir/pkgconfig/libpostproc.pc + +%files libswresample-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libswresample/ +%_libdir/libswresample.so +%_libdir/pkgconfig/libswresample.pc +%_mandir/man3/libswresample.3* + +%files libswscale-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libswscale/ +%_libdir/libswscale.so +%_libdir/pkgconfig/libswscale.pc +%_mandir/man3/libswscale.3* + +%files private-devel +%_includedir/ffmpeg/private/ + +%changelog diff --git a/ffmpeg-CVE-2023-49502.patch b/ffmpeg-CVE-2023-49502.patch new file mode 100644 index 0000000..95a0423 --- /dev/null +++ b/ffmpeg-CVE-2023-49502.patch @@ -0,0 +1,43 @@ +From 737ede405b11a37fdd61d19cf25df296a0cb0b75 +From: Cosmin Stejerean +Date: Wed Dec 6 18:39:32 2023 +0800 +Subject: avfilter/bwdif: account for chroma sub-sampling in min size calculation +References: https://bugzilla.opensuse.org/1223235 +References: CVE-2023-49502 + +The current logic for detecting frames that are too small for the +algorithm does not account for chroma sub-sampling, and so a sample +where the luma plane is large enough, but the chroma planes are not +will not be rejected. In that event, a heap overflow will occur. + +This change adjusts the logic to consider the chroma planes and makes +the change to all three bwdif implementations. + +Fixes #10688 + +Signed-off-by: Cosmin Stejerean +Reviewed-by: Thomas Mundt +Signed-off-by: Philip Langdale + +diff -Nura ffmpeg-4.4.4/libavfilter/vf_bwdif.c ffmpeg-4.4.4_new/libavfilter/vf_bwdif.c +--- ffmpeg-4.4.4/libavfilter/vf_bwdif.c 2023-04-13 02:01:50.000000000 +0800 ++++ ffmpeg-4.4.4_new/libavfilter/vf_bwdif.c 2024-04-26 02:21:48.162806014 +0800 +@@ -343,13 +343,14 @@ + if(yadif->mode&1) + link->frame_rate = av_mul_q(link->src->inputs[0]->frame_rate, (AVRational){2,1}); + +- if (link->w < 3 || link->h < 4) { +- av_log(ctx, AV_LOG_ERROR, "Video of less than 3 columns or 4 lines is not supported\n"); ++ yadif->csp = av_pix_fmt_desc_get(link->format); ++ yadif->filter = filter; ++ ++ if (AV_CEIL_RSHIFT(link->w, yadif->csp->log2_chroma_w) < 3 || AV_CEIL_RSHIFT(link->h, yadif->csp->log2_chroma_h) < 4) { ++ av_log(ctx, AV_LOG_ERROR, "Video with planes less than 3 columns or 4 lines is not supported\n"); + return AVERROR(EINVAL); + } + +- yadif->csp = av_pix_fmt_desc_get(link->format); +- yadif->filter = filter; + if (yadif->csp->comp[0].depth > 8) { + s->filter_intra = filter_intra_16bit; + s->filter_line = filter_line_c_16bit; diff --git a/ffmpeg-CVE-2023-50010.patch b/ffmpeg-CVE-2023-50010.patch new file mode 100644 index 0000000..5d78ab3 --- /dev/null +++ b/ffmpeg-CVE-2023-50010.patch @@ -0,0 +1,30 @@ +commit e4d2666bdc3dbd177a81bbf428654a5f2fa3787a (20231224_CVE-2023-50010_e4d2666bdc3dbd177a81bbf428654a5f2fa3787a) +Author: Michael Niedermayer +Date: Sun Dec 24 20:50:51 2023 +0100 +References: CVE-2023-50010 +References: https://bugzilla.opensuse.org/1172424 + +avfilter/vf_gradfun: Do not overread last line + +The code works in steps of 2 lines and lacks support for odd height +Implementing odd height support is better but for now this fixes the +out of array access + +Fixes: out of array access +Fixes: tickets/10702/poc6ffmpe + +Found-by: Zeng Yunxiang +Signed-off-by: Michael Niedermayer + +diff -Nura ffmpeg-4.4.4/libavfilter/vf_gradfun.c ffmpeg-4.4.4_new/libavfilter/vf_gradfun.c +--- ffmpeg-4.4.4/libavfilter/vf_gradfun.c 2023-04-13 02:01:50.000000000 +0800 ++++ ffmpeg-4.4.4_new/libavfilter/vf_gradfun.c 2024-05-07 19:32:05.287848683 +0800 +@@ -93,7 +93,7 @@ + for (y = 0; y < r; y++) + ctx->blur_line(dc, buf + y * bstride, buf + (y - 1) * bstride, src + 2 * y * src_linesize, src_linesize, width / 2); + for (;;) { +- if (y < height - r) { ++ if (y + 1 < height - r) { + int mod = ((y + r) / 2) % r; + uint16_t *buf0 = buf + mod * bstride; + uint16_t *buf1 = buf + (mod ? mod - 1 : r - 1) * bstride; diff --git a/ffmpeg-CVE-2023-51793.patch b/ffmpeg-CVE-2023-51793.patch new file mode 100644 index 0000000..d61dff6 --- /dev/null +++ b/ffmpeg-CVE-2023-51793.patch @@ -0,0 +1,57 @@ +From 0ecc1f0e48930723d7a467761b66850811c23e62 +From: Michael Niedermayer +Date: Fri Dec 22 12:31:35 2023 +0100 +Subject: avfilter/vf_weave: Fix odd height handling +References: https://bugzilla.opensuse.org/1223272 +References: CVE-2023-51793 + +Fixes: out of array access +Fixes: tickets/10743/poc10ffmpeg + +Found-by: Zeng Yunxiang and Li Zeyuan +Signed-off-by: Michael Niedermayer + +diff -Nura ffmpeg-4.4.4/libavfilter/vf_weave.c ffmpeg-4.4.4_new/libavfilter/vf_weave.c +--- ffmpeg-4.4.4/libavfilter/vf_weave.c 2023-04-13 02:01:50.000000000 +0800 ++++ ffmpeg-4.4.4_new/libavfilter/vf_weave.c 2024-04-26 02:30:07.113807721 +0800 +@@ -30,6 +30,7 @@ + int double_weave; + int nb_planes; + int planeheight[4]; ++ int outheight[4]; + int linesize[4]; + + AVFrame *prev; +@@ -85,6 +86,9 @@ + s->planeheight[1] = s->planeheight[2] = AV_CEIL_RSHIFT(inlink->h, desc->log2_chroma_h); + s->planeheight[0] = s->planeheight[3] = inlink->h; + ++ s->outheight[1] = s->outheight[2] = AV_CEIL_RSHIFT(2*inlink->h, desc->log2_chroma_h); ++ s->outheight[0] = s->outheight[3] = 2*inlink->h; ++ + s->nb_planes = av_pix_fmt_count_planes(inlink->format); + + return 0; +@@ -110,19 +114,20 @@ + const int height = s->planeheight[i]; + const int start = (height * jobnr) / nb_jobs; + const int end = (height * (jobnr+1)) / nb_jobs; ++ const int compensation = 2*end > s->outheight[i]; + + av_image_copy_plane(out->data[i] + out->linesize[i] * field1 + + out->linesize[i] * start * 2, + out->linesize[i] * 2, + in->data[i] + start * in->linesize[i], + in->linesize[i], +- s->linesize[i], end - start); ++ s->linesize[i], end - start - compensation * field1); + av_image_copy_plane(out->data[i] + out->linesize[i] * field2 + + out->linesize[i] * start * 2, + out->linesize[i] * 2, + s->prev->data[i] + start * s->prev->linesize[i], + s->prev->linesize[i], +- s->linesize[i], end - start); ++ s->linesize[i], end - start - compensation * field2); + } + + return 0; diff --git a/ffmpeg-arm6l.diff b/ffmpeg-arm6l.diff new file mode 100644 index 0000000..ef90b3d --- /dev/null +++ b/ffmpeg-arm6l.diff @@ -0,0 +1,17 @@ +--- + libavutil/arm/timer.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: ffmpeg-4.4.1/libavutil/arm/timer.h +=================================================================== +--- ffmpeg-4.4.1.orig/libavutil/arm/timer.h ++++ ffmpeg-4.4.1/libavutil/arm/timer.h +@@ -30,7 +30,7 @@ + + #define AV_READ_TIME mach_absolute_time + +-#elif HAVE_INLINE_ASM && defined(__ARM_ARCH_7A__) ++#elif HAVE_INLINE_ASM && defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_6ZK__) + + #define AV_READ_TIME read_time + diff --git a/ffmpeg-chromium.patch b/ffmpeg-chromium.patch new file mode 100644 index 0000000..99fe336 --- /dev/null +++ b/ffmpeg-chromium.patch @@ -0,0 +1,41 @@ +commit 95aab0fd83619408995720ce53d7a74790580220 +author liberato@chromium.org Thu Jul 08 02:01:22 2021 +committer liberato@chromium.org Thu Jul 08 02:01:22 2021 +tree ac725b5e2c548c8142aa7096d8184d87d3876a49 +parent e073b7a22e4993e0a7cab80a42a21524e5349f95 + +Add av_stream_get_first_dts for Chromium + +Index: ffmpeg-4.4.2/libavformat/avformat.h +=================================================================== +--- ffmpeg-4.4.2.orig/libavformat/avformat.h ++++ ffmpeg-4.4.2/libavformat/avformat.h +@@ -1141,6 +1141,10 @@ struct AVCodecParserContext *av_stream_g + */ + int64_t av_stream_get_end_pts(const AVStream *st); + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st); ++// Chromium: We use the internal field first_dts ^^^ ++ + #define AV_PROGRAM_RUNNING 1 + + /** +Index: ffmpeg-4.4.2/libavformat/utils.c +=================================================================== +--- ffmpeg-4.4.2.orig/libavformat/utils.c ++++ ffmpeg-4.4.2/libavformat/utils.c +@@ -142,6 +142,13 @@ int64_t av_stream_get_end_pts(const AVSt + return AV_NOPTS_VALUE; + } + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st) ++{ ++ return st->first_dts; ++} ++// Chromium: We use the internal field first_dts ^^^ ++ + struct AVCodecParserContext *av_stream_get_parser(const AVStream *st) + { + return st->parser; diff --git a/ffmpeg-codec-choice.diff b/ffmpeg-codec-choice.diff new file mode 100644 index 0000000..9e19f78 --- /dev/null +++ b/ffmpeg-codec-choice.diff @@ -0,0 +1,56 @@ +From: Jan Engelhardt + +Edit the default codec selection such that + + ffmpeg -i youtube.blah.webm foobar.mkv + +without any further arguments can produce a result even on a +reduced codec selection list. + +--- + libavformat/matroskaenc.c | 19 +++++++++++++------ + 1 file changed, 13 insertions(+), 6 deletions(-) + +Index: ffmpeg-4.4.1/libavformat/matroskaenc.c +=================================================================== +--- ffmpeg-4.4.1.orig/libavformat/matroskaenc.c ++++ ffmpeg-4.4.1/libavformat/matroskaenc.c +@@ -2835,16 +2835,24 @@ static const AVClass matroska_class = { + .version = LIBAVUTIL_VERSION_INT, + }; + ++#define PREFAUDIO \ ++ CONFIG_LIBOPUS_ENCODER ? AV_CODEC_ID_OPUS : \ ++ CONFIG_AAC_ENCODER ? AV_CODEC_ID_AAC : \ ++ CONFIG_VORBIS_ENCODER ? AV_CODEC_ID_VORBIS : \ ++ AV_CODEC_ID_AC3 + AVOutputFormat ff_matroska_muxer = { + .name = "matroska", + .long_name = NULL_IF_CONFIG_SMALL("Matroska"), + .mime_type = "video/x-matroska", + .extensions = "mkv", + .priv_data_size = sizeof(MatroskaMuxContext), +- .audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, +- .video_codec = CONFIG_LIBX264_ENCODER ? +- AV_CODEC_ID_H264 : AV_CODEC_ID_MPEG4, ++ .audio_codec = PREFAUDIO, ++ .video_codec = ++ CONFIG_LIBVPX_VP9_ENCODER ? AV_CODEC_ID_VP9 : \ ++ CONFIG_LIBX264_ENCODER ? AV_CODEC_ID_H264 : \ ++ CONFIG_LIBVPX_VP8_ENCODER ? AV_CODEC_ID_VP8 : \ ++ CONFIG_MPEG4_ENCODER ? AV_CODEC_ID_MPEG4 : \ ++ AV_CODEC_ID_THEORA, + .init = mkv_init, + .deinit = mkv_deinit, + .write_header = mkv_write_header, +@@ -2906,8 +2914,7 @@ AVOutputFormat ff_matroska_audio_muxer = + .mime_type = "audio/x-matroska", + .extensions = "mka", + .priv_data_size = sizeof(MatroskaMuxContext), +- .audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, ++ .audio_codec = PREFAUDIO, + .video_codec = AV_CODEC_ID_NONE, + .init = mkv_init, + .deinit = mkv_deinit, diff --git a/ffmpeg-glslang-cxx17.patch b/ffmpeg-glslang-cxx17.patch new file mode 100644 index 0000000..c4c0fc8 --- /dev/null +++ b/ffmpeg-glslang-cxx17.patch @@ -0,0 +1,35 @@ +From: Jan Engelhardt +Date: 2023-10-30 12:10:03.273303565 +0100 + +glslang 13 needs C++17. + +--- + configure | 2 +- + libavfilter/glslang.cpp | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +Index: ffmpeg-4.4.4/configure +=================================================================== +--- ffmpeg-4.4.4.orig/configure ++++ ffmpeg-4.4.4/configure +@@ -5267,7 +5267,7 @@ fi + + add_cppflags -D_ISOC99_SOURCE + add_cxxflags -D__STDC_CONSTANT_MACROS +-check_cxxflags -std=c++11 || check_cxxflags -std=c++0x ++check_cxxflags -std=c++17 + + # some compilers silently accept -std=c11, so we also need to check that the + # version macro is defined properly +Index: ffmpeg-4.4.4/libavfilter/glslang.cpp +=================================================================== +--- ffmpeg-4.4.4.orig/libavfilter/glslang.cpp ++++ ffmpeg-4.4.4/libavfilter/glslang.cpp +@@ -16,6 +16,7 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include + #include + + extern "C" { diff --git a/ffmpeg-libglslang-detection.patch b/ffmpeg-libglslang-detection.patch new file mode 100644 index 0000000..e44f1bb --- /dev/null +++ b/ffmpeg-libglslang-detection.patch @@ -0,0 +1,18 @@ +Index: ffmpeg-4.4.3/configure +=================================================================== +--- ffmpeg-4.4.3.orig/configure ++++ ffmpeg-4.4.3/configure +@@ -6377,7 +6377,12 @@ enabled fontconfig && enable libf + enabled libfontconfig && require_pkg_config libfontconfig fontconfig "fontconfig/fontconfig.h" FcInit + enabled libfreetype && require_pkg_config libfreetype freetype2 "ft2build.h FT_FREETYPE_H" FT_Init_FreeType + enabled libfribidi && require_pkg_config libfribidi fribidi fribidi.h fribidi_version_info +-enabled libglslang && require_cpp libglslang glslang/SPIRV/GlslangToSpv.h "glslang::TIntermediate*" -lglslang -lMachineIndependent -lOSDependent -lHLSL -lOGLCompiler -lGenericCodeGen -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ ++enabled libglslang && { check_lib libglslang glslang/Include/glslang_c_interface.h glslang_initialize_process \ ++ -lglslang -lMachineIndependent -lOSDependent -lHLSL -lOGLCompiler -lGenericCodeGen \ ++ -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm || ++ require libglslang glslang/Include/glslang_c_interface.h glslang_initialize_process \ ++ -lglslang -lOSDependent -lHLSL -lOGLCompiler \ ++ -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm; } + enabled libgme && { check_pkg_config libgme libgme gme/gme.h gme_new_emu || + require libgme gme/gme.h gme_new_emu -lgme -lstdc++; } + enabled libgsm && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do diff --git a/ffmpeg-new-coder-errors.diff b/ffmpeg-new-coder-errors.diff new file mode 100644 index 0000000..e2f08cf --- /dev/null +++ b/ffmpeg-new-coder-errors.diff @@ -0,0 +1,60 @@ +From: Jan Engelhardt +Date: 2016-04-10 23:23:53.138440254 +0200 + +Improve the error messages a bit to say what's really going on +(in light of openSUSE's reduced build). + +--- + fftools/ffmpeg.c | 2 +- + fftools/ffmpeg_filter.c | 4 ++-- + fftools/ffmpeg_opt.c | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +Index: ffmpeg-4.4.1/fftools/ffmpeg.c +=================================================================== +--- ffmpeg-4.4.1.orig/fftools/ffmpeg.c ++++ ffmpeg-4.4.1/fftools/ffmpeg.c +@@ -2954,7 +2954,7 @@ static int init_input_stream(int ist_ind + if (ist->decoding_needed) { + const AVCodec *codec = ist->dec; + if (!codec) { +- snprintf(error, error_len, "Decoder (codec %s) not found for input stream #%d:%d", ++ snprintf(error, error_len, "This build of ffmpeg does not include a \"%s\" decoder needed for input stream #%d:%d.", + avcodec_get_name(ist->dec_ctx->codec_id), ist->file_index, ist->st->index); + return AVERROR(EINVAL); + } +Index: ffmpeg-4.4.1/fftools/ffmpeg_filter.c +=================================================================== +--- ffmpeg-4.4.1.orig/fftools/ffmpeg_filter.c ++++ ffmpeg-4.4.1/fftools/ffmpeg_filter.c +@@ -959,7 +959,7 @@ static int configure_input_filter(Filter + { + if (!ifilter->ist->dec) { + av_log(NULL, AV_LOG_ERROR, +- "No decoder for stream #%d:%d, filtering impossible\n", ++ "This build of ffmpeg does not have a suitable decoder for stream #%d:%d enabled, filtering impossible\n", + ifilter->ist->file_index, ifilter->ist->st->index); + return AVERROR_DECODER_NOT_FOUND; + } +@@ -1103,7 +1103,7 @@ int configure_filtergraph(FilterGraph *f + if (!ost->enc) { + /* identical to the same check in ffmpeg.c, needed because + complex filter graphs are initialized earlier */ +- av_log(NULL, AV_LOG_ERROR, "Encoder (codec %s) not found for output stream #%d:%d\n", ++ av_log(NULL, AV_LOG_ERROR, "This build of ffmpeg does not include a \"%s\" encoder needed for output stream #%d:%d.\n", + avcodec_get_name(ost->st->codecpar->codec_id), ost->file_index, ost->index); + ret = AVERROR(EINVAL); + goto fail; +Index: ffmpeg-4.4.1/fftools/ffmpeg_opt.c +=================================================================== +--- ffmpeg-4.4.1.orig/fftools/ffmpeg_opt.c ++++ ffmpeg-4.4.1/fftools/ffmpeg_opt.c +@@ -1400,7 +1400,7 @@ static int choose_encoder(OptionsContext + if (!ost->enc) { + av_log(NULL, AV_LOG_FATAL, "Automatic encoder selection failed for " + "output stream #%d:%d. Default encoder for format %s (codec %s) is " +- "probably disabled. Please choose an encoder manually.\n", ++ "probably disabled or this build of ffmpeg does not include that codec. Please choose an encoder manually.\n", + ost->file_index, ost->index, s->oformat->name, + avcodec_get_name(ost->st->codecpar->codec_id)); + return AVERROR_ENCODER_NOT_FOUND; diff --git a/soversion.patch b/soversion.patch new file mode 100644 index 0000000..c85adae --- /dev/null +++ b/soversion.patch @@ -0,0 +1,43 @@ +From: Jan Engelhardt +Date: 2020-07-04 23:56:54.411950316 +0200 + +User frispete wrote on 2020-6-26 22:13+0000 at +https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-4#comment-1257440 +: """Unfortunately, this version is binary incompatible to 4.2.3 in some +aspects. [...]""" + +Further discussion on the mailing list explored this topic, and +revealed that ELF symbol versioning is lacklusterly implemented in +ffmpeg, which can cause inadvertent mixing of library versions on +openSUSE, and precompiled Linux distributions in general. It is +unclear when upstream will have implemented a solution. Until then, +we will need to tighten the requirements between packages, to which +end we stretch the SOVERSION to include MINOR. + +Programs linking to libavcodec get the right DT_NEEDED field with value +libavcodec.so.58.91, and so they do not request libavcodec.so.58 (which could +potentially lead to libavcodec.so.58.54). +Programs dlopening libavcodec.so.58 will get something random, that's +what dlopening programs have to deal with. + +--- + configure | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: ffmpeg-4.4.1/configure +=================================================================== +--- ffmpeg-4.4.1.orig/configure ++++ ffmpeg-4.4.1/configure +@@ -3834,10 +3834,10 @@ SLIBPREF="lib" + SLIBSUF=".so" + SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)' + SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)' +-SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' ++SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR).$(LIBMINOR)' + LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' + SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)' +-SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)' ++SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME) $(SLIBNAME).$(LIBMAJOR)' + VERSION_SCRIPT_POSTPROCESS_CMD="cat" + + asflags_filter=echo From c64a29a42ed9c4131ba5c57c33bd1f73821e615b362bb34d4da522d60c96c09f Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Sat, 27 Jul 2024 05:17:58 +0000 Subject: [PATCH 2/2] [info=d4a851e48e2ef17c1f3c81416ee204973636088059021e1c36a028ddbb7991c7] OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-4?expand=0&rev=223 --- _scmsync.obsinfo | 4 ++-- build.specials.obscpio | 2 +- ffmpeg-4.changes | 6 ++++++ ffmpeg-4.spec | 1 + ffmpeg-c99.patch | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 ffmpeg-c99.patch diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo index b43235f..d344d9c 100644 --- a/_scmsync.obsinfo +++ b/_scmsync.obsinfo @@ -1,4 +1,4 @@ -mtime: 1715249247 -commit: 90ca7e24a6cbe5b7139f3c99d355ae4ecd32b73586c4e953d7b4bf8e6d02cfaf +mtime: 1722057554 +commit: d4a851e48e2ef17c1f3c81416ee204973636088059021e1c36a028ddbb7991c7 url: https://src.opensuse.org/jengelh/ffmpeg-4 revision: master diff --git a/build.specials.obscpio b/build.specials.obscpio index 9f3705b..71d60e1 100644 --- a/build.specials.obscpio +++ b/build.specials.obscpio @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3cbdcc668cfd69e99af24ae4f72a7d2e2cf5462a61581c9e234ac84bf1104965 +oid sha256:8fc0c14f2bc24bf2dda12500e5d5712f81d17ee7a63baeb4b7401f60a0fcb4cb size 256 diff --git a/ffmpeg-4.changes b/ffmpeg-4.changes index 814e821..89fb6f3 100644 --- a/ffmpeg-4.changes +++ b/ffmpeg-4.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Jul 26 13:19:42 UTC 2024 - Filip Kastl + +- Add ffmpeg-c99.patch so that the package conforms to the C99 + standard and builds on i586 with GCC 14. + ------------------------------------------------------------------- Tue Apr 27 11:38:35 UTC 2024 - Cliff Zhao diff --git a/ffmpeg-4.spec b/ffmpeg-4.spec index 4d4cb05..a9af490 100644 --- a/ffmpeg-4.spec +++ b/ffmpeg-4.spec @@ -131,6 +131,7 @@ Patch17: ffmpeg-CVE-2023-49502.patch Patch18: ffmpeg-CVE-2023-51793.patch Patch19: 0001-avfilter-af_stereowiden-Check-length.patch Patch20: ffmpeg-CVE-2023-50010.patch +Patch21: ffmpeg-c99.patch BuildRequires: ladspa-devel BuildRequires: libgsm-devel BuildRequires: libmp3lame-devel diff --git a/ffmpeg-c99.patch b/ffmpeg-c99.patch new file mode 100644 index 0000000..22b385d --- /dev/null +++ b/ffmpeg-c99.patch @@ -0,0 +1,37 @@ +From: Filip Kastl +Date: Fri, 26 Jul 2024 14:39:42 +0000 + +I based the package patch on this bug report (there's a patch in +the comments) +https://bugs.gentoo.org/936433 + +and on these patches +https://ffmpeg.org/pipermail/ffmpeg-devel/2023-December/318685.html +http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=5860a966d2fffbbda1af0014f0a4d37a21c4f2ca + +Index: ffmpeg-4.4.4/libavutil/hwcontext_vaapi.c +=================================================================== +--- ffmpeg-4.4.4.orig/libavutil/hwcontext_vaapi.c ++++ ffmpeg-4.4.4/libavutil/hwcontext_vaapi.c +@@ -1032,7 +1032,7 @@ static int vaapi_map_from_drm(AVHWFrames + uint32_t va_fourcc; + int err, i, j, k; + +- unsigned long buffer_handle; ++ uintptr_t buffer_handle; + VASurfaceAttribExternalBuffers buffer_desc; + VASurfaceAttrib attrs[2] = { + { +Index: ffmpeg-4.4.4/libavutil/hwcontext_vulkan.c +=================================================================== +--- ffmpeg-4.4.4.orig/libavutil/hwcontext_vulkan.c ++++ ffmpeg-4.4.4/libavutil/hwcontext_vulkan.c +@@ -862,7 +862,7 @@ static void free_exec_ctx(AVHWFramesCont + + av_freep(&cmd->queues); + av_freep(&cmd->bufs); +- cmd->pool = NULL; ++ cmd->pool = VK_NULL_HANDLE; + } + + static VkCommandBuffer get_buf_exec_ctx(AVHWFramesContext *hwfc, VulkanExecCtx *cmd)