summaryrefslogtreecommitdiffstats
path: root/vlc/build/patches/ffmpeg_h264_early_SAR.patch
blob: b0f06e0381824bc9d2483c154204bed8a775b398 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
From 9ace07a594b55cb564b39d704835a191387ba277 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Fri, 19 Jan 2018 12:55:52 +0100
Subject: [PATCH] avcodec/h264_slice: use the new SAR early when setting the
 decoder

If we don't do that get_format might not be called for a while and the proper
SAR not used.

See the sample mentioned here: https://trac.videolan.org/vlc/ticket/19435
---
 libavcodec/h264_slice.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index e6b7998834..319a37f5b6 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
         || (non_j_pixfmt(h->avctx->pix_fmt) != non_j_pixfmt(get_pixel_format(h, 0))))
         must_reinit = 1;
 
-    if (first_slice && av_cmp_q(sps->sar, h->avctx->sample_aspect_ratio))
+    if (first_slice && av_cmp_q(sps->sar, h->avctx->sample_aspect_ratio)) {
         must_reinit = 1;
+        ff_set_sar(h->avctx, sps->sar);
+    }
 
     if (!h->setup_finished) {
         h->avctx->profile = ff_h264_get_profile(sps);
-- 
2.14.2