SHA256
1
0
forked from jengelh/ffmpeg-5
ffmpeg-5/ffmpeg-codec-choice.diff
Jan Engelhardt a6e6aeedfc 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-19 22:08:37 +00:00

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,