From 460b6f480ca10a74d357a16e10ea8e462198a00b Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Wed, 9 Feb 2022 20:35:17 -0800 Subject: yuv_utils: fixup odd width handling for UV planes Some mistakes here noticed as slight colorshift corruption for odd-width recorded windows. --- src/rmd_yuv_utils.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/rmd_yuv_utils.c b/src/rmd_yuv_utils.c index 6570945..1a449f6 100644 --- a/src/rmd_yuv_utils.c +++ b/src/rmd_yuv_utils.c @@ -226,8 +226,8 @@ static inline int blocknum(int xv, int yv, int widthv, int blocksize) yuv_V++; \ } \ \ - yuv_U += ((yuv)->uv_stride - ((width_tm - w_odd * 2) >> 1)); \ - yuv_V += ((yuv)->uv_stride - ((width_tm - w_odd * 2) >> 1)); \ + yuv_U += ((yuv)->uv_stride - ((width_tm - w_odd) >> 1)); \ + yuv_V += ((yuv)->uv_stride - ((width_tm - w_odd) >> 1)); \ \ datapi += width_tm + w_odd; \ if (sampling == __PXL_AVERAGE) \ @@ -324,8 +324,8 @@ static inline int blocknum(int xv, int yv, int widthv, int blocksize) yuv_V++; \ } \ \ - yuv_U += ((yuv)->uv_stride - ((width_tm - w_odd * 2) >> 1)); \ - yuv_V += ((yuv)->uv_stride - ((width_tm - w_odd * 2) >> 1)); \ + yuv_U += ((yuv)->uv_stride - ((width_tm - w_odd) >> 1)); \ + yuv_V += ((yuv)->uv_stride - ((width_tm - w_odd) >> 1)); \ \ datapi += width_tm + w_odd; \ datapi_back += width_tm + w_odd; \ @@ -356,8 +356,8 @@ static inline int blocknum(int xv, int yv, int widthv, int blocksize) yuv_V++; \ } \ \ - yuv_U += ((yuv)->y_stride - (width_tm - w_odd * 2)) >> 1; \ - yuv_V += ((yuv)->y_stride - (width_tm - w_odd * 2)) >> 1; \ + yuv_U += ((yuv)->uv_stride - ((width_tm - w_odd) >> 1)); \ + yuv_V += ((yuv)->uv_stride - ((width_tm - w_odd) >> 1)); \ \ datapi += width_tm + w_odd; \ datapi_back += width_tm + w_odd; \ -- cgit v1.2.3