From: Gwenole Beauchesne Date: Thu, 3 Jun 2010 06:54:55 +0000 (+0200) Subject: Add I420 image format. X-Git-Tag: 1.0_branch~356 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=97d1f5d604061116ba412cd716cc78a48db89718;p=profile%2Fivi%2Fvaapi-intel-driver.git Add I420 image format. --- diff --git a/i965_drv_video.c b/i965_drv_video.c index 6a020eb..c5fc2a5 100644 --- a/i965_drv_video.c +++ b/i965_drv_video.c @@ -64,6 +64,8 @@ static const i965_image_format_map_t i965_image_formats_map[I965_MAX_IMAGE_FORMATS + 1] = { { I965_SURFACETYPE_YUV, { VA_FOURCC('Y','V','1','2'), VA_LSB_FIRST, 12, } }, + { I965_SURFACETYPE_YUV, + { VA_FOURCC('I','4','2','0'), VA_LSB_FIRST, 12, } }, }; /* List of supported subpicture formats */ @@ -1352,6 +1354,16 @@ i965_CreateImage(VADriverContextP ctx, image->offsets[2] = size; image->data_size = size + 2 * size2; break; + case VA_FOURCC('I','4','2','0'): + image->num_planes = 3; + image->pitches[0] = width; + image->offsets[0] = 0; + image->pitches[1] = width2; + image->offsets[1] = size; + image->pitches[2] = width2; + image->offsets[2] = size + size2; + image->data_size = size + 2 * size2; + break; default: goto error; } @@ -1549,7 +1561,9 @@ i965_GetImage(VADriverContextP ctx, rect.height = height; switch (obj_image->image.format.fourcc) { - case VA_FOURCC('Y','V','1','2'): /* YV12 is native format here */ + case VA_FOURCC('Y','V','1','2'): + case VA_FOURCC('I','4','2','0'): + /* I420 is native format for MPEG-2 decoded surfaces */ if (render_state->interleaved_uv) goto operation_failed; get_image_yv12(obj_image, image_data, obj_surface, &rect); diff --git a/i965_drv_video.h b/i965_drv_video.h index 54bc35d..e2cd77f 100644 --- a/i965_drv_video.h +++ b/i965_drv_video.h @@ -43,7 +43,7 @@ #define I965_MAX_PROFILES 11 #define I965_MAX_ENTRYPOINTS 5 #define I965_MAX_CONFIG_ATTRIBUTES 10 -#define I965_MAX_IMAGE_FORMATS 1 +#define I965_MAX_IMAGE_FORMATS 2 #define I965_MAX_SUBPIC_FORMATS 4 #define I965_MAX_DISPLAY_ATTRIBUTES 4 #define I965_STR_VENDOR "i965 Driver 0.1"