forked from pool/ffmpeg-5
- 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
58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
From: Jan Engelhardt <jengelh@inai.de>
|
|
|
|
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 | 20 ++++++++++++++------
|
|
1 file changed, 14 insertions(+), 6 deletions(-)
|
|
|
|
Index: ffmpeg-5.1.3/libavformat/matroskaenc.c
|
|
===================================================================
|
|
--- 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;
|
|
}
|
|
|
|
+#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
|
|
+
|
|
const 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,
|
|
@@ -3383,8 +3392,7 @@ const AVOutputFormat ff_matroska_audio_m
|
|
.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,
|