[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