[Libav-user] swscale YUV444P10 -> RGB48LE
Al Crate
al at dneg.com
Mon Apr 22 11:34:03 CEST 2013
On 22/04/13 10:22, Paul B Mahol wrote:
> On 4/22/13, Al Crate <al at dneg.com> wrote:
>> Hi all,
>>
>> I've been trying to explode a ProRes 444 movie to a sequence of 16bit
>> images. It would appear that this doesn't work as libswscale always
>> outputs non full chroma when converting YUV->RGB.
>>
>> Can someone confirm my suspicion ?
>
> What "outputs non full chroma" means?
>>
>> cheers
>>
>> al
>>
>>
>>
>> _______________________________________________
>> Libav-user mailing list
>> Libav-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/libav-user
>>
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user
>
When you look at the output (converted to back YUV) you get 422 i.e.
half the expected number of UV samples.
I suspect this piece of code in libswscale (util.c) might be the cause.
Line 1031:
/* reuse chroma for 2 pixels RGB/BGR unless user wants full
* chroma interpolation */
if (flags & SWS_FULL_CHR_H_INT &&
isAnyRGB(dstFormat) &&
!isPlanarRGB(dstFormat) &&
dstFormat != AV_PIX_FMT_RGBA &&
dstFormat != AV_PIX_FMT_ARGB &&
dstFormat != AV_PIX_FMT_BGRA &&
dstFormat != AV_PIX_FMT_ABGR &&
dstFormat != AV_PIX_FMT_RGB24 &&
dstFormat != AV_PIX_FMT_BGR24 &&
dstFormat != AV_PIX_FMT_BGR4_BYTE &&
dstFormat != AV_PIX_FMT_RGB4_BYTE &&
dstFormat != AV_PIX_FMT_BGR8 &&
dstFormat != AV_PIX_FMT_RGB8
) {
av_log(c, AV_LOG_WARNING,
"full chroma interpolation for destination format '%s'
not yet implemented\n",
av_get_pix_fmt_name(dstFormat));
flags &= ~SWS_FULL_CHR_H_INT;
c->flags = flags;
}
More information about the Libav-user
mailing list