Le 24/04/2018 à 08:28, Hendrik Leppkes a écrit :
On Fri, Jan 19, 2018 at 1:01 PM, Steve Lhomme <rob...@ycbcr.xyz> wrote:
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
Why do we even do a get_format call for aspect ratio changes in the
first place? It doesn't change the physical image properties, the
format of image buffers etc remains the same, hwaccel decisions remain
the same.. anyone know why this is?
How are we supposed to know the display format has changed ? Checking
each AVFrame sample_aspect_ratio to see if something changed ?
- Hendrik
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel