On 22/04/13 10:22, Paul B Mahol wrote:
On 4/22/13, Al Crate <[email protected]> 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
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user
_______________________________________________
Libav-user mailing list
[email protected]
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;
}
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user