[vlc-devel] [PATCH 3.0] contrib: ffmpeg: update to FFmpeg 3.4.8

Steve Lhomme robux4 at ycbcr.xyz
Wed Jun 2 08:52:26 UTC 2021


Scratch that.

The current hash we are using in 3.0 is from the master tree and that 
commit happened after the 3.4 branching happened. That means we are 
using something between 3.4 and 4.0 releases, before XP support was dropped.

In any case what we use is outdated security wise. We cannot use any 
release 4.x branch because they don't support XP, although it may be 
possible to bring support back. As far as I can see it's only some mutex 
that changed but we could use the one we have in VLC.
Going back to 3.4.8 means we are losing some features added after the 
3.4 branching. This is the least of additions between on 4.x version and 
the 3.4 version:

- Bitstream filters for editing metadata in H.264, HEVC and MPEG-2 streams
- Dropped support for OpenJPEG versions 2.0 and below. Using OpenJPEG now
   requires 2.1 (or later) and pkg-config.
- VDA dropped (use VideoToolbox instead)
- MagicYUV encoder
- Raw AMR-NB and AMR-WB demuxers
- TiVo ty/ty+ demuxer
- Intel QSV-accelerated MJPEG encoding
- PCE support for extended channel layouts in the AAC encoder
- native aptX encoder and decoder
- Raw aptX muxer and demuxer
- NVIDIA NVDEC-accelerated H.264, HEVC, MPEG-1/2/4, VC1, VP8/9 hwaccel 
decoding
- Intel QSV-accelerated overlay filter
- mcompand audio filter
- acontrast audio filter
- OpenCL overlay filter
- video mix filter
- video normalize filter
- audio lv2 wrapper filter
- VAAPI VP8 decoding
- AMD AMF H.264 and HEVC encoders
- video fillborders filter
- video setrange filter
- nsp demuxer

