Hello community, here is the log from the commit of package ffmpeg-4 for openSUSE:Factory checked in at 2019-06-24 21:49:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ffmpeg-4 (Old) and /work/SRC/openSUSE:Factory/.ffmpeg-4.new.4615 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ffmpeg-4" Mon Jun 24 21:49:08 2019 rev:14 rq:709184 version:4.1.3 Changes: -------- --- /work/SRC/openSUSE:Factory/ffmpeg-4/ffmpeg-4.changes 2019-05-17 23:37:37.598094722 +0200 +++ /work/SRC/openSUSE:Factory/.ffmpeg-4.new.4615/ffmpeg-4.changes 2019-06-24 21:49:09.699910507 +0200 @@ -1,0 +2,10 @@ +Tue Jun 11 11:12:43 UTC 2019 - Ismail Dönmez <idon...@suse.com> + +- 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 + +------------------------------------------------------------------- New: ---- ffmpeg-4.1-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ffmpeg-4.spec ++++++ --- /var/tmp/diff_new_pack.3HWoet/_old 2019-06-24 21:49:12.271912495 +0200 +++ /var/tmp/diff_new_pack.3HWoet/_new 2019-06-24 21:49:12.303912520 +0200 @@ -49,7 +49,7 @@ %else %bcond_with cuda_sdk %endif -%bcond_with fdk_aac +%bcond_with fdk_aac_dlopen %bcond_with librtmp %bcond_with opencore %bcond_with x264 @@ -117,6 +117,8 @@ Patch4: ffmpeg-codec-choice.diff # dav1d added https://patchwork.ffmpeg.org/patch/10843/ Patch6: ffmpeg-avcodec-libdav1d-AV1-decoder-wrapper.patch +# https://github.com/OpenMandrivaAssociation/ffmpeg/blob/master/ffmpeg-4.1-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch +Patch7: ffmpeg-4.1-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch BuildRequires: ladspa-devel BuildRequires: libgsm-devel BuildRequires: libmp3lame-devel @@ -205,9 +207,6 @@ %endif BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zvbi-0.2) >= 0.2.28 -%if %{with fdk_aac} -BuildRequires: pkgconfig(fdk-aac) -%endif %if %{with librtmp} BuildRequires: pkgconfig(librtmp) %endif @@ -667,8 +666,8 @@ %endif --enable-vaapi \ --enable-vdpau \ -%if %{with fdk_aac} - --enable-libfdk_aac \ +%if %{with fdk_aac_dlopen} + --enable-libfdk-aac-dlopen \ --enable-nonfree \ %endif %if %{with opencore} ++++++ ffmpeg-4.1-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch ++++++ ++++ 865 lines (skipped) ++++++ ffmpeg-arm6l.diff ++++++ --- /var/tmp/diff_new_pack.3HWoet/_old 2019-06-24 21:49:13.407913373 +0200 +++ /var/tmp/diff_new_pack.3HWoet/_new 2019-06-24 21:49:13.427913388 +0200 @@ -2,10 +2,10 @@ libavutil/arm/timer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: ffmpeg-3.0.1/libavutil/arm/timer.h +Index: ffmpeg-4.1.3/libavutil/arm/timer.h =================================================================== ---- ffmpeg-3.0.1.orig/libavutil/arm/timer.h -+++ ffmpeg-3.0.1/libavutil/arm/timer.h +--- ffmpeg-4.1.3.orig/libavutil/arm/timer.h ++++ ffmpeg-4.1.3/libavutil/arm/timer.h @@ -24,7 +24,7 @@ #include <stdint.h> #include "config.h" ++++++ ffmpeg-avcodec-libdav1d-AV1-decoder-wrapper.patch ++++++ --- /var/tmp/diff_new_pack.3HWoet/_old 2019-06-24 21:49:13.591913515 +0200 +++ /var/tmp/diff_new_pack.3HWoet/_new 2019-06-24 21:49:13.615913534 +0200 @@ -1,7 +1,7 @@ -diff --git a/configure b/configure -index 01c3a1011d..e56b925065 100755 ---- a/configure -+++ b/configure +Index: ffmpeg-4.1.3/configure +=================================================================== +--- ffmpeg-4.1.3.orig/configure ++++ ffmpeg-4.1.3/configure @@ -226,6 +226,7 @@ External library support: --enable-libcelt enable CELT decoding via libcelt [no] --enable-libcdio enable audio CD grabbing with libcdio [no] @@ -18,7 +18,7 @@ libdc1394 libdrm libflite -@@ -3088,6 +3090,7 @@ libaom_av1_encoder_select="extract_extradata_bsf" +@@ -3091,6 +3093,7 @@ libaom_av1_encoder_select="extract_extra libcelt_decoder_deps="libcelt" libcodec2_decoder_deps="libcodec2" libcodec2_encoder_deps="libcodec2" @@ -26,7 +26,7 @@ libdavs2_decoder_deps="libdavs2" libfdk_aac_decoder_deps="libfdk_aac" libfdk_aac_encoder_deps="libfdk_aac" -@@ -6064,6 +6067,7 @@ enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 && +@@ -6069,6 +6072,7 @@ enabled libcelt && require lib die "ERROR: libcelt must be installed and version must be >= 0.11.0."; } enabled libcaca && require_pkg_config libcaca caca caca.h caca_create_canvas enabled libcodec2 && require libcodec2 codec2/codec2.h codec2_create -lcodec2 @@ -34,11 +34,11 @@ enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.5.115" davs2.h davs2_decoder_open enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion -diff --git a/libavcodec/Makefile b/libavcodec/Makefile -index 3e41497e34..8643da8f2b 100644 ---- a/libavcodec/Makefile -+++ b/libavcodec/Makefile -@@ -956,6 +956,7 @@ OBJS-$(CONFIG_LIBAOM_AV1_ENCODER) += libaomenc.o +Index: ffmpeg-4.1.3/libavcodec/Makefile +=================================================================== +--- ffmpeg-4.1.3.orig/libavcodec/Makefile ++++ ffmpeg-4.1.3/libavcodec/Makefile +@@ -956,6 +956,7 @@ OBJS-$(CONFIG_LIBAOM_AV1_ENCODER) OBJS-$(CONFIG_LIBCELT_DECODER) += libcelt_dec.o OBJS-$(CONFIG_LIBCODEC2_DECODER) += libcodec2.o codec2utils.o OBJS-$(CONFIG_LIBCODEC2_ENCODER) += libcodec2.o codec2utils.o @@ -46,12 +46,11 @@ OBJS-$(CONFIG_LIBDAVS2_DECODER) += libdavs2.o OBJS-$(CONFIG_LIBFDK_AAC_DECODER) += libfdk-aacdec.o OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o -diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c -new file mode 100644 -index 0000000000..873adfda40 +Index: ffmpeg-4.1.3/libavcodec/libdav1d.c +=================================================================== --- /dev/null -+++ b/libavcodec/libdav1d.c -@@ -0,0 +1,270 @@ ++++ ffmpeg-4.1.3/libavcodec/libdav1d.c +@@ -0,0 +1,252 @@ +/* + * Copyright (c) 2018 Ronald S. Bultje <rsbultje gmail com> + * Copyright (c) 2018 James Almer <jamrial gmail com> @@ -76,7 +75,6 @@ +#include <dav1d/dav1d.h> + +#include "libavutil/avassert.h" -+#include "libavutil/fifo.h" +#include "libavutil/opt.h" + +#include "avcodec.h" @@ -87,7 +85,6 @@ + AVClass *class; + Dav1dContext *c; + -+ AVFifoBuffer *cache; + Dav1dData data; + int tile_threads; +} Libdav1dContext; @@ -104,10 +101,6 @@ + s.n_tile_threads = dav1d->tile_threads; + s.n_frame_threads = FFMIN(c->thread_count ? c->thread_count : av_cpu_count(), 256); + -+ dav1d->cache = av_fifo_alloc(8 * sizeof(AVPacket)); -+ if (!dav1d->cache) -+ return AVERROR(ENOMEM); -+ + res = dav1d_open(&dav1d->c, &s); + if (res < 0) + return AVERROR(ENOMEM); @@ -119,23 +112,10 @@ +{ + Libdav1dContext *dav1d = c->priv_data; + -+ av_fifo_reset(dav1d->cache); + dav1d_data_unref(&dav1d->data); + dav1d_flush(dav1d->c); +} + -+static int libdav1d_fifo_write(void *src, void *dst, int dst_size) { -+ AVPacket *pkt_dst = dst, *pkt_src = src; -+ -+ av_assert2(dst_size >= sizeof(AVPacket)); -+ -+ pkt_src->buf = NULL; -+ av_packet_free_side_data(pkt_src); -+ *pkt_dst = *pkt_src; -+ -+ return sizeof(AVPacket); -+} -+ +static void libdav1d_data_free(const uint8_t *data, void *opaque) { + AVBufferRef *buf = opaque; + @@ -169,37 +149,41 @@ +{ + Libdav1dContext *dav1d = c->priv_data; + Dav1dData *data = &dav1d->data; -+ AVPacket pkt = { 0 }; + Dav1dPicture p = { 0 }; + int res; + + if (!data->sz) { ++ AVPacket pkt = { 0 }; ++ + res = ff_decode_get_packet(c, &pkt); + if (res < 0 && res != AVERROR_EOF) + return res; + + if (pkt.size) { -+ if (!av_fifo_space(dav1d->cache)) { -+ res = av_fifo_grow(dav1d->cache, 8 * sizeof(pkt)); -+ if (res < 0) { -+ av_packet_unref(&pkt); -+ return res; -+ } -+ } -+ + res = dav1d_data_wrap(data, pkt.data, pkt.size, libdav1d_data_free, pkt.buf); + if (res < 0) { + av_packet_unref(&pkt); + return res; + } + -+ av_fifo_generic_write(dav1d->cache, &pkt, sizeof(pkt), libdav1d_fifo_write); -+ } else { -+ data = NULL; ++ data->m.timestamp = pkt.pts; ++ data->m.offset = pkt.pos; ++ data->m.duration = pkt.duration; ++ ++ pkt.buf = NULL; ++ av_packet_unref(&pkt); + } + } + -+ res = dav1d_decode(dav1d->c, data, &p); ++ res = dav1d_send_data(dav1d->c, data); ++ if (res < 0) { ++ if (res == -EINVAL) ++ res = AVERROR_INVALIDDATA; ++ if (res != -EAGAIN) ++ return res; ++ } ++ ++ res = dav1d_get_picture(dav1d->c, &p); + if (res < 0) { + if (res == -EINVAL) + res = AVERROR_INVALIDDATA; @@ -211,8 +195,6 @@ + + av_assert0(p.data[0] != NULL); + -+ av_fifo_generic_read(dav1d->cache, &pkt, sizeof(pkt), NULL); -+ + frame->buf[0] = av_buffer_create(NULL, 0, libdav1d_frame_free, + p.ref, AV_BUFFER_FLAG_READONLY); + if (!frame->buf[0]) { @@ -237,7 +219,7 @@ + return res; + } + -+ switch (p.p.chr) { ++ switch (p.seq_hdr->chr) { + case DAV1D_CHR_VERTICAL: + frame->chroma_location = c->chroma_sample_location = AVCHROMA_LOC_LEFT; + break; @@ -245,25 +227,25 @@ + frame->chroma_location = c->chroma_sample_location = AVCHROMA_LOC_TOPLEFT; + break; + } -+ frame->colorspace = c->colorspace = (enum AVColorSpace) p.p.mtrx; -+ frame->color_primaries = c->color_primaries = (enum AVColorPrimaries) p.p.pri; -+ frame->color_trc = c->color_trc = (enum AVColorTransferCharacteristic) p.p.trc; -+ frame->color_range = c->color_range = p.p.fullrange ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG; ++ frame->colorspace = c->colorspace = (enum AVColorSpace) p.seq_hdr->mtrx; ++ frame->color_primaries = c->color_primaries = (enum AVColorPrimaries) p.seq_hdr->pri; ++ frame->color_trc = c->color_trc = (enum AVColorTransferCharacteristic) p.seq_hdr->trc; ++ frame->color_range = c->color_range = p.seq_hdr->color_range ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG; + + // match timestamps and packet size -+ frame->pts = frame->best_effort_timestamp = pkt.pts; ++ frame->pts = frame->best_effort_timestamp = p.m.timestamp; +#if FF_API_PKT_PTS +FF_DISABLE_DEPRECATION_WARNINGS -+ frame->pkt_pts = pkt.pts; ++ frame->pkt_pts = p.m.timestamp; +FF_ENABLE_DEPRECATION_WARNINGS +#endif -+ frame->pkt_dts = pkt.dts; -+ frame->pkt_pos = pkt.pos; -+ frame->pkt_size = pkt.size; -+ frame->pkt_duration = pkt.duration; -+ frame->key_frame = p.p.type == DAV1D_FRAME_TYPE_KEY; ++ frame->pkt_dts = p.m.timestamp; ++ frame->pkt_pos = p.m.offset; ++ frame->pkt_size = p.m.size; ++ frame->pkt_duration = p.m.duration; ++ frame->key_frame = p.frame_hdr->frame_type == DAV1D_FRAME_TYPE_KEY; + -+ switch (p.p.type) { ++ switch (p.frame_hdr->frame_type) { + case DAV1D_FRAME_TYPE_KEY: + case DAV1D_FRAME_TYPE_INTRA: + frame->pict_type = AV_PICTURE_TYPE_I; @@ -285,7 +267,6 @@ +{ + Libdav1dContext *dav1d = c->priv_data; + -+ av_fifo_freep(&dav1d->cache); + dav1d_data_unref(&dav1d->data); + dav1d_close(&dav1d->c); + @@ -322,220 +303,11 @@ + .priv_class = &libdav1d_class, + .wrapper_name = "libdav1d", +}; - -From 752659327d4ac73640781376d214a26765f971f4 Mon Sep 17 00:00:00 2001 -From: James Almer <jamr...@gmail.com> -Date: Wed, 14 Nov 2018 10:05:25 -0300 -Subject: [PATCH] avcodec/libdav1d: fix build after a recent API break - -Signed-off-by: James Almer <jamr...@gmail.com> ---- - libavcodec/libdav1d.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c -index 873adfda403..b19aee4e9ed 100644 ---- a/libavcodec/libdav1d.c -+++ b/libavcodec/libdav1d.c -@@ -140,12 +140,18 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) - } - - av_fifo_generic_write(dav1d->cache, &pkt, sizeof(pkt), libdav1d_fifo_write); -- } else { -- data = NULL; - } - } - -- res = dav1d_decode(dav1d->c, data, &p); -+ res = dav1d_send_data(dav1d->c, data); -+ if (res < 0) { -+ if (res == -EINVAL) -+ res = AVERROR_INVALIDDATA; -+ if (res != -EAGAIN) -+ return res; -+ } -+ -+ res = dav1d_get_picture(dav1d->c, &p); - if (res < 0) { - if (res == -EINVAL) - res = AVERROR_INVALIDDATA; - -From cc25529420e3c559fcb4c7a993f112983da7d397 Mon Sep 17 00:00:00 2001 -From: James Almer <jamr...@gmail.com> -Date: Sun, 25 Nov 2018 17:28:53 -0300 -Subject: [PATCH] avcodec/libdav1d: update the API usage after upstream changes - -The color fields were moved to another struct, and a way to propagate -timestamps and other input metadata was introduced, so the packet fifo -can be removed. - -Signed-off-by: James Almer <jamr...@gmail.com> ---- - libavcodec/libdav1d.c | 66 ++++++++++++++----------------------------- - 1 file changed, 21 insertions(+), 45 deletions(-) - -diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c -index b19aee4e9ed..d927f11a9e9 100644 ---- a/libavcodec/libdav1d.c -+++ b/libavcodec/libdav1d.c -@@ -22,7 +22,6 @@ - #include <dav1d/dav1d.h> - - #include "libavutil/avassert.h" --#include "libavutil/fifo.h" - #include "libavutil/opt.h" - - #include "avcodec.h" -@@ -33,7 +32,6 @@ typedef struct Libdav1dContext { - AVClass *class; - Dav1dContext *c; - -- AVFifoBuffer *cache; - Dav1dData data; - int tile_threads; - } Libdav1dContext; -@@ -50,10 +48,6 @@ static av_cold int libdav1d_init(AVCodecContext *c) - s.n_tile_threads = dav1d->tile_threads; - s.n_frame_threads = FFMIN(c->thread_count ? c->thread_count : av_cpu_count(), 256); - -- dav1d->cache = av_fifo_alloc(8 * sizeof(AVPacket)); -- if (!dav1d->cache) -- return AVERROR(ENOMEM); -- - res = dav1d_open(&dav1d->c, &s); - if (res < 0) - return AVERROR(ENOMEM); -@@ -65,23 +59,10 @@ static void libdav1d_flush(AVCodecContext *c) - { - Libdav1dContext *dav1d = c->priv_data; - -- av_fifo_reset(dav1d->cache); - dav1d_data_unref(&dav1d->data); - dav1d_flush(dav1d->c); - } - --static int libdav1d_fifo_write(void *src, void *dst, int dst_size) { -- AVPacket *pkt_dst = dst, *pkt_src = src; -- -- av_assert2(dst_size >= sizeof(AVPacket)); -- -- pkt_src->buf = NULL; -- av_packet_free_side_data(pkt_src); -- *pkt_dst = *pkt_src; -- -- return sizeof(AVPacket); --} -- - static void libdav1d_data_free(const uint8_t *data, void *opaque) { - AVBufferRef *buf = opaque; - -@@ -115,31 +96,29 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) - { - Libdav1dContext *dav1d = c->priv_data; - Dav1dData *data = &dav1d->data; -- AVPacket pkt = { 0 }; - Dav1dPicture p = { 0 }; - int res; - - if (!data->sz) { -+ AVPacket pkt = { 0 }; -+ - res = ff_decode_get_packet(c, &pkt); - if (res < 0 && res != AVERROR_EOF) - return res; - - if (pkt.size) { -- if (!av_fifo_space(dav1d->cache)) { -- res = av_fifo_grow(dav1d->cache, 8 * sizeof(pkt)); -- if (res < 0) { -- av_packet_unref(&pkt); -- return res; -- } -- } -- - res = dav1d_data_wrap(data, pkt.data, pkt.size, libdav1d_data_free, pkt.buf); - if (res < 0) { - av_packet_unref(&pkt); - return res; - } - -- av_fifo_generic_write(dav1d->cache, &pkt, sizeof(pkt), libdav1d_fifo_write); -+ data->m.timestamp = pkt.pts; -+ data->m.offset = pkt.pos; -+ data->m.duration = pkt.duration; -+ -+ pkt.buf = NULL; -+ av_packet_unref(&pkt); - } - } - -@@ -163,8 +142,6 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) - - av_assert0(p.data[0] != NULL); - -- av_fifo_generic_read(dav1d->cache, &pkt, sizeof(pkt), NULL); -- - frame->buf[0] = av_buffer_create(NULL, 0, libdav1d_frame_free, - p.ref, AV_BUFFER_FLAG_READONLY); - if (!frame->buf[0]) { -@@ -189,7 +166,7 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) - return res; - } - -- switch (p.p.chr) { -+ switch (p.seq_hdr->chr) { - case DAV1D_CHR_VERTICAL: - frame->chroma_location = c->chroma_sample_location = AVCHROMA_LOC_LEFT; - break; -@@ -197,25 +174,25 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) - frame->chroma_location = c->chroma_sample_location = AVCHROMA_LOC_TOPLEFT; - break; - } -- frame->colorspace = c->colorspace = (enum AVColorSpace) p.p.mtrx; -- frame->color_primaries = c->color_primaries = (enum AVColorPrimaries) p.p.pri; -- frame->color_trc = c->color_trc = (enum AVColorTransferCharacteristic) p.p.trc; -- frame->color_range = c->color_range = p.p.fullrange ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG; -+ frame->colorspace = c->colorspace = (enum AVColorSpace) p.seq_hdr->mtrx; -+ frame->color_primaries = c->color_primaries = (enum AVColorPrimaries) p.seq_hdr->pri; -+ frame->color_trc = c->color_trc = (enum AVColorTransferCharacteristic) p.seq_hdr->trc; -+ frame->color_range = c->color_range = p.seq_hdr->color_range ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG; - - // match timestamps and packet size -- frame->pts = frame->best_effort_timestamp = pkt.pts; -+ frame->pts = frame->best_effort_timestamp = p.m.timestamp; - #if FF_API_PKT_PTS - FF_DISABLE_DEPRECATION_WARNINGS -- frame->pkt_pts = pkt.pts; -+ frame->pkt_pts = p.m.timestamp; - FF_ENABLE_DEPRECATION_WARNINGS - #endif -- frame->pkt_dts = pkt.dts; -- frame->pkt_pos = pkt.pos; -- frame->pkt_size = pkt.size; -- frame->pkt_duration = pkt.duration; -- frame->key_frame = p.p.type == DAV1D_FRAME_TYPE_KEY; -+ frame->pkt_dts = p.m.timestamp; -+ frame->pkt_pos = p.m.offset; -+ frame->pkt_size = p.m.size; -+ frame->pkt_duration = p.m.duration; -+ frame->key_frame = p.frame_hdr->frame_type == DAV1D_FRAME_TYPE_KEY; - -- switch (p.p.type) { -+ switch (p.frame_hdr->frame_type) { - case DAV1D_FRAME_TYPE_KEY: - case DAV1D_FRAME_TYPE_INTRA: - frame->pict_type = AV_PICTURE_TYPE_I; -@@ -237,7 +214,6 @@ static av_cold int libdav1d_close(AVCodecContext *c) - { - Libdav1dContext *dav1d = c->priv_data; - -- av_fifo_freep(&dav1d->cache); - dav1d_data_unref(&dav1d->data); - dav1d_close(&dav1d->c); - ---- orig-ffmpeg-4.1.1/libavcodec/allcodecs.c 2019-02-09 21:56:02.000000000 +0100 -+++ ffmpeg-4.1.1/libavcodec/allcodecs.c 2019-03-18 23:27:28.701284908 +0100 -@@ -671,6 +671,7 @@ +Index: ffmpeg-4.1.3/libavcodec/allcodecs.c +=================================================================== +--- ffmpeg-4.1.3.orig/libavcodec/allcodecs.c ++++ ffmpeg-4.1.3/libavcodec/allcodecs.c +@@ -671,6 +671,7 @@ extern AVCodec ff_pcm_mulaw_at_encoder; extern AVCodec ff_pcm_mulaw_at_decoder; extern AVCodec ff_qdmc_at_decoder; extern AVCodec ff_qdm2_at_decoder; @@ -543,4 +315,3 @@ extern AVCodec ff_libaom_av1_decoder; extern AVCodec ff_libaom_av1_encoder; extern AVCodec ff_libcelt_decoder; - ++++++ ffmpeg-codec-choice.diff ++++++ --- /var/tmp/diff_new_pack.3HWoet/_old 2019-06-24 21:49:13.891913747 +0200 +++ /var/tmp/diff_new_pack.3HWoet/_new 2019-06-24 21:49:13.911913763 +0200 @@ -11,10 +11,10 @@ libavformat/matroskaenc.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) -Index: ffmpeg-4.1/libavformat/matroskaenc.c +Index: ffmpeg-4.1.3/libavformat/matroskaenc.c =================================================================== ---- ffmpeg-4.1.orig/libavformat/matroskaenc.c -+++ ffmpeg-4.1/libavformat/matroskaenc.c +--- ffmpeg-4.1.3.orig/libavformat/matroskaenc.c ++++ ffmpeg-4.1.3/libavformat/matroskaenc.c @@ -2807,16 +2807,24 @@ static const AVClass matroska_class = { .version = LIBAVUTIL_VERSION_INT, }; ++++++ ffmpeg-new-coder-errors.diff ++++++ --- /var/tmp/diff_new_pack.3HWoet/_old 2019-06-24 21:49:14.059913877 +0200 +++ /var/tmp/diff_new_pack.3HWoet/_new 2019-06-24 21:49:14.075913890 +0200 @@ -10,10 +10,10 @@ fftools/ffmpeg_opt.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) -Index: ffmpeg-4.1.1/fftools/ffmpeg.c +Index: ffmpeg-4.1.3/fftools/ffmpeg.c =================================================================== ---- ffmpeg-4.1.1.orig/fftools/ffmpeg.c 2019-02-09 21:56:07.000000000 +0100 -+++ ffmpeg-4.1.1/fftools/ffmpeg.c 2019-03-01 09:04:20.287182857 +0100 +--- ffmpeg-4.1.3.orig/fftools/ffmpeg.c ++++ ffmpeg-4.1.3/fftools/ffmpeg.c @@ -2906,7 +2906,7 @@ static int init_input_stream(int ist_ind if (ist->decoding_needed) { AVCodec *codec = ist->dec; @@ -23,10 +23,10 @@ avcodec_get_name(ist->dec_ctx->codec_id), ist->file_index, ist->st->index); return AVERROR(EINVAL); } -Index: ffmpeg-4.1.1/fftools/ffmpeg_filter.c +Index: ffmpeg-4.1.3/fftools/ffmpeg_filter.c =================================================================== ---- ffmpeg-4.1.1.orig/fftools/ffmpeg_filter.c 2019-02-09 21:56:02.000000000 +0100 -+++ ffmpeg-4.1.1/fftools/ffmpeg_filter.c 2019-03-01 09:04:20.287182857 +0100 +--- ffmpeg-4.1.3.orig/fftools/ffmpeg_filter.c ++++ ffmpeg-4.1.3/fftools/ffmpeg_filter.c @@ -973,7 +973,7 @@ static int configure_input_filter(Filter { if (!ifilter->ist->dec) { @@ -45,10 +45,10 @@ avcodec_get_name(ost->st->codecpar->codec_id), ost->file_index, ost->index); ret = AVERROR(EINVAL); goto fail; -Index: ffmpeg-4.1.1/fftools/ffmpeg_opt.c +Index: ffmpeg-4.1.3/fftools/ffmpeg_opt.c =================================================================== ---- ffmpeg-4.1.1.orig/fftools/ffmpeg_opt.c 2019-02-09 21:56:02.000000000 +0100 -+++ ffmpeg-4.1.1/fftools/ffmpeg_opt.c 2019-03-01 09:04:20.287182857 +0100 +--- ffmpeg-4.1.3.orig/fftools/ffmpeg_opt.c ++++ ffmpeg-4.1.3/fftools/ffmpeg_opt.c @@ -1306,7 +1306,7 @@ static int choose_encoder(OptionsContext if (!ost->enc) { av_log(NULL, AV_LOG_FATAL, "Automatic encoder selection failed for "