forked from pool/ffmpeg-5
Accepting request 1080435 from home:iznogood:branches:multimedia:libs
- Update to version 5.1.3: * avcodec/012v: Order operations for odd size handling * avcodec/alsdec: - Check bits left before block decoding in non multi channel coding loop - The minimal block is at least 7 bits * avcodec/atrac3plus: reorder channels to match the output layout * avcodec/audiotoolboxenc: return AVERROR_EXTERNAL immediately when encode error * 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 * avcodec/ffv1dec: restructure slice coordinate reading a bit * avcodec/h274: fix include * avcodec/libjxldec: - Fix gamma22 and gamma28 recognition - Avoid hard failure with unspecified primaries * 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 - Use init_get_bits8 and check the return value * avcodec/nvenc: fix vbv buffer size in cq mode * avcodec/pictordec: Remove mid exit branch * avcodec/pngdec: - Check deloco index more exactly - Dont skip/read chunk twice * avcodec/rpzaenc: stop accessing out of bounds frame * avcodec/scpr3: Check bx * avcodec/scpr: Test bx before use * avcodec/smcenc: stop accessing out of bounds frame * avcodec/snowenc: Fix visual weight calculation * avcodec/speedhq: Check buf_size to be big enough for DC * avcodec/speexdec: Check channels > 2 * 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/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 * avcodec/aacdec: fix parsing streams with channel configuration 11 * avformat/id3v2: Check taglen in read_uslt() * avformat/mov: Check samplesize and offset to avoid integer overflow * avformat/mxfdec: Use 64bit in remainder * avformat/replaygain: avoid undefined / negative abs * avformat/vividas: Check packet size * avutil/tx: Use unsigned in ff_tx_fft_sr_combine() to avoid undefined behavior * hwcontext_vulkan: remove optional encode/decode extensions from the list * lavf/async: Fix ring_write return value * lavu/vulkan: fix handle type for 32-bit targets * libswscale: force a minimum size of the slide for bayer sources * swscale/input: Use more unsigned intermediates * swscale/output: - Bias 16bps output calculations to improve non overflowing range - Bias 16bps output calculations to improve non overflowing range for GBRP16/GBRPF32 * swscale: aarch64: Fix yuv2rgb with negative strides * Use https for repository links * vulkan: Fix win/i386 calling convention - Rebase patches with quilt. - Drop ffmpeg-CVE-2022-3964.patch: Fixed upstream. - Drop no-vk-video-decoding.patch: Upstream removed this optional code. - Use ldconfig_scriptlets macro. OBS-URL: https://build.opensuse.org/request/show/1080435 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-5?expand=0&rev=67
This commit is contained in:
parent
aa15319d58
commit
a6e6aeedfc
@ -10,11 +10,11 @@ Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
|
||||
libavcodec/ac3enc.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: ffmpeg-4.4.1/libavcodec/ac3enc.c
|
||||
Index: ffmpeg-5.1.3/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
|
||||
--- ffmpeg-5.1.3.orig/libavcodec/ac3enc.c
|
||||
+++ ffmpeg-5.1.3/libavcodec/ac3enc.c
|
||||
@@ -2204,7 +2204,8 @@ av_cold int ff_ac3_encode_close(AVCodecC
|
||||
av_freep(&block->cpl_coord_mant);
|
||||
}
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:619e706d662c8420859832ddc259cd4d4096a48a2ce1eefd052db9e440eef3dc
|
||||
size 10004956
|
@ -1,11 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQFMBAABCAA2FiEE/PmG6hXm4pOlZE8QtDIvBNZ2WNgFAmMwK64YHGZmbXBlZy1k
|
||||
ZXZlbEBmZm1wZWcub3JnAAoJELQyLwTWdljYPqcH/1NJ+4sBONB93q9ly/Hcq4si
|
||||
MfisOgGY+3CqDxHE3VSzMl91vq0vw4Axbbpk2+3AaELfQtDwVh8i8/8uDZXXgVa7
|
||||
1ScGEsq13RltI7UXAMRE0teZlFwg/V+ZGeHgN4dhYoMrp9txW5HVvy7CzJ6/hco5
|
||||
m6QdEr8U1POHXDlevHvI67tml1M5zDbNtfcmUa0PbRKZblXpmq/jzie41h4w926o
|
||||
eUe9j+tal2JM5LtmM9O5DkeblsygeZ0BtyM3KpMaoBykbqEFeqqN93DpUgKCg2GV
|
||||
ZqRDJMycz92MXMh/0nXlAWArcxUwnUW3jSSuNvkFbn/uUJECP/sCx1gkwjQRNeg=
|
||||
=elRN
|
||||
-----END PGP SIGNATURE-----
|
3
ffmpeg-5.1.3.tar.xz
Normal file
3
ffmpeg-5.1.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1b113593ff907293be7aed95acdda5e785dd73616d7d4ec90a0f6adbc5a0312e
|
||||
size 10007756
|
11
ffmpeg-5.1.3.tar.xz.asc
Normal file
11
ffmpeg-5.1.3.tar.xz.asc
Normal file
@ -0,0 +1,11 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQFMBAABCAA2FiEE/PmG6hXm4pOlZE8QtDIvBNZ2WNgFAmQgVfwYHGZmbXBlZy1k
|
||||
ZXZlbEBmZm1wZWcub3JnAAoJELQyLwTWdljYntkH/1aN/nVkVPhbalrPdX14VIau
|
||||
aW2OxXleh7AJe9FVjYduJPQZHS5+wm1GTTl5/IHje3sMG54RdkezRIfx/XCeZefd
|
||||
c+P6OPvqpIXvhEHoKABB/hD7bI/+0bkAfUtDDp0Nfv05sag9PPC0XAJfLGlvWTPl
|
||||
Ci8rLbO7VnsOo35+3dRVHgx6N6vNQuKRx5oZVgb3GEo18gjV1zsoDD91cQjR7GeF
|
||||
64Jol7CPAikSnGwi3rxjARTk+V2YqaPM0KY/VR9QlVReIT2CdrRvQtUTvL1WB5mC
|
||||
6nQ3tHDkRk5uEohAT+e9dxAUBxSTQhKHJn8V4pFS1QVBKH4slPqGvTPnKf5vg+8=
|
||||
=Tdc7
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +1,100 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 19 20:09:16 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 5.1.3:
|
||||
* avcodec/012v: Order operations for odd size handling
|
||||
* avcodec/alsdec:
|
||||
- Check bits left before block decoding in non multi channel
|
||||
coding loop
|
||||
- The minimal block is at least 7 bits
|
||||
* avcodec/atrac3plus: reorder channels to match the output layout
|
||||
* avcodec/audiotoolboxenc: return AVERROR_EXTERNAL immediately
|
||||
when encode error
|
||||
* 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
|
||||
* avcodec/ffv1dec: restructure slice coordinate reading a bit
|
||||
* avcodec/h274: fix include
|
||||
* avcodec/libjxldec:
|
||||
- Fix gamma22 and gamma28 recognition
|
||||
- Avoid hard failure with unspecified primaries
|
||||
* 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
|
||||
- Use init_get_bits8 and check the return value
|
||||
* avcodec/nvenc: fix vbv buffer size in cq mode
|
||||
* avcodec/pictordec: Remove mid exit branch
|
||||
* avcodec/pngdec:
|
||||
- Check deloco index more exactly
|
||||
- Dont skip/read chunk twice
|
||||
* avcodec/rpzaenc: stop accessing out of bounds frame
|
||||
* avcodec/scpr3: Check bx
|
||||
* avcodec/scpr: Test bx before use
|
||||
* avcodec/smcenc: stop accessing out of bounds frame
|
||||
* avcodec/snowenc: Fix visual weight calculation
|
||||
* avcodec/speedhq: Check buf_size to be big enough for DC
|
||||
* avcodec/speexdec: Check channels > 2
|
||||
* 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/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
|
||||
* avcodec/aacdec: fix parsing streams with channel configuration
|
||||
11
|
||||
* avformat/id3v2: Check taglen in read_uslt()
|
||||
* avformat/mov: Check samplesize and offset to avoid integer
|
||||
overflow
|
||||
* avformat/mxfdec: Use 64bit in remainder
|
||||
* avformat/replaygain: avoid undefined / negative abs
|
||||
* avformat/vividas: Check packet size
|
||||
* avutil/tx: Use unsigned in ff_tx_fft_sr_combine() to avoid
|
||||
undefined behavior
|
||||
* hwcontext_vulkan: remove optional encode/decode extensions from
|
||||
the list
|
||||
* lavf/async: Fix ring_write return value
|
||||
* lavu/vulkan: fix handle type for 32-bit targets
|
||||
* libswscale: force a minimum size of the slide for bayer sources
|
||||
* swscale/input: Use more unsigned intermediates
|
||||
* swscale/output:
|
||||
- Bias 16bps output calculations to improve non overflowing
|
||||
range
|
||||
- Bias 16bps output calculations to improve non overflowing
|
||||
range for GBRP16/GBRPF32
|
||||
* swscale: aarch64: Fix yuv2rgb with negative strides
|
||||
* Use https for repository links
|
||||
* vulkan: Fix win/i386 calling convention
|
||||
- Rebase patches with quilt.
|
||||
- Drop ffmpeg-CVE-2022-3964.patch: Fixed upstream.
|
||||
- Drop no-vk-video-decoding.patch: Upstream removed this optional
|
||||
code.
|
||||
- Use ldconfig_scriptlets macro.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 16 18:11:17 UTC 2023 - Callum Farmer <gmbr3@opensuse.org>
|
||||
|
||||
|
@ -80,7 +80,7 @@
|
||||
%define _major_expected 6
|
||||
|
||||
Name: ffmpeg-5
|
||||
Version: 5.1.2
|
||||
Version: 5.1.3
|
||||
Release: 0
|
||||
Summary: Set of libraries for working with various multimedia formats
|
||||
License: GPL-3.0-or-later
|
||||
@ -106,9 +106,7 @@ Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch
|
||||
Patch5: work-around-abi-break.patch
|
||||
Patch9: ffmpeg-4.4-CVE-2020-22046.patch
|
||||
Patch10: ffmpeg-chromium.patch
|
||||
Patch11: ffmpeg-CVE-2022-3964.patch
|
||||
Patch91: ffmpeg-dlopen-openh264.patch
|
||||
Patch92: no-vk-video-decoding.patch
|
||||
Patch93: soname.diff
|
||||
|
||||
%if %{with amf_sdk}
|
||||
@ -711,22 +709,14 @@ for i in libavformat/options_table.h libavformat/os_support.h \
|
||||
cp -a $i "$b/%_includedir/ffmpeg/private/$i"
|
||||
done
|
||||
|
||||
%post -n libavcodec59 -p /sbin/ldconfig
|
||||
%postun -n libavcodec59 -p /sbin/ldconfig
|
||||
%post -n libavdevice59 -p /sbin/ldconfig
|
||||
%postun -n libavdevice59 -p /sbin/ldconfig
|
||||
%post -n libavfilter8 -p /sbin/ldconfig
|
||||
%postun -n libavfilter8 -p /sbin/ldconfig
|
||||
%post -n libavformat59 -p /sbin/ldconfig
|
||||
%postun -n libavformat59 -p /sbin/ldconfig
|
||||
%post -n libavutil57 -p /sbin/ldconfig
|
||||
%postun -n libavutil57 -p /sbin/ldconfig
|
||||
%post -n libpostproc56 -p /sbin/ldconfig
|
||||
%postun -n libpostproc56 -p /sbin/ldconfig
|
||||
%post -n libswresample4_ff5 -p /sbin/ldconfig
|
||||
%postun -n libswresample4_ff5 -p /sbin/ldconfig
|
||||
%post -n libswscale6 -p /sbin/ldconfig
|
||||
%postun -n libswscale6 -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets -n libavcodec59
|
||||
%ldconfig_scriptlets -n libavdevice59
|
||||
%ldconfig_scriptlets -n libavfilter8
|
||||
%ldconfig_scriptlets -n libavformat59
|
||||
%ldconfig_scriptlets -n libavutil57
|
||||
%ldconfig_scriptlets -n libpostproc56
|
||||
%ldconfig_scriptlets -n libswresample4_ff5
|
||||
%ldconfig_scriptlets -n libswscale6
|
||||
|
||||
%files
|
||||
%doc Changelog CREDITS README.md
|
||||
@ -829,7 +819,7 @@ done
|
||||
%define _name ffmpeg
|
||||
|
||||
Name: ffmpeg-5-mini
|
||||
Version: 5.1.2
|
||||
Version: 5.1.3
|
||||
Release: 0
|
||||
Summary: Set of libraries for working with various multimedia formats
|
||||
License: GPL-3.0-or-later
|
||||
@ -846,9 +836,7 @@ Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch
|
||||
Patch5: work-around-abi-break.patch
|
||||
Patch9: ffmpeg-4.4-CVE-2020-22046.patch
|
||||
Patch10: ffmpeg-chromium.patch
|
||||
Patch11: ffmpeg-CVE-2022-3964.patch
|
||||
Patch91: ffmpeg-dlopen-openh264.patch
|
||||
Patch92: no-vk-video-decoding.patch
|
||||
Patch93: soname.diff
|
||||
BuildRequires: c_compiler
|
||||
Requires: this-is-only-for-build-envs
|
||||
@ -930,8 +918,7 @@ b="%buildroot"
|
||||
%make_install
|
||||
rm -Rf "$b/%_datadir/ffmpeg/examples"
|
||||
|
||||
%post libs -p /sbin/ldconfig
|
||||
%postun libs -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets libs
|
||||
|
||||
%files libs
|
||||
%_libdir/libavcodec.so.*
|
||||
|
@ -1,70 +0,0 @@
|
||||
diff --unified --recursive --text --new-file --color ffmpeg-4.4.old/libavcodec/rpzaenc.c ffmpeg-4.4.new/libavcodec/rpzaenc.c
|
||||
--- ffmpeg-4.4.old/libavcodec/rpzaenc.c 2022-11-15 14:41:42.262978968 +0800
|
||||
+++ ffmpeg-4.4.new/libavcodec/rpzaenc.c 2022-11-15 14:43:37.183516204 +0800
|
||||
@@ -204,7 +204,7 @@
|
||||
|
||||
// loop thru and compare pixels
|
||||
for (y = 0; y < bi->block_height; y++) {
|
||||
- for (x = 0; x < bi->block_width; x++){
|
||||
+ for (x = 0; x < bi->block_width; x++) {
|
||||
// TODO: optimize
|
||||
min_r = FFMIN(R(block_ptr[x]), min_r);
|
||||
min_g = FFMIN(G(block_ptr[x]), min_g);
|
||||
@@ -276,7 +276,7 @@
|
||||
return -1;
|
||||
|
||||
for (i = 0; i < bi->block_height; i++) {
|
||||
- for (j = 0; j < bi->block_width; j++){
|
||||
+ for (j = 0; j < bi->block_width; j++) {
|
||||
x = GET_CHAN(block_ptr[j], xchannel);
|
||||
y = GET_CHAN(block_ptr[j], ychannel);
|
||||
sumx += x;
|
||||
@@ -323,7 +323,7 @@
|
||||
int max_err = 0;
|
||||
|
||||
for (i = 0; i < bi->block_height; i++) {
|
||||
- for (j = 0; j < bi->block_width; j++){
|
||||
+ for (j = 0; j < bi->block_width; j++) {
|
||||
int x_inc, lin_y, lin_x;
|
||||
x = GET_CHAN(block_ptr[j], xchannel);
|
||||
y = GET_CHAN(block_ptr[j], ychannel);
|
||||
@@ -418,7 +418,9 @@
|
||||
uint16_t *dest_pixels,
|
||||
const BlockInfo *bi, int block_counter)
|
||||
{
|
||||
- for (int y = 0; y < 4; y++) {
|
||||
+ const int y_size = FFMIN(4, bi->image_height - bi->row * 4);
|
||||
+
|
||||
+ for (int y = 0; y < y_size; y++) {
|
||||
memcpy(dest_pixels, src_pixels, 8);
|
||||
dest_pixels += bi->rowstride;
|
||||
src_pixels += bi->rowstride;
|
||||
@@ -728,13 +730,14 @@
|
||||
|
||||
if (err > s->sixteen_color_thresh) { // DO SIXTEEN COLOR BLOCK
|
||||
uint16_t *row_ptr;
|
||||
- int rgb555;
|
||||
+ int y_size, rgb555;
|
||||
|
||||
block_offset = get_block_info(&bi, block_counter);
|
||||
|
||||
row_ptr = &src_pixels[block_offset];
|
||||
+ y_size = FFMIN(4, bi.image_height - bi.row * 4);
|
||||
|
||||
- for (int y = 0; y < 4; y++) {
|
||||
+ for (int y = 0; y < y_size; y++) {
|
||||
for (int x = 0; x < 4; x++){
|
||||
rgb555 = row_ptr[x] & ~0x8000;
|
||||
|
||||
@@ -743,6 +746,11 @@
|
||||
row_ptr += bi.rowstride;
|
||||
}
|
||||
|
||||
+ for (int y = y_size; y < 4; y++) {
|
||||
+ for (int x = 0; x < 4; x++)
|
||||
+ put_bits(&s->pb, 16, 0);
|
||||
+ }
|
||||
+
|
||||
block_counter++;
|
||||
} else { // FOUR COLOR BLOCK
|
||||
block_counter += encode_four_color_block(min_color, max_color,
|
@ -11,10 +11,10 @@ Add av_stream_get_first_dts for Chromium
|
||||
libavformat/utils.c | 7 +++++++
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
Index: ffmpeg-5.1/libavformat/avformat.h
|
||||
Index: ffmpeg-5.1.3/libavformat/avformat.h
|
||||
===================================================================
|
||||
--- ffmpeg-5.1.orig/libavformat/avformat.h
|
||||
+++ ffmpeg-5.1/libavformat/avformat.h
|
||||
--- ffmpeg-5.1.3.orig/libavformat/avformat.h
|
||||
+++ ffmpeg-5.1.3/libavformat/avformat.h
|
||||
@@ -1128,6 +1128,10 @@ struct AVCodecParserContext *av_stream_g
|
||||
*/
|
||||
int64_t av_stream_get_end_pts(const AVStream *st);
|
||||
@ -26,11 +26,11 @@ Index: ffmpeg-5.1/libavformat/avformat.h
|
||||
#define AV_PROGRAM_RUNNING 1
|
||||
|
||||
/**
|
||||
Index: ffmpeg-5.1/libavformat/utils.c
|
||||
Index: ffmpeg-5.1.3/libavformat/utils.c
|
||||
===================================================================
|
||||
--- ffmpeg-5.1.orig/libavformat/utils.c
|
||||
+++ ffmpeg-5.1/libavformat/utils.c
|
||||
@@ -121,6 +121,13 @@
|
||||
--- ffmpeg-5.1.3.orig/libavformat/utils.c
|
||||
+++ ffmpeg-5.1.3/libavformat/utils.c
|
||||
@@ -55,6 +55,13 @@ int ff_unlock_avformat(void)
|
||||
return ff_mutex_unlock(&avformat_mutex) ? -1 : 0;
|
||||
}
|
||||
|
||||
|
@ -11,11 +11,11 @@ reduced codec selection list.
|
||||
libavformat/matroskaenc.c | 20 ++++++++++++++------
|
||||
1 file changed, 14 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: ffmpeg-5.0/libavformat/matroskaenc.c
|
||||
Index: ffmpeg-5.1.3/libavformat/matroskaenc.c
|
||||
===================================================================
|
||||
--- ffmpeg-5.0.orig/libavformat/matroskaenc.c
|
||||
+++ ffmpeg-5.0/libavformat/matroskaenc.c
|
||||
@@ -2887,16 +2887,25 @@ static int mkv_query_codec(enum AVCodecI
|
||||
--- ffmpeg-5.1.3.orig/libavformat/matroskaenc.c
|
||||
+++ ffmpeg-5.1.3/libavformat/matroskaenc.c
|
||||
@@ -3316,16 +3316,25 @@ static int mkv_query_codec(enum AVCodecI
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ Index: ffmpeg-5.0/libavformat/matroskaenc.c
|
||||
.init = mkv_init,
|
||||
.deinit = mkv_deinit,
|
||||
.write_header = mkv_write_header,
|
||||
@@ -2954,8 +2963,7 @@ const AVOutputFormat ff_matroska_audio_m
|
||||
@@ -3383,8 +3392,7 @@ const AVOutputFormat ff_matroska_audio_m
|
||||
.mime_type = "audio/x-matroska",
|
||||
.extensions = "mka",
|
||||
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||
|
@ -23,11 +23,11 @@ Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
|
||||
create mode 100644 libavcodec/libopenh264_dlopen.c
|
||||
create mode 100644 libavcodec/libopenh264_dlopen.h
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index ba5793b2ff..8855c1a908 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -251,6 +251,7 @@ External library support:
|
||||
Index: ffmpeg-5.1.3/configure
|
||||
===================================================================
|
||||
--- ffmpeg-5.1.3.orig/configure
|
||||
+++ ffmpeg-5.1.3/configure
|
||||
@@ -252,6 +252,7 @@ External library support:
|
||||
--enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
|
||||
--enable-libopencv enable video filtering via libopencv [no]
|
||||
--enable-libopenh264 enable H.264 encoding via OpenH264 [no]
|
||||
@ -35,7 +35,7 @@ index ba5793b2ff..8855c1a908 100755
|
||||
--enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no]
|
||||
--enable-libopenmpt enable decoding tracked files via libopenmpt [no]
|
||||
--enable-libopenvino enable OpenVINO as a DNN module backend
|
||||
@@ -1844,6 +1845,7 @@ EXTERNAL_LIBRARY_LIST="
|
||||
@@ -1846,6 +1847,7 @@ EXTERNAL_LIBRARY_LIST="
|
||||
libmysofa
|
||||
libopencv
|
||||
libopenh264
|
||||
@ -43,7 +43,7 @@ index ba5793b2ff..8855c1a908 100755
|
||||
libopenjpeg
|
||||
libopenmpt
|
||||
libopenvino
|
||||
@@ -6596,6 +6598,7 @@ enabled libopencv && { check_headers opencv2/core/core_c.h &&
|
||||
@@ -6599,6 +6601,7 @@ enabled libopencv && { check_hea
|
||||
require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } ||
|
||||
require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; }
|
||||
enabled libopenh264 && require_pkg_config libopenh264 openh264 wels/codec_api.h WelsGetCodecVersion
|
||||
@ -51,11 +51,11 @@ index ba5793b2ff..8855c1a908 100755
|
||||
enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version ||
|
||||
{ require_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } }
|
||||
enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create -lstdc++ && append libopenmpt_extralibs "-lstdc++"
|
||||
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
|
||||
index 457ec58377..08a26fba5f 100644
|
||||
--- a/libavcodec/Makefile
|
||||
+++ b/libavcodec/Makefile
|
||||
@@ -1075,6 +1075,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o
|
||||
Index: ffmpeg-5.1.3/libavcodec/Makefile
|
||||
===================================================================
|
||||
--- ffmpeg-5.1.3.orig/libavcodec/Makefile
|
||||
+++ ffmpeg-5.1.3/libavcodec/Makefile
|
||||
@@ -1075,6 +1075,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER)
|
||||
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o
|
||||
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o
|
||||
OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o
|
||||
@ -63,10 +63,10 @@ index 457ec58377..08a26fba5f 100644
|
||||
OBJS-$(CONFIG_LIBOPENH264_DECODER) += libopenh264dec.o libopenh264.o
|
||||
OBJS-$(CONFIG_LIBOPENH264_ENCODER) += libopenh264enc.o libopenh264.o
|
||||
OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpegdec.o
|
||||
diff --git a/libavcodec/libopenh264.c b/libavcodec/libopenh264.c
|
||||
index 0f6d28ed88..a124c3fa1e 100644
|
||||
--- a/libavcodec/libopenh264.c
|
||||
+++ b/libavcodec/libopenh264.c
|
||||
Index: ffmpeg-5.1.3/libavcodec/libopenh264.c
|
||||
===================================================================
|
||||
--- ffmpeg-5.1.3.orig/libavcodec/libopenh264.c
|
||||
+++ ffmpeg-5.1.3/libavcodec/libopenh264.c
|
||||
@@ -20,8 +20,13 @@
|
||||
*/
|
||||
|
||||
@ -81,7 +81,7 @@ index 0f6d28ed88..a124c3fa1e 100644
|
||||
|
||||
#include "libavutil/error.h"
|
||||
#include "libavutil/log.h"
|
||||
@@ -52,8 +57,17 @@ int ff_libopenh264_check_version(void *logctx)
|
||||
@@ -52,8 +57,17 @@ int ff_libopenh264_check_version(void *l
|
||||
// Mingw GCC < 4.7 on x86_32 uses an incorrect/buggy ABI for the WelsGetCodecVersion
|
||||
// function (for functions returning larger structs), thus skip the check in those
|
||||
// configurations.
|
||||
@ -101,11 +101,10 @@ index 0f6d28ed88..a124c3fa1e 100644
|
||||
if (memcmp(&libver, &g_stCodecVersion, sizeof(libver))) {
|
||||
av_log(logctx, AV_LOG_ERROR, "Incorrect library version loaded\n");
|
||||
return AVERROR(EINVAL);
|
||||
diff --git a/libavcodec/libopenh264_dlopen.c b/libavcodec/libopenh264_dlopen.c
|
||||
new file mode 100644
|
||||
index 0000000000..49ea8ff44f
|
||||
Index: ffmpeg-5.1.3/libavcodec/libopenh264_dlopen.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/libavcodec/libopenh264_dlopen.c
|
||||
+++ ffmpeg-5.1.3/libavcodec/libopenh264_dlopen.c
|
||||
@@ -0,0 +1,147 @@
|
||||
+/*
|
||||
+ * OpenH264 dlopen code
|
||||
@ -254,11 +253,10 @@ index 0000000000..49ea8ff44f
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/libavcodec/libopenh264_dlopen.h b/libavcodec/libopenh264_dlopen.h
|
||||
new file mode 100644
|
||||
index 0000000000..d7d8bb7cad
|
||||
Index: ffmpeg-5.1.3/libavcodec/libopenh264_dlopen.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/libavcodec/libopenh264_dlopen.h
|
||||
+++ ffmpeg-5.1.3/libavcodec/libopenh264_dlopen.h
|
||||
@@ -0,0 +1,58 @@
|
||||
+/*
|
||||
+ * OpenH264 dlopen code
|
||||
@ -318,10 +316,10 @@ index 0000000000..d7d8bb7cad
|
||||
+#endif /* CONFIG_LIBOPENH264_DLOPEN */
|
||||
+
|
||||
+#endif /* HAVE_LIBOPENH264_DLOPEN_H */
|
||||
diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
|
||||
index 007f86b619..57aa3bc1d1 100644
|
||||
--- a/libavcodec/libopenh264dec.c
|
||||
+++ b/libavcodec/libopenh264dec.c
|
||||
Index: ffmpeg-5.1.3/libavcodec/libopenh264dec.c
|
||||
===================================================================
|
||||
--- ffmpeg-5.1.3.orig/libavcodec/libopenh264dec.c
|
||||
+++ ffmpeg-5.1.3/libavcodec/libopenh264dec.c
|
||||
@@ -19,8 +19,12 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
@ -335,7 +333,7 @@ index 007f86b619..57aa3bc1d1 100644
|
||||
|
||||
#include "libavutil/common.h"
|
||||
#include "libavutil/fifo.h"
|
||||
@@ -56,6 +60,12 @@ static av_cold int svc_decode_init(AVCodecContext *avctx)
|
||||
@@ -56,6 +60,12 @@ static av_cold int svc_decode_init(AVCod
|
||||
int log_level;
|
||||
WelsTraceCallback callback_function;
|
||||
|
||||
@ -348,10 +346,10 @@ index 007f86b619..57aa3bc1d1 100644
|
||||
if ((err = ff_libopenh264_check_version(avctx)) < 0)
|
||||
return AVERROR_DECODER_NOT_FOUND;
|
||||
|
||||
diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c
|
||||
index db252aace1..75289678da 100644
|
||||
--- a/libavcodec/libopenh264enc.c
|
||||
+++ b/libavcodec/libopenh264enc.c
|
||||
Index: ffmpeg-5.1.3/libavcodec/libopenh264enc.c
|
||||
===================================================================
|
||||
--- ffmpeg-5.1.3.orig/libavcodec/libopenh264enc.c
|
||||
+++ ffmpeg-5.1.3/libavcodec/libopenh264enc.c
|
||||
@@ -19,8 +19,12 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
@ -365,7 +363,7 @@ index db252aace1..75289678da 100644
|
||||
|
||||
#include "libavutil/attributes.h"
|
||||
#include "libavutil/common.h"
|
||||
@@ -137,6 +141,12 @@ static av_cold int svc_encode_init(AVCodecContext *avctx)
|
||||
@@ -137,6 +141,12 @@ static av_cold int svc_encode_init(AVCod
|
||||
WelsTraceCallback callback_function;
|
||||
AVCPBProperties *props;
|
||||
|
||||
@ -378,6 +376,3 @@ index db252aace1..75289678da 100644
|
||||
if ((err = ff_libopenh264_check_version(avctx)) < 0)
|
||||
return AVERROR_ENCODER_NOT_FOUND;
|
||||
|
||||
--
|
||||
2.36.1
|
||||
|
||||
|
@ -10,11 +10,11 @@ Improve the error messages a bit to say what's really going on
|
||||
fftools/ffmpeg_opt.c | 2 +-
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: ffmpeg-4.4.1/fftools/ffmpeg.c
|
||||
Index: ffmpeg-5.1.3/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
|
||||
--- ffmpeg-5.1.3.orig/fftools/ffmpeg.c
|
||||
+++ ffmpeg-5.1.3/fftools/ffmpeg.c
|
||||
@@ -2606,7 +2606,7 @@ static int init_input_stream(int ist_ind
|
||||
if (ist->decoding_needed) {
|
||||
const AVCodec *codec = ist->dec;
|
||||
if (!codec) {
|
||||
@ -23,11 +23,11 @@ Index: ffmpeg-4.4.1/fftools/ffmpeg.c
|
||||
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
|
||||
Index: ffmpeg-5.1.3/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
|
||||
--- ffmpeg-5.1.3.orig/fftools/ffmpeg_filter.c
|
||||
+++ ffmpeg-5.1.3/fftools/ffmpeg_filter.c
|
||||
@@ -945,7 +945,7 @@ static int configure_input_filter(Filter
|
||||
{
|
||||
if (!ifilter->ist->dec) {
|
||||
av_log(NULL, AV_LOG_ERROR,
|
||||
@ -36,7 +36,7 @@ Index: ffmpeg-4.4.1/fftools/ffmpeg_filter.c
|
||||
ifilter->ist->file_index, ifilter->ist->st->index);
|
||||
return AVERROR_DECODER_NOT_FOUND;
|
||||
}
|
||||
@@ -1103,7 +1103,7 @@ int configure_filtergraph(FilterGraph *f
|
||||
@@ -1117,7 +1117,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 */
|
||||
@ -45,11 +45,11 @@ Index: ffmpeg-4.4.1/fftools/ffmpeg_filter.c
|
||||
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
|
||||
Index: ffmpeg-5.1.3/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
|
||||
--- ffmpeg-5.1.3.orig/fftools/ffmpeg_opt.c
|
||||
+++ ffmpeg-5.1.3/fftools/ffmpeg_opt.c
|
||||
@@ -1497,7 +1497,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 "
|
||||
|
@ -1,31 +0,0 @@
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: 2023-01-31 17:02:24.764525660 +0100
|
||||
|
||||
VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME changed to
|
||||
VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME between VK 1.3.236 -> 1.3.239, and now
|
||||
ffmpeg fails to build. Upstream ffmpeg has just removed the optional extensions
|
||||
again - see commit eb0455d64690eed0068e5cb202f72ecdf899837c .
|
||||
|
||||
---
|
||||
libavutil/hwcontext_vulkan.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Index: ffmpeg-5.1.2/libavutil/hwcontext_vulkan.c
|
||||
===================================================================
|
||||
--- ffmpeg-5.1.2.orig/libavutil/hwcontext_vulkan.c
|
||||
+++ ffmpeg-5.1.2/libavutil/hwcontext_vulkan.c
|
||||
@@ -356,12 +356,14 @@ static const VulkanOptExtension optional
|
||||
#endif
|
||||
|
||||
/* Video encoding/decoding */
|
||||
+#if 0
|
||||
{ VK_KHR_VIDEO_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
|
||||
{ VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
|
||||
{ VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
|
||||
{ VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
|
||||
{ VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
|
||||
{ VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
|
||||
+#endif
|
||||
};
|
||||
|
||||
/* Converts return values to strings */
|
Loading…
Reference in New Issue
Block a user