SHA256
1
0
forked from jengelh/ffmpeg-5
ffmpeg-5/ffmpeg-chromium.patch

47 lines
1.5 KiB
Diff
Raw Normal View History

commit 95aab0fd83619408995720ce53d7a74790580220
author liberato@chromium.org <liberato@chromium.org> Thu Jul 08 02:01:22 2021
committer liberato@chromium.org <liberato@chromium.org> Thu Jul 08 02:01:22 2021
tree ac725b5e2c548c8142aa7096d8184d87d3876a49
parent e073b7a22e4993e0a7cab80a42a21524e5349f95
Add av_stream_get_first_dts for Chromium
---
libavformat/avformat.h | 4 ++++
libavformat/utils.c | 7 +++++++
2 files changed, 11 insertions(+)
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
2023-04-20 00:08:37 +02:00
Index: ffmpeg-5.1.3/libavformat/avformat.h
===================================================================
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
2023-04-20 00:08:37 +02:00
--- 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);
+// 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
/**
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
2023-04-20 00:08:37 +02:00
Index: ffmpeg-5.1.3/libavformat/utils.c
===================================================================
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
2023-04-20 00:08:37 +02:00
--- 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;
}
+// Chromium: We use the internal field first_dts vvv
+int64_t av_stream_get_first_dts(const AVStream *st)
+{
+ return cffstream(st)->first_dts;
+}
+// Chromium: We use the internal field first_dts ^^^
+
/* an arbitrarily chosen "sane" max packet size -- 50M */
#define SANE_CHUNK_SIZE (50000000)