On Fri, Jul 3, 2015 at 7:22 PM, Mark yao <[email protected]> wrote: > On 2015年07月03日 17:58, Tomasz Figa 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. >> > destination CbCr plane is 1280x800, destination can't be subsample.
Ah, I see, so internally it's always scalling to destination plane size. This means that calculation for both Y and CbCr must be done indeed, but even then you could use helper functions for that, since they differ only in parameters. Best regards, Tomasz -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

