[FFmpeg-cvslog] r23369 - trunk/libavcodec/h264.c

Baptiste Coudurier baptiste.coudurier
Mon May 31 23:44:04 CEST 2010


On 5/31/10 2:27 PM, Carl Eugen Hoyos wrote:
> Baptiste Coudurier<baptiste.coudurier<at>  gmail.com>  writes:
>
>> On 5/31/10 2:38 AM, Carl Eugen Hoyos wrote:
>>> bcoudurier<subversion<at>   mplayerhq.hu>   writes:
>>>
>>>> Log:
>>>> In h264 decoder, use jpeg yuv pixel format when full range is set in vui
>>>
>>>> @@ -1842,7 +1849,10 @@ static int decode_slice_header(H264Conte
>>>
>>>> -s-?avctx->pix_fmt = s->avctx->get_format(s->avctx,
> s->avctx->codec->pix_fmts);
>>>> +s->avctx->pix_fmt = s->avctx->get_format(s->avctx,
>>>> +                    s->avctx->color_range == AVCOL_RANGE_JPEG ?
>>>> +                    hwaccel_pixfmt_list_h264_jpeg_420 :
>>>> +                    ff_hwaccel_pixfmt_list_420);
>>>
>>> This broke VDPAU decoding.
>>>
>>> Sorry for not realizing earlier, Carl Eugen
>>
>> How ?
>
> I am sorry, but I am not sure I understand your question.
> Did you write the original patch?

Yes, how does this patch break it ? The only thing that changed is the 
list passed to get_format, which now provide PIX_FMT_YUVJ420P instead of 
PIX_FMT_YUV420P, and the ff_hwaccel_pix_fmt_list_420 is removed from the 
AVCodec definition, because it is not static anymore.

> It disables VDPAU for color_range == AVCOL_RANGE_JPEG (which is true for example
> on my DVB-S recordings).

Btw, how does vdpau know that it should output full range yuv ? Does it 
parse the vui itself ? I'm not familiar with the code.

-- 
Baptiste COUDURIER
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                                  http://www.ffmpeg.org



More information about the ffmpeg-cvslog mailing list