On 2021-06-02 8:57, Steve Lhomme wrote:
> It should fix a lot of potential security issues.
> 
> - armv4 fixes have probably been merged, the code is not matching anymore
> - mkv overshoot has been fixed upstreamed slightly differently
> - the mpeg2 slice original patch has AV_PICTURE_TYPE_B checks
> - the MOV trun memset issue has been fixed upstream
> - other patches have been applied on top of the 3.4.8 tag
> ---
>   ...p-Add-commas-between-macro-arguments.patch | 34 +++++-----
>   ...set-the-SEI-parameters-early-on-the-.patch | 16 ++---
>   ...c-don-t-call-hw-end_frame-when-start.patch |  6 +-
>   ...profile-2-10-bit-DXVA2-D3D11-decodin.patch | 34 +++++-----
>   ...st_data-instead-of-.section-.rodata-.patch |  8 +--
>   ...c-don-t-end-a-slice-without-first_sl.patch | 14 ++--
>   ...-compile-the-rgb2yuv-asm-if-.dn-alia.patch | 35 +++++-----
>   ...Avoid-using-macro-expansion-counters.patch |  6 +-
>   ...p-Add-commas-between-macro-arguments.patch |  8 +--
>   ...t-size-on-ctts_data-in-mov_read_trun.patch | 68 -------------------
>   contrib/src/ffmpeg/armv7_fixup.patch          | 14 ----
>   contrib/src/ffmpeg/dxva_vc1_crash.patch       | 30 ++++++--
>   contrib/src/ffmpeg/ffmpeg-mkv-overshoot.patch | 21 ------
>   contrib/src/ffmpeg/h264_early_SAR.patch       |  8 +--
>   contrib/src/ffmpeg/rules.mak                  |  9 ++-
>   15 files changed, 112 insertions(+), 199 deletions(-)
>   delete mode 100644 contrib/src/ffmpeg/0006-ffmpeg-Fix-memset-size-on-ctts_data-in-mov_read_trun.patch
>   delete mode 100644 contrib/src/ffmpeg/armv7_fixup.patch
>   delete mode 100644 contrib/src/ffmpeg/ffmpeg-mkv-overshoot.patch
> 
> diff --git a/contrib/src/ffmpeg/0001-arm-vc1dsp-Add-commas-between-macro-arguments.patch b/contrib/src/ffmpeg/0001-arm-vc1dsp-Add-commas-between-macro-arguments.patch
> index b0ded07eb6..11152931a7 100644
> --- a/contrib/src/ffmpeg/0001-arm-vc1dsp-Add-commas-between-macro-arguments.patch
> +++ b/contrib/src/ffmpeg/0001-arm-vc1dsp-Add-commas-between-macro-arguments.patch
> @@ -1,4 +1,4 @@
> -From 1d5226a915ed98fcc3e0c1edd22908743f5a356e Mon Sep 17 00:00:00 2001
> +From 77adf0c66e042bc3c4f9a92a3f773e3449a6cd18 Mon Sep 17 00:00:00 2001
>   From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
>   Date: Fri, 30 Mar 2018 12:31:09 +0300
>   Subject: [PATCH 1/5] arm: vc1dsp: Add commas between macro arguments
> @@ -14,11 +14,11 @@ require using gas-preprocessor any longer.
>   
>   Signed-off-by: Martin Storsjö <martin at martin.st>
>   ---
> - libavcodec/arm/vc1dsp_neon.S | 94 ++++++++++++++++++++++----------------------
> + libavcodec/arm/vc1dsp_neon.S | 94 ++++++++++++++++++------------------
>    1 file changed, 47 insertions(+), 47 deletions(-)
>   
>   diff --git a/libavcodec/arm/vc1dsp_neon.S b/libavcodec/arm/vc1dsp_neon.S
> -index de4d589..93f043b 100644
> +index 611cbf2234..dbff0dd391 100644
>   --- a/libavcodec/arm/vc1dsp_neon.S
>   +++ b/libavcodec/arm/vc1dsp_neon.S
>   @@ -410,13 +410,13 @@ function ff_vc1_inv_trans_8x8_neon, export=1
> @@ -121,8 +121,8 @@ index de4d589..93f043b 100644
>    
>            @ At this point:
>            @   line[0] = d0
> -@@ -665,26 +665,26 @@ endfunc
> -
> +@@ -666,26 +666,26 @@ endfunc
> + #if HAVE_AS_DN_DIRECTIVE
>    @ The absolute value of multiplication constants from vc1_mspel_filter and vc1_mspel_{ver,hor}_filter_16bits.
>    @ The sign is embedded in the code below that carries out the multiplication (mspel_filter{,.16}).
>   -#define MSPEL_MODE_1_MUL_CONSTANTS  4 53 18 3
> @@ -160,7 +160,7 @@ index de4d589..93f043b 100644
>    
>    @ Setup constants in registers for a subsequent use of mspel_filter{,.16}.
>    .macro mspel_constants typesize reg_a reg_b reg_c reg_d filter_a filter_b filter_c filter_d reg_add filter_add_register
> -@@ -818,7 +818,7 @@ T       mov             sp,  r4
> +@@ -828,7 +828,7 @@ T       mov             sp,  r4
>            sub             r1,  r1,  r2            @ r1 = &src[-stride]      @ slide back
>    
>            @ Do vertical filtering from src into tmp
> @@ -169,7 +169,7 @@ index de4d589..93f043b 100644
>    
>            vld1.64         {d0,d1}, [r1], r2
>            vld1.64         {d2,d3}, [r1], r2
> -@@ -828,23 +828,23 @@ T       mov             sp,  r4
> +@@ -838,23 +838,23 @@ T       mov             sp,  r4
>            subs            r12,  r12,  #4
>    
>            vld1.64         {d6,d7}, [r1], r2
> @@ -201,7 +201,7 @@ index de4d589..93f043b 100644
>            vst1.64         {q11,q12}, [r4,:128]!   @ store and increment
>    
>            bne             1b
> -@@ -854,7 +854,7 @@ T       mov             sp,  r4
> +@@ -864,7 +864,7 @@ T       mov             sp,  r4
>            mov             r4,   sp                @ r4 = tmp
>    
>            @ Do horizontal filtering from temp to dst
> @@ -210,7 +210,7 @@ index de4d589..93f043b 100644
>    
>    2:
>            subs            r12,  r12,  #1
> -@@ -864,7 +864,7 @@ T       mov             sp,  r4
> +@@ -874,7 +874,7 @@ T       mov             sp,  r4
>            vext.16         q3,   q0,   q1,  #3
>            vext.16         q1,   q0,   q1,  #1     @ do last because it writes to q1 which is read by the other vext instructions
>    
> @@ -219,7 +219,7 @@ index de4d589..93f043b 100644
>    
>            vst1.64         {d21}, [r0,:64], r2     @ store and increment dst
>    
> -@@ -877,9 +877,9 @@ endfunc
> +@@ -887,9 +887,9 @@ endfunc
>    
>    @ Use C preprocessor and assembler macros to expand to functions for horizontal and vertical filtering.
>    #define PUT_VC1_MSPEL_MC_HV(hmode, vmode)   \
> @@ -232,7 +232,7 @@ index de4d589..93f043b 100644
>            MSPEL_MODES_ ## hmode ## vmode ## _ADDSHIFT_CONSTANTS
>    
>    PUT_VC1_MSPEL_MC_HV(1, 1)
> -@@ -900,7 +900,7 @@ function ff_put_vc1_mspel_mc\hmode\()0_neon, export=1
> +@@ -910,7 +910,7 @@ function ff_put_vc1_mspel_mc\hmode\()0_neon, export=1
>            mov             r12,  #8                        @ loop counter
>            sub             r1,   r1,   #1                  @ slide back, using immediate
>    
> @@ -241,7 +241,7 @@ index de4d589..93f043b 100644
>    
>    1:
>            subs            r12,  r12,  #1
> -@@ -910,7 +910,7 @@ function ff_put_vc1_mspel_mc\hmode\()0_neon, export=1
> +@@ -920,7 +920,7 @@ function ff_put_vc1_mspel_mc\hmode\()0_neon, export=1
>            vext.8          d3,   d0,   d1,  #3
>            vext.8          d1,   d0,   d1,  #1             @ do last because it writes to d1 which is read by the other vext instructions
>    
> @@ -250,7 +250,7 @@ index de4d589..93f043b 100644
>    
>            vst1.64         {d21}, [r0,:64], r2             @ store and increment dst
>    
> -@@ -922,7 +922,7 @@ endfunc
> +@@ -932,7 +932,7 @@ endfunc
>    
>    @ Use C preprocessor and assembler macros to expand to functions for horizontal only filtering.
>    #define PUT_VC1_MSPEL_MC_H_ONLY(hmode) \
> @@ -259,7 +259,7 @@ index de4d589..93f043b 100644
>    
>    PUT_VC1_MSPEL_MC_H_ONLY(1)
>    PUT_VC1_MSPEL_MC_H_ONLY(2)
> -@@ -937,7 +937,7 @@ function ff_put_vc1_mspel_mc0\vmode\()_neon, export=1
> +@@ -947,7 +947,7 @@ function ff_put_vc1_mspel_mc0\vmode\()_neon, export=1
>            mov             r12,  #8                        @ loop counter
>            sub             r1,   r1,   r2                  @ r1 = &src[-stride]      @ slide back
>    
> @@ -268,7 +268,7 @@ index de4d589..93f043b 100644
>    
>            vld1.64         {d0},  [r1], r2                 @ d0 = src[-stride]
>            vld1.64         {d1},  [r1], r2                 @ d1 = src[0]
> -@@ -947,19 +947,19 @@ function ff_put_vc1_mspel_mc0\vmode\()_neon, export=1
> +@@ -957,19 +957,19 @@ function ff_put_vc1_mspel_mc0\vmode\()_neon, export=1
>            subs            r12,  r12,  #4
>    
>            vld1.64         {d3},  [r1], r2                 @ d3 = src[stride * 2]
> @@ -292,7 +292,7 @@ index de4d589..93f043b 100644
>            vst1.64         {d21}, [r0,:64], r2             @ store and increment dst
>    
>            bne             1b
> -@@ -970,7 +970,7 @@ endfunc
> +@@ -980,7 +980,7 @@ endfunc
>    
>    @ Use C preprocessor and assembler macros to expand to functions for vertical only filtering.
>    #define PUT_VC1_MSPEL_MC_V_ONLY(vmode) \
> @@ -302,5 +302,5 @@ index de4d589..93f043b 100644
>    PUT_VC1_MSPEL_MC_V_ONLY(1)
>    PUT_VC1_MSPEL_MC_V_ONLY(2)
>   --
> -2.7.4
> +2.27.0.windows.1
>   
> diff --git a/contrib/src/ffmpeg/0001-avcodec-hevcdec-set-the-SEI-parameters-early-on-the-.patch b/contrib/src/ffmpeg/0001-avcodec-hevcdec-set-the-SEI-parameters-early-on-the-.patch
> index 134200868c..7f64364b03 100644
> --- a/contrib/src/ffmpeg/0001-avcodec-hevcdec-set-the-SEI-parameters-early-on-the-.patch
> +++ b/contrib/src/ffmpeg/0001-avcodec-hevcdec-set-the-SEI-parameters-early-on-the-.patch
> @@ -1,4 +1,4 @@
> -From 66fac4911abbc52333bc35dcff0cab7fa6f0171d Mon Sep 17 00:00:00 2001
> +From ac024a8eb5ea1a41951c1678c1a3a15dd20d88cb Mon Sep 17 00:00:00 2001
>   From: Steve Lhomme <robux4 at ycbcr.xyz>
>   Date: Fri, 24 May 2019 08:58:00 +0200
>   Subject: [PATCH] avcodec/hevcdec: set the SEI parameters early on the
> @@ -14,10 +14,10 @@ Co-authored-by: James Almer <jamrial at gmail.com>
>    1 file changed, 11 insertions(+), 10 deletions(-)
>   
>   diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
> -index 515b346535..f1934975d5 100644
> +index e9651855e2..775f017189 100644
>   --- a/libavcodec/hevcdec.c
>   +++ b/libavcodec/hevcdec.c
> -@@ -310,9 +310,10 @@ static int decode_lt_rps(HEVCContext *s, LongTermRPS *rps, GetBitContext *gb)
> +@@ -313,9 +313,10 @@ static int decode_lt_rps(HEVCContext *s, LongTermRPS *rps, GetBitContext *gb)
>        return 0;
>    }
>    
> @@ -30,7 +30,7 @@ index 515b346535..f1934975d5 100644
>        const HEVCVPS *vps = (const HEVCVPS*)ps->vps_list[sps->vps_id]->data;
>        const HEVCWindow *ow = &sps->output_window;
>        unsigned int num = 0, den = 0;
> -@@ -355,6 +356,12 @@ static void export_stream_params(AVCodecContext *avctx, const HEVCParamSets *ps,
> +@@ -358,6 +359,12 @@ static void export_stream_params(AVCodecContext *avctx, const HEVCParamSets *ps,
>        if (num != 0 && den != 0)
>            av_reduce(&avctx->framerate.den, &avctx->framerate.num,
>                      num, den, 1 << 30);
> @@ -43,7 +43,7 @@ index 515b346535..f1934975d5 100644
>    }
>    
>    static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps)
> -@@ -447,7 +454,7 @@ static int set_sps(HEVCContext *s, const HEVCSPS *sps,
> +@@ -428,7 +435,7 @@ static int set_sps(HEVCContext *s, const HEVCSPS *sps,
>        if (ret < 0)
>            goto fail;
>    
> @@ -52,7 +52,7 @@ index 515b346535..f1934975d5 100644
>    
>        s->avctx->pix_fmt = pix_fmt;
>    
> -@@ -2778,12 +2785,6 @@ static int set_side_data(HEVCContext *s)
> +@@ -2751,12 +2758,6 @@ static int set_side_data(HEVCContext *s)
>            s->avctx->properties |= FF_CODEC_PROPERTY_CLOSED_CAPTIONS;
>        }
>    
> @@ -65,7 +65,7 @@ index 515b346535..f1934975d5 100644
>        return 0;
>    }
>    
> -@@ -3179,7 +3180,7 @@ static int hevc_decode_extradata(HEVCContext *s, uint8_t *buf, int length, int f
> +@@ -3102,7 +3103,7 @@ static int hevc_decode_extradata(HEVCContext *s, uint8_t *buf, int length, int f
>        for (i = 0; i < FF_ARRAY_ELEMS(s->ps.sps_list); i++) {
>            if (first && s->ps.sps_list[i]) {
>                const HEVCSPS *sps = (const HEVCSPS*)s->ps.sps_list[i]->data;
> @@ -75,5 +75,5 @@ index 515b346535..f1934975d5 100644
>            }
>        }
>   --
> -2.19.1.windows.1
> +2.27.0.windows.1
>   
> diff --git a/contrib/src/ffmpeg/0001-avcodec-mpeg12dec-don-t-call-hw-end_frame-when-start.patch b/contrib/src/ffmpeg/0001-avcodec-mpeg12dec-don-t-call-hw-end_frame-when-start.patch
> index 138ddd83e4..4cd585cfa3 100644
> --- a/contrib/src/ffmpeg/0001-avcodec-mpeg12dec-don-t-call-hw-end_frame-when-start.patch
> +++ b/contrib/src/ffmpeg/0001-avcodec-mpeg12dec-don-t-call-hw-end_frame-when-start.patch
> @@ -1,4 +1,4 @@
> -From 3ca2f6e24f4422f789e6483bb782052f7f91e4e4 Mon Sep 17 00:00:00 2001
> +From 3fbae30610400962221876878b926476e0184d7e Mon Sep 17 00:00:00 2001
>   From: Steve Lhomme <robux4 at ycbcr.xyz>
>   Date: Fri, 12 Feb 2021 08:20:56 +0100
>   Subject: [PATCH 1/2] avcodec/mpeg12dec: don't call hw->end_frame when starting
> @@ -12,10 +12,10 @@ expected after this patch.
>    1 file changed, 9 deletions(-)
>   
>   diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
> -index ac5ac4bca4..88d10e9236 100644
> +index c6a56fd5ae..64d03f43c7 100644
>   --- a/libavcodec/mpeg12dec.c
>   +++ b/libavcodec/mpeg12dec.c
> -@@ -1674,15 +1674,6 @@ static int mpeg_field_start(MpegEncContext *s, const uint8_t *buf, int buf_size)
> +@@ -1686,15 +1686,6 @@ static int mpeg_field_start(MpegEncContext *s, const uint8_t *buf, int buf_size)
>                return AVERROR_INVALIDDATA;
>            }
>    
> diff --git a/contrib/src/ffmpeg/0001-avcodec-vp9-add-profile-2-10-bit-DXVA2-D3D11-decodin.patch b/contrib/src/ffmpeg/0001-avcodec-vp9-add-profile-2-10-bit-DXVA2-D3D11-decodin.patch
> index d2593d0f88..bfbf53df69 100644
> --- a/contrib/src/ffmpeg/0001-avcodec-vp9-add-profile-2-10-bit-DXVA2-D3D11-decodin.patch
> +++ b/contrib/src/ffmpeg/0001-avcodec-vp9-add-profile-2-10-bit-DXVA2-D3D11-decodin.patch
> @@ -1,4 +1,4 @@
> -From 7e20c8f5ebe96de94694be10e24b791e1ed4ea2d Mon Sep 17 00:00:00 2001
> +From 63965f1001310c9670bb8173d4fbebeee7070b59 Mon Sep 17 00:00:00 2001
>   From: Hendrik Leppkes <h.leppkes at gmail.com>
>   Date: Mon, 29 May 2017 12:09:47 +0200
>   Subject: [PATCH] avcodec/vp9: add profile 2 10-bit DXVA2/D3D11 decoding
> @@ -6,29 +6,27 @@ Subject: [PATCH] avcodec/vp9: add profile 2 10-bit DXVA2/D3D11 decoding
>   
>   Fixes trac ticket #7099.
>   ---
> - libavcodec/vp9.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> + libavcodec/vp9.c | 7 +++++++
> + 1 file changed, 7 insertions(+)
>   
>   diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
> -index 0fac638ec9..b1178c9c0c 100644
> +index f2cf194243..0017b1abb5 100644
>   --- a/libavcodec/vp9.c
>   +++ b/libavcodec/vp9.c
> -@@ -188,6 +188,7 @@ static int update_size(AVCodecContext *avctx, int w, int h)
> -
> -         switch (s->pix_fmt) {
> -         case AV_PIX_FMT_YUV420P:
> -+        case AV_PIX_FMT_YUV420P10:
> - #if CONFIG_VP9_DXVA2_HWACCEL
> -             *fmtp++ = AV_PIX_FMT_DXVA2_VLD;
> - #endif
> -@@ -202,7 +203,6 @@ static int update_size(AVCodecContext *avctx, int w, int h)
> +@@ -199,6 +199,13 @@ static int update_size(AVCodecContext *avctx, int w, int h)
> +         case AV_PIX_FMT_YUV420P12:
> + #if CONFIG_VP9_VAAPI_HWACCEL
>                *fmtp++ = AV_PIX_FMT_VAAPI;
> ++#endif
> ++#if CONFIG_VP9_DXVA2_HWACCEL
> ++            *fmtp++ = AV_PIX_FMT_DXVA2_VLD;
> ++#endif
> ++#if CONFIG_VP9_D3D11VA_HWACCEL
> ++            *fmtp++ = AV_PIX_FMT_D3D11VA_VLD;
> ++            *fmtp++ = AV_PIX_FMT_D3D11;
>    #endif
>                break;
> --        case AV_PIX_FMT_YUV420P10:
> -         case AV_PIX_FMT_YUV420P12:
> - #if CONFIG_VP9_NVDEC_HWACCEL
> -             *fmtp++ = AV_PIX_FMT_CUDA;
> +         }
>   --
> -2.26.0.windows.1
> +2.27.0.windows.1
>   
> diff --git a/contrib/src/ffmpeg/0002-arm-Produce-.const_data-instead-of-.section-.rodata-.patch b/contrib/src/ffmpeg/0002-arm-Produce-.const_data-instead-of-.section-.rodata-.patch
> index d9e26923f0..fe8215dab4 100644
> --- a/contrib/src/ffmpeg/0002-arm-Produce-.const_data-instead-of-.section-.rodata-.patch
> +++ b/contrib/src/ffmpeg/0002-arm-Produce-.const_data-instead-of-.section-.rodata-.patch
> @@ -1,4 +1,4 @@
> -From bb88d98dd80ab5bb1d41ddf635ce293d5679726b Mon Sep 17 00:00:00 2001
> +From 7a47e4bad9a6c92370b04cdcaa4a00fb2b365773 Mon Sep 17 00:00:00 2001
>   From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
>   Date: Fri, 30 Mar 2018 12:33:46 +0300
>   Subject: [PATCH 2/5] arm: Produce .const_data instead of .section .rodata for
> @@ -19,10 +19,10 @@ Signed-off-by: Martin Storsjö <martin at martin.st>
>    1 file changed, 7 insertions(+), 1 deletion(-)
>   
>   diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S
> -index eb689a1..6744f2a 100644
> +index 7d33a64fac..9d8d36fe2c 100644
>   --- a/libavutil/arm/asm.S
>   +++ b/libavutil/arm/asm.S
> -@@ -111,11 +111,17 @@ FUNC    .func   \name
> +@@ -109,11 +109,17 @@ FUNC    .func   \name
>    ELF     .size   \name, . - \name
>            .purgem endconst
>        .endm
> @@ -42,5 +42,5 @@ index eb689a1..6744f2a 100644
>    \name:
>    .endm
>   --
> -2.7.4
> +2.27.0.windows.1
>   
> diff --git a/contrib/src/ffmpeg/0002-avcodec-mpeg12dec-don-t-end-a-slice-without-first_sl.patch b/contrib/src/ffmpeg/0002-avcodec-mpeg12dec-don-t-end-a-slice-without-first_sl.patch
> index 212343d251..caa43b71df 100644
> --- a/contrib/src/ffmpeg/0002-avcodec-mpeg12dec-don-t-end-a-slice-without-first_sl.patch
> +++ b/contrib/src/ffmpeg/0002-avcodec-mpeg12dec-don-t-end-a-slice-without-first_sl.patch
> @@ -1,4 +1,4 @@
> -From 3eb70589260b6eb0e37265933a15c737023dfd7e Mon Sep 17 00:00:00 2001
> +From 4a921c94e7c6c6b15c37cea67da3575b466278e1 Mon Sep 17 00:00:00 2001
>   From: Steve Lhomme <robux4 at ycbcr.xyz>
>   Date: Fri, 12 Feb 2021 11:10:03 +0100
>   Subject: [PATCH 2/2] avcodec/mpeg12dec: don't end a slice without first_slice
> @@ -14,19 +14,19 @@ for this check to work.
>    1 file changed, 13 insertions(+), 7 deletions(-)
>   
>   diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
> -index 88d10e9236..fdf210fa1b 100644
> +index 64d03f43c7..a017f6386c 100644
>   --- a/libavcodec/mpeg12dec.c
>   +++ b/libavcodec/mpeg12dec.c
> -@@ -2477,13 +2477,19 @@ static int decode_chunks(AVCodecContext *avctx, AVFrame *picture,
> -                         s2->er.error_count += s2->thread_context[i]->er.error_count;
> -                 }
> +@@ -2456,13 +2456,19 @@ static int decode_chunks(AVCodecContext *avctx, AVFrame *picture,
> +                     ff_vdpau_mpeg_picture_complete(s2, buf, buf_size, s->slice_count);
> + #endif
>    
>   -                ret = slice_end(avctx, picture);
>   -                if (ret < 0)
>   -                    return ret;
>   -                else if (ret) {
>   -                    // FIXME: merge with the stuff in mpeg_decode_slice
> --                    if (s2->last_picture_ptr || s2->low_delay)
> +-                    if (s2->last_picture_ptr || s2->low_delay || s2->pict_type == AV_PICTURE_TYPE_B)
>   -                        *got_output = 1;
>   +                if (s->first_slice) // not started yet. don't end it
>   +                    ret = 0;
> @@ -36,7 +36,7 @@ index 88d10e9236..fdf210fa1b 100644
>   +                        return ret;
>   +                    else if (ret) {
>   +                        // FIXME: merge with the stuff in mpeg_decode_slice
> -+                        if (s2->last_picture_ptr || s2->low_delay)
> ++                        if (s2->last_picture_ptr || s2->low_delay || s2->pict_type == AV_PICTURE_TYPE_B)
>   +                            *got_output = 1;
>   +                    }
>   +                    // slice ended, don't end it again later
> diff --git a/contrib/src/ffmpeg/0003-arm-swscale-Only-compile-the-rgb2yuv-asm-if-.dn-alia.patch b/contrib/src/ffmpeg/0003-arm-swscale-Only-compile-the-rgb2yuv-asm-if-.dn-alia.patch
> index d726fc3f65..245e463449 100644
> --- a/contrib/src/ffmpeg/0003-arm-swscale-Only-compile-the-rgb2yuv-asm-if-.dn-alia.patch
> +++ b/contrib/src/ffmpeg/0003-arm-swscale-Only-compile-the-rgb2yuv-asm-if-.dn-alia.patch
> @@ -1,4 +1,4 @@
> -From b4ad8b2a18be134c2963371f4da1d80aff8ab433 Mon Sep 17 00:00:00 2001
> +From 77bd93bff48f27df6c841d7cfefa1eca4ce637aa Mon Sep 17 00:00:00 2001
>   From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
>   Date: Sat, 31 Mar 2018 21:54:32 +0300
>   Subject: [PATCH 3/5] arm: swscale: Only compile the rgb2yuv asm if .dn aliases
> @@ -20,37 +20,38 @@ Alternatively, the assembly could be rewritten to not use the
>   
>   Signed-off-by: Martin Storsjö <martin at martin.st>
>   ---
> - configure                         | 5 +++++
> + configure                         | 6 ++++++
>    libswscale/arm/rgb2yuv_neon_16.S  | 3 +++
>    libswscale/arm/rgb2yuv_neon_32.S  | 3 +++
>    libswscale/arm/swscale_unscaled.c | 6 ++++++
> - 4 files changed, 17 insertions(+)
> + 4 files changed, 18 insertions(+)
>   
>   diff --git a/configure b/configure
> -index d5bbb5b..20c5565 100755
> +index 8de1146602..50b023c70a 100755
>   --- a/configure
>   +++ b/configure
> -@@ -2063,6 +2063,7 @@ SYSTEM_LIBRARIES="
> +@@ -2054,6 +2054,8 @@ SYSTEM_FUNCS="
> + "
>    
>    TOOLCHAIN_FEATURES="
> -     as_arch_directive
>   +    as_dn_directive
> ++    as_dn_directive
> +     as_dn_directive
>        as_fpu_directive
>        as_func
> -     as_object_arch
> -@@ -5397,6 +5398,10 @@ EOF
> -     check_as <<EOF && enable as_arch_directive
> - .arch armv7-a
> - EOF
> +@@ -5480,6 +5482,10 @@ EOF
> +     check_as <<EOF && enable as_dn_directive
> + ra .dn d0.i16
> + .unreq ra
> ++EOF
>   +    check_as <<EOF && enable as_dn_directive
>   +ra .dn d0.i16
>   +.unreq ra
> -+EOF
> + EOF
>        check_as <<EOF && enable as_fpu_directive
>    .fpu neon
> - EOF
>   diff --git a/libswscale/arm/rgb2yuv_neon_16.S b/libswscale/arm/rgb2yuv_neon_16.S
> -index 601bc9a..ad7e679 100644
> +index 601bc9a9b7..ad7e679ca9 100644
>   --- a/libswscale/arm/rgb2yuv_neon_16.S
>   +++ b/libswscale/arm/rgb2yuv_neon_16.S
>   @@ -18,6 +18,8 @@
> @@ -68,7 +69,7 @@ index 601bc9a..ad7e679 100644
>        loop_420sp  rgbx, nv12, init, kernel_420_16x2, 16
>   +#endif
>   diff --git a/libswscale/arm/rgb2yuv_neon_32.S b/libswscale/arm/rgb2yuv_neon_32.S
> -index f51a5f1..4fd0f64 100644
> +index f51a5f149f..4fd0f64a09 100644
>   --- a/libswscale/arm/rgb2yuv_neon_32.S
>   +++ b/libswscale/arm/rgb2yuv_neon_32.S
>   @@ -18,6 +18,8 @@
> @@ -86,7 +87,7 @@ index f51a5f1..4fd0f64 100644
>        loop_420sp  rgbx, nv12, init, kernel_420_16x2, 32
>   +#endif
>   diff --git a/libswscale/arm/swscale_unscaled.c b/libswscale/arm/swscale_unscaled.c
> -index e1597ab..e41f294 100644
> +index e1597ab42d..e41f294eac 100644
>   --- a/libswscale/arm/swscale_unscaled.c
>   +++ b/libswscale/arm/swscale_unscaled.c
>   @@ -23,6 +23,7 @@
> @@ -107,5 +108,5 @@ index e1597ab..e41f294 100644
>   +}
>   +#endif
>   --
> -2.7.4
> +2.27.0.windows.1
>   
> diff --git a/contrib/src/ffmpeg/0004-arm-hevcdsp-Avoid-using-macro-expansion-counters.patch b/contrib/src/ffmpeg/0004-arm-hevcdsp-Avoid-using-macro-expansion-counters.patch
> index d8eed9f670..3db6ad0c27 100644
> --- a/contrib/src/ffmpeg/0004-arm-hevcdsp-Avoid-using-macro-expansion-counters.patch
> +++ b/contrib/src/ffmpeg/0004-arm-hevcdsp-Avoid-using-macro-expansion-counters.patch
> @@ -1,4 +1,4 @@
> -From abb4a27ace289212626a20b200a42aa90bf4de8f Mon Sep 17 00:00:00 2001
> +From 7db247e18b3221e7908d3804566ca534b0c4a9a9 Mon Sep 17 00:00:00 2001
>   From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
>   Date: Sat, 31 Mar 2018 21:54:41 +0300
>   Subject: [PATCH 4/5] arm: hevcdsp: Avoid using macro expansion counters
> @@ -21,7 +21,7 @@ Signed-off-by: Martin Storsjö <martin at martin.st>
>    1 file changed, 4 insertions(+), 4 deletions(-)
>   
>   diff --git a/libavcodec/arm/hevcdsp_deblock_neon.S b/libavcodec/arm/hevcdsp_deblock_neon.S
> -index 166bddb..7cb7487 100644
> +index 166bddb104..7cb7487ef6 100644
>   --- a/libavcodec/arm/hevcdsp_deblock_neon.S
>   +++ b/libavcodec/arm/hevcdsp_deblock_neon.S
>   @@ -152,7 +152,7 @@
> @@ -57,5 +57,5 @@ index 166bddb..7cb7487 100644
>            vqmovun.s16 d18, q9
>            vqmovun.s16 d20, q10
>   --
> -2.7.4
> +2.27.0.windows.1
>   
> diff --git a/contrib/src/ffmpeg/0005-arm-hevcdsp-Add-commas-between-macro-arguments.patch b/contrib/src/ffmpeg/0005-arm-hevcdsp-Add-commas-between-macro-arguments.patch
> index c7133af3be..3f28c93cf6 100644
> --- a/contrib/src/ffmpeg/0005-arm-hevcdsp-Add-commas-between-macro-arguments.patch
> +++ b/contrib/src/ffmpeg/0005-arm-hevcdsp-Add-commas-between-macro-arguments.patch
> @@ -1,4 +1,4 @@
> -From ecd4c9276b8407b912551ddb74b376cbcbe02e30 Mon Sep 17 00:00:00 2001
> +From 0cd64029dd78a4de05ce9f185b1d72ecfd8b0dc8 Mon Sep 17 00:00:00 2001
>   From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
>   Date: Sat, 31 Mar 2018 21:54:46 +0300
>   Subject: [PATCH 5/5] arm: hevcdsp: Add commas between macro arguments
> @@ -14,11 +14,11 @@ require using gas-preprocessor any longer.
>   
>   Signed-off-by: Martin Storsjö <martin at martin.st>
>   ---
> - libavcodec/arm/hevcdsp_qpel_neon.S | 36 ++++++++++++++++++------------------
> + libavcodec/arm/hevcdsp_qpel_neon.S | 36 +++++++++++++++---------------
>    1 file changed, 18 insertions(+), 18 deletions(-)
>   
>   diff --git a/libavcodec/arm/hevcdsp_qpel_neon.S b/libavcodec/arm/hevcdsp_qpel_neon.S
> -index 86f92cf..caa6efa 100644
> +index 86f92cf75a..caa6efa766 100644
>   --- a/libavcodec/arm/hevcdsp_qpel_neon.S
>   +++ b/libavcodec/arm/hevcdsp_qpel_neon.S
>   @@ -667,76 +667,76 @@ endfunc
> @@ -117,5 +117,5 @@ index 86f92cf..caa6efa 100644
>    
>    .macro init_put_pixels
>   --
> -2.7.4
> +2.27.0.windows.1
>   
> diff --git a/contrib/src/ffmpeg/0006-ffmpeg-Fix-memset-size-on-ctts_data-in-mov_read_trun.patch b/contrib/src/ffmpeg/0006-ffmpeg-Fix-memset-size-on-ctts_data-in-mov_read_trun.patch
> deleted file mode 100644
> index caad5954c2..0000000000
> --- a/contrib/src/ffmpeg/0006-ffmpeg-Fix-memset-size-on-ctts_data-in-mov_read_trun.patch
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -From f5f2209d689cd17f4bce7ce5c4f0b1634befc785 Mon Sep 17 00:00:00 2001
> -From: Xiaohan Wang <xhwang at chromium.org>
> -Date: Fri, 23 Feb 2018 17:04:41 -0800
> -Subject: [PATCH] ffmpeg: Fix memset size on ctts_data in mov_read_trun()
> - (round 2)
> -
> -The allocated size of sc->ctts_data is
> -(st->nb_index_entries + entries) * sizeof(*sc->ctts_data).
> -
> -The size to memset at offset sc->ctts_data + sc->ctts_count should be
> -(st->nb_index_entries + entries - sc->ctts_count) *
> -sizeof(*sc->ctts_data))
> -
> -The current code missed |entries| I believe, which was introduced in
> -https://patchwork.ffmpeg.org/patch/5541/.
> -
> -However, after offline discussion, it seems the original code is much
> -more clear to read (before https://patchwork.ffmpeg.org/patch/5541/).
> -
> -Hence this CL revert the memset logic to it's previous state by
> -remembering the |old_ctts_allocated_size|, and only memset the newly
> -allocated entries.
> -
> -BUG=812567
> -
> -Change-Id: Ibe94c7138e5818bfaae76866bfa6619a9b8a2b6b
> -Reviewed-on: https://chromium-review.googlesource.com/934925
> -Reviewed-by: Dale Curtis <dalecurtis at chromium.org>
> -
> -Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ----
> - libavformat/mov.c | 6 ++++--
> - 1 file changed, 4 insertions(+), 2 deletions(-)
> -
> -diff --git a/libavformat/mov.c b/libavformat/mov.c
> -index 04567fc475..f01116874c 100644
> ---- a/libavformat/mov.c
> -+++ b/libavformat/mov.c
> -@@ -4596,6 +4596,7 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom)
> -     int64_t prev_dts = AV_NOPTS_VALUE;
> -     int next_frag_index = -1, index_entry_pos;
> -     size_t requested_size;
> -+    size_t old_ctts_allocated_size;
> -     AVIndexEntry *new_entries;
> -     MOVFragmentStreamInfo * frag_stream_info;
> -
> -@@ -4688,6 +4689,7 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom)
> -     st->index_entries= new_entries;
> -
> -     requested_size = (st->nb_index_entries + entries) * sizeof(*sc->ctts_data);
> -+    old_ctts_allocated_size = sc->ctts_allocated_size;
> -     ctts_data = av_fast_realloc(sc->ctts_data, &sc->ctts_allocated_size,
> -                                 requested_size);
> -     if (!ctts_data)
> -@@ -4697,8 +4699,8 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom)
> -     // In case there were samples without ctts entries, ensure they get
> -     // zero valued entries. This ensures clips which mix boxes with and
> -     // without ctts entries don't pickup uninitialized data.
> --    memset(sc->ctts_data + sc->ctts_count, 0,
> --           (st->nb_index_entries - sc->ctts_count) * sizeof(*sc->ctts_data));
> -+    memset((uint8_t*)(sc->ctts_data) + old_ctts_allocated_size, 0,
> -+           sc->ctts_allocated_size - old_ctts_allocated_size);
> -
> -     if (index_entry_pos < st->nb_index_entries) {
> -         // Make hole in index_entries and ctts_data for new samples
> ---
> -2.20.1
> -
> diff --git a/contrib/src/ffmpeg/armv7_fixup.patch b/contrib/src/ffmpeg/armv7_fixup.patch
> deleted file mode 100644
> index 0fe40de595..0000000000
> --- a/contrib/src/ffmpeg/armv7_fixup.patch
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -diff --git a/libavcodec/arm/hevcdsp_idct_neon.S b/libavcodec/arm/hevcdsp_idct_neon.S
> -index 139029a256..5ac730c075 100644
> ---- a/libavcodec/arm/hevcdsp_idct_neon.S
> -+++ b/libavcodec/arm/hevcdsp_idct_neon.S
> -@@ -1017,8 +1017,8 @@ endfunc
> - tr_16x4 firstpass, 7, 512, 1
> - tr_16x4 secondpass_8, 20 - 8, 512, 1
> - tr_16x4 secondpass_10, 20 - 10, 512, 1
> --tr_16x4 noscale, 0, 2048, 4
> - .ltorg
> -+tr_16x4 noscale, 0, 2048, 4
> - tr_32x4 firstpass, 7
> - tr_32x4 secondpass_8, 20 - 8
> - tr_32x4 secondpass_10, 20 - 10
> diff --git a/contrib/src/ffmpeg/dxva_vc1_crash.patch b/contrib/src/ffmpeg/dxva_vc1_crash.patch
> index 3e5c3ed683..e7e41d3e01 100644
> --- a/contrib/src/ffmpeg/dxva_vc1_crash.patch
> +++ b/contrib/src/ffmpeg/dxva_vc1_crash.patch
> @@ -1,6 +1,19 @@
> ---- ffmpeg/libavcodec/dxva2_vc1.c	2017-12-19 14:46:36.070857200 +0100
> -+++ ffmpeg/libavcodec/dxva2_vc1.c.refcrash	2017-12-19 14:36:57.157973200 +0100
> -@@ -58,11 +58,11 @@ static void fill_picture_parameters(AVCo
> +From 940be5c1f4c7b137d5916607098808085f8cbfeb Mon Sep 17 00:00:00 2001
> +From: Steve Lhomme <robux4 at ycbcr.xyz>
> +Date: Tue, 19 Dec 2017 14:51:26 +0100
> +Subject: [PATCH] dxva: fix crash in DVXA in interlaced VC-1/MPEG2
> +
> +Ref #18916
> +---
> + libavcodec/dxva2_mpeg2.c | 4 ++--
> + libavcodec/dxva2_vc1.c   | 4 ++--
> + 2 files changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/libavcodec/dxva2_mpeg2.c b/libavcodec/dxva2_mpeg2.c
> +index b7c69378f0..21f96e901f 100644
> +--- a/libavcodec/dxva2_vc1.c
> ++++ b/libavcodec/dxva2_vc1.c
> +@@ -58,11 +58,11 @@ static void fill_picture_parameters(AVCodecContext *avctx,
>        memset(pp, 0, sizeof(*pp));
>        pp->wDecodedPictureIndex    =
>        pp->wDeblockedPictureIndex  = ff_dxva2_get_surface_index(avctx, ctx, current_picture->f);
> @@ -14,9 +27,9 @@
>            pp->wBackwardRefPictureIndex = ff_dxva2_get_surface_index(avctx, ctx, s->next_picture.f);
>        else
>            pp->wBackwardRefPictureIndex = 0xffff;
> ---- ffmpeg/libavcodec/dxva2_mpeg2.c	2018-01-23 12:58:14.672161600 +0100
> -+++ ffmpeg/libavcodec/dxva2_mpeg2.c.ref	2018-01-23 12:56:45.439743300 +0100
> -@@ -51,11 +51,11 @@ static void fill_picture_parameters(AVCo
> +--- a/libavcodec/dxva2_mpeg2.c
> ++++ b/libavcodec/dxva2_mpeg2.c
> +@@ -51,11 +51,11 @@ static void fill_picture_parameters(AVCodecContext *avctx,
>        memset(pp, 0, sizeof(*pp));
>        pp->wDecodedPictureIndex         = ff_dxva2_get_surface_index(avctx, ctx, current_picture->f);
>        pp->wDeblockedPictureIndex       = 0;
> @@ -30,3 +43,8 @@
>            pp->wBackwardRefPictureIndex = ff_dxva2_get_surface_index(avctx, ctx, s->next_picture.f);
>        else
>            pp->wBackwardRefPictureIndex = 0xffff;
> +diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c
> +index e5353cdddc..f4a2176714 100644
> +--
> +2.27.0.windows.1
> +
> diff --git a/contrib/src/ffmpeg/ffmpeg-mkv-overshoot.patch b/contrib/src/ffmpeg/ffmpeg-mkv-overshoot.patch
> deleted file mode 100644
> index 2ad31ca54a..0000000000
> --- a/contrib/src/ffmpeg/ffmpeg-mkv-overshoot.patch
> +++ /dev/null
> @@ -1,21 +0,0 @@
> ---- ffmpeg/libavformat/matroskadec.c.overshoot	2019-02-11 16:03:57.375444600 +0100
> -+++ ffmpeg/libavformat/matroskadec.c	2019-02-11 16:04:04.418307200 +0100
> -@@ -1197,6 +1197,18 @@ static int ebml_parse_elem(MatroskaDemux
> -                    length, max_lengths[syntax->type], syntax->type);
> -             return AVERROR_INVALIDDATA;
> -         }
> -+        if (matroska->num_levels > 0) {
> -+            MatroskaLevel *level = &matroska->levels[matroska->num_levels - 1];
> -+            AVIOContext *pb = matroska->ctx->pb;
> -+            int64_t pos = avio_tell(pb);
> -+            if (level->length != (uint64_t) -1 &&
> -+                (pos + length) > (level->start + level->length)) {
> -+                av_log(matroska->ctx, AV_LOG_ERROR,
> -+                       "Invalid length 0x%"PRIx64" > 0x%"PRIx64" in parent\n",
> -+                       length, level->start + level->length);
> -+                return AVERROR_INVALIDDATA;
> -+            }
> -+        }
> -     }
> -
> -     switch (syntax->type) {
> diff --git a/contrib/src/ffmpeg/h264_early_SAR.patch b/contrib/src/ffmpeg/h264_early_SAR.patch
> index 045eac42eb..80f7cfc1a1 100644
> --- a/contrib/src/ffmpeg/h264_early_SAR.patch
> +++ b/contrib/src/ffmpeg/h264_early_SAR.patch
> @@ -1,4 +1,4 @@
> -From 9ace07a594b55cb564b39d704835a191387ba277 Mon Sep 17 00:00:00 2001
> +From d675990f0ed922c0a1278bb768b1b9cfbd5bec21 Mon Sep 17 00:00:00 2001
>   From: Steve Lhomme <robux4 at ycbcr.xyz>
>   Date: Fri, 19 Jan 2018 12:55:52 +0100
>   Subject: [PATCH] avcodec/h264_slice: use the new SAR early when setting the
> @@ -13,10 +13,10 @@ See the sample mentioned here: https://trac.videolan.org/vlc/ticket/19435
>    1 file changed, 3 insertions(+), 1 deletion(-)
>   
>   diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
> -index e6b7998834..319a37f5b6 100644
> +index c9c475d73c..3808009afe 100644
>   --- a/libavcodec/h264_slice.c
>   +++ b/libavcodec/h264_slice.c
> -@@ -1050,8 +1050,10 @@ static int h264_init_ps(H264Context *h, const H264SliceContext *sl, int first_sl
> +@@ -1063,8 +1063,10 @@ static int h264_init_ps(H264Context *h, const H264SliceContext *sl, int first_sl
>            || (non_j_pixfmt(h->avctx->pix_fmt) != non_j_pixfmt(get_pixel_format(h, 0))))
>            must_reinit = 1;
>    
> @@ -29,5 +29,5 @@ index e6b7998834..319a37f5b6 100644
>        if (!h->setup_finished) {
>            h->avctx->profile = ff_h264_get_profile(sps);
>   --
> -2.14.2
> +2.27.0.windows.1
>   
> diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
> index 7966c653d6..c27ac74e1d 100644
> --- a/contrib/src/ffmpeg/rules.mak
> +++ b/contrib/src/ffmpeg/rules.mak
> @@ -5,13 +5,15 @@
>   #USE_FFMPEG ?= 1
>   
>   ifndef USE_LIBAV
> -FFMPEG_HASH=eaff5fcb7cde8d1614755269773d471d3a3d1bfc
> +FFMPEG_HASH=567c20f78109588620c57696ab39ff314fe12d6c
> +FFMPEG_BRANCHES=release/3.4
>   FFMPEG_SNAPURL := http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=$(FFMPEG_HASH);sf=tgz
>   FFMPEG_GITURL := http://git.videolan.org/git/ffmpeg.git
>   FFMPEG_LAVC_MIN := 57.37.100
>   USE_FFMPEG := 1
>   else
>   FFMPEG_HASH=e171022c24c42b1e88a51bb3b4c27f13c87c85cb
> +FFMPEG_BRANCHES=
>   FFMPEG_SNAPURL := http://git.libav.org/?p=libav.git;a=snapshot;h=$(FFMPEG_HASH);sf=tgz
>   FFMPEG_GITURL := git://git.libav.org/libav.git
>   FFMPEG_LAVC_MIN := 57.16.0
> @@ -221,7 +223,7 @@ endif
>   FFMPEGCONF += --nm="$(NM)" --ar="$(AR)"
>   
>   $(TARBALLS)/ffmpeg-$(FFMPEG_BASENAME).tar.xz:
> -	$(call download_git,$(FFMPEG_GITURL),,$(FFMPEG_HASH))
> +	$(call download_git,$(FFMPEG_GITURL),$(FFMPEG_BRANCHES),$(FFMPEG_HASH))
>   
>   .sum-ffmpeg: $(TARBALLS)/ffmpeg-$(FFMPEG_BASENAME).tar.xz
>   	$(call check_githash,$(FFMPEG_HASH))
> @@ -237,11 +239,8 @@ ifdef USE_FFMPEG
>   	$(APPLY) $(SRC)/ffmpeg/0003-arm-swscale-Only-compile-the-rgb2yuv-asm-if-.dn-alia.patch
>   	$(APPLY) $(SRC)/ffmpeg/0004-arm-hevcdsp-Avoid-using-macro-expansion-counters.patch
>   	$(APPLY) $(SRC)/ffmpeg/0005-arm-hevcdsp-Add-commas-between-macro-arguments.patch
> -	$(APPLY) $(SRC)/ffmpeg/0006-ffmpeg-Fix-memset-size-on-ctts_data-in-mov_read_trun.patch
> -	$(APPLY) $(SRC)/ffmpeg/armv7_fixup.patch
>   	$(APPLY) $(SRC)/ffmpeg/dxva_vc1_crash.patch
>   	$(APPLY) $(SRC)/ffmpeg/h264_early_SAR.patch
> -	$(APPLY) $(SRC)/ffmpeg/ffmpeg-mkv-overshoot.patch
>   	$(APPLY) $(SRC)/ffmpeg/0001-avcodec-hevcdec-set-the-SEI-parameters-early-on-the-.patch
>   	$(APPLY) $(SRC)/ffmpeg/0001-avcodec-h264_slice-set-the-SEI-parameters-early-on-t.patch
>   	$(APPLY) $(SRC)/ffmpeg/0001-avcodec-vp9-add-profile-2-10-bit-DXVA2-D3D11-decodin.patch
> -- 
> 2.29.2
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
> 



More information about the vlc-devel mailing list