|
|
|
@ -2108,11 +2108,15 @@ static int yvu9toyv12Wrapper(SwsContext *c, uint8_t* src[], int srcStride[], int |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (c->dstFormat==PIX_FMT_YUV420P || c->dstFormat==PIX_FMT_YUVA420P){ |
|
|
|
|
planar2x(src[1], dst[1], c->chrSrcW, c->chrSrcH, srcStride[1], dstStride[1]); |
|
|
|
|
planar2x(src[2], dst[2], c->chrSrcW, c->chrSrcH, srcStride[2], dstStride[2]); |
|
|
|
|
planar2x(src[1], dst[1] + dstStride[1]*(srcSliceY >> 1), c->chrSrcW, |
|
|
|
|
srcSliceH >> 2, srcStride[1], dstStride[1]); |
|
|
|
|
planar2x(src[2], dst[2] + dstStride[2]*(srcSliceY >> 1), c->chrSrcW, |
|
|
|
|
srcSliceH >> 2, srcStride[2], dstStride[2]); |
|
|
|
|
}else{ |
|
|
|
|
planar2x(src[1], dst[2], c->chrSrcW, c->chrSrcH, srcStride[1], dstStride[2]); |
|
|
|
|
planar2x(src[2], dst[1], c->chrSrcW, c->chrSrcH, srcStride[2], dstStride[1]); |
|
|
|
|
planar2x(src[1], dst[2] + dstStride[2]*(srcSliceY >> 1), c->chrSrcW, |
|
|
|
|
srcSliceH >> 2, srcStride[1], dstStride[2]); |
|
|
|
|
planar2x(src[2], dst[1] + dstStride[1]*(srcSliceY >> 1), c->chrSrcW, |
|
|
|
|
srcSliceH >> 2, srcStride[2], dstStride[1]); |
|
|
|
|
} |
|
|
|
|
if (dst[3]) |
|
|
|
|
fillPlane(dst[3], dstStride[3], c->srcW, srcSliceH, srcSliceY, 255); |
|
|
|
|