summaryrefslogtreecommitdiff
path: root/src/i965_drv_video.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/i965_drv_video.c')
-rwxr-xr-xsrc/i965_drv_video.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index 0dcac01..e801a4d 100755
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -152,6 +152,8 @@ i965_image_formats_map[I965_MAX_IMAGE_FORMATS + 1] = {
{ VA_FOURCC_YUY2, VA_LSB_FIRST, 16, } },
{ I965_SURFACETYPE_YUV,
{ VA_FOURCC_UYVY, VA_LSB_FIRST, 16, } },
+ { I965_SURFACETYPE_YUV,
+ { VA_FOURCC_422H, VA_LSB_FIRST, 16, } },
{ I965_SURFACETYPE_RGBA,
{ VA_FOURCC_RGBX, VA_LSB_FIRST, 32, 24, 0x000000ff, 0x0000ff00, 0x00ff0000 } },
{ I965_SURFACETYPE_RGBA,
@@ -2821,6 +2823,16 @@ i965_CreateImage(VADriverContextP ctx,
image->offsets[2] = size + size2;
image->data_size = size + 2 * size2;
break;
+ case VA_FOURCC_422H:
+ image->num_planes = 3;
+ image->pitches[0] = awidth;
+ image->offsets[0] = 0;
+ image->pitches[1] = awidth / 2;
+ image->offsets[1] = size;
+ image->pitches[2] = awidth / 2;
+ image->offsets[2] = size + (awidth / 2) * aheight;
+ image->data_size = size + 2 * ((awidth / 2) * aheight);
+ break;
case VA_FOURCC_NV12:
image->num_planes = 2;
image->pitches[0] = awidth;
@@ -3228,6 +3240,7 @@ VAStatus i965_DeriveImage(VADriverContextP ctx,
break;
case VA_FOURCC_I420:
+ case VA_FOURCC_422H:
image->num_planes = 3;
image->pitches[0] = w_pitch; /* Y */
image->offsets[0] = 0;