diff options
| author | Gwenole Beauchesne <gbeauchesne@splitted-desktop.com> | 2010-06-03 08:54:55 +0200 |
|---|---|---|
| committer | Xiang, Haihao <haihao.xiang@intel.com> | 2010-07-12 15:01:42 +0800 |
| commit | 97d1f5d604061116ba412cd716cc78a48db89718 (patch) | |
| tree | 4be0236e55784708d3bf80e65a896c7cf19669b5 /i965_drv_video.c | |
| parent | a0a32fd67ce0ea333bae10f918d76a220db84661 (diff) | |
Add I420 image format.
Diffstat (limited to 'i965_drv_video.c')
| -rw-r--r-- | i965_drv_video.c | 16 |
1 files changed, 15 insertions, 1 deletions
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); |
