On Fri, Jul 03, 2015 at 06:58:44PM +0900, Tomasz Figa wrote:
On Fri, Jul 3, 2015 at 6:17 PM, Mark yao mark.yao@rock-chips.com wrote:
Aren't the scl_modes for CbCr planes always the same as for Y plane?
No, such as src(1920 x 1080) -> dst(1280x800), yuv format is NV12. so Y plane horizontal and vertical is scale down.
but src_w = 1920 / 2 = 960 < 1280 src_h = 1080 / 2 = 540 < 800.
So Cbcr horizontal and vertical is scale up.
Sorry, I don't follow.
If we scale down Y plane in NV12 from 1920x1080 to 1280x800, then original CbCr plane will be 960x540 and destination CbCr plane will be 640x400 (because CbCr plane of NV12 is subsampled 2x2, which is half the width and half the height of Y plane), so both planes are being scaled down.
This is about displaying a NV12 image with arbitary scaling, right? If so, think about what happens when you want to display such an image. You don't display the raw NV12 image, the image gets converted to an appropriate format first (be that RGB or YUV with no sub-sampling.)
What that means is that you need to scale each component to be the same resolution.