[FFmpeg-devel] [PATCH] avcodec/h264_slice: use the new SAR early when setting the decoder

Steve Lhomme robux4 at ycbcr.xyz
Wed Apr 25 10:55:10 EEST 2018


Le 24/04/2018 à 08:28, Hendrik Leppkes a écrit :
> On Fri, Jan 19, 2018 at 1:01 PM, Steve Lhomme <robux4 at 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 at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel



More information about the ffmpeg-devel mailing list