summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLim Siew Hoon <siew.hoon.lim@intel.com>2016-07-01 13:29:11 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2016-07-22 16:13:20 +0800
commit1f8aa1546182667cf70484b0c08959b08edb5a84 (patch)
treec4a7aa70c441de97434f753d37192574ed4047cf
parent3a617e995435eafb87ea87dd1afc647d51d49582 (diff)
avoid U_row overwrite NULL value if src_fourcc and dst_fourcc is NV12
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
-rwxr-xr-xtest/loadsurface.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/test/loadsurface.h b/test/loadsurface.h
index 4d7be98..82cf61c 100755
--- a/test/loadsurface.h
+++ b/test/loadsurface.h
@@ -371,9 +371,12 @@ static int upload_surface_yuv(VADisplay va_dpy, VASurfaceID surface_id,
v_ptr = src_U + row * (src_width/2);
u_ptr = src_V + row * (src_width/2);
}
- for(j = 0; j < src_width/2; j++) {
- U_row[2*j] = u_ptr[j];
- U_row[2*j+1] = v_ptr[j];
+ if ((src_fourcc == VA_FOURCC_IYUV) ||
+ (src_fourcc == VA_FOURCC_YV12)) {
+ for(j = 0; j < src_width/2; j++) {
+ U_row[2*j] = u_ptr[j];
+ U_row[2*j+1] = v_ptr[j];
+ }
}
break;
case VA_FOURCC_IYUV:
@@ -461,9 +464,12 @@ static int download_surface_yuv(VADisplay va_dpy, VASurfaceID surface_id,
v_ptr = dst_U + row * (dst_width/2);
u_ptr = dst_V + row * (dst_width/2);
}
- for(j = 0; j < dst_width/2; j++) {
- u_ptr[j] = U_row[2*j];
- v_ptr[j] = U_row[2*j+1];
+ if ((dst_fourcc == VA_FOURCC_IYUV) ||
+ (dst_fourcc == VA_FOURCC_YV12)) {
+ for(j = 0; j < dst_width/2; j++) {
+ u_ptr[j] = U_row[2*j];
+ v_ptr[j] = U_row[2*j+1];
+ }
}
break;
case VA_FOURCC_IYUV: