On Sun, 2014-03-23 at 19:54 -0600, Wu, Zhiwen wrote: > From: Alex wu <zhiwen...@intel.com> > > Changes to V1: > 1. Rebase on staging branch. > 2. Add 422H support for pp. > 3. Reword the commit title.
This patch is OK to me except the missing piece in file of gen8_post_processing.c. > if (fourcc == VA_FOURCC('Y', 'V', '1', '6') || fourcc == VA_FOURCC('4', '2', '2', 'H')) { > width[1] = obj_image->image.width / 2; > height[1] = obj_image->image.height; > width[2] = obj_image->image.width / 2; Will you please also add the above check in file of gen8_post_processing.c? Thanks. Yakui > --- > src/i965_drv_video.c | 13 +++++++++++++ > src/i965_post_processing.c | 2 +- > 2 files changed, 14 insertions(+), 1 deletion(-) > > diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c > index 67f93ef..8792660 100755 > --- a/src/i965_drv_video.c > +++ b/src/i965_drv_video.c > @@ -159,6 +159,8 @@ i965_image_formats_map[I965_MAX_IMAGE_FORMATS + 1] = { > { VA_FOURCC('Y','U','Y','2'), VA_LSB_FIRST, 16, } }, > { I965_SURFACETYPE_YUV, > { VA_FOURCC('U','Y','V','Y'), VA_LSB_FIRST, 16, } }, > + { I965_SURFACETYPE_YUV, > + { VA_FOURCC('4','2','2','H'), VA_LSB_FIRST, 16, } }, > { I965_SURFACETYPE_RGBA, > { VA_FOURCC('R','G','B','X'), VA_LSB_FIRST, 32, 24, 0x000000ff, > 0x0000ff00, 0x00ff0000 } }, > { I965_SURFACETYPE_RGBA, > @@ -2864,6 +2866,16 @@ i965_CreateImage(VADriverContextP ctx, > image->offsets[2] = size + size2; > image->data_size = size + 2 * size2; > break; > + case VA_FOURCC('4','2','2','H'): > + 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('N','V','1','2'): > image->num_planes = 2; > image->pitches[0] = awidth; > @@ -3271,6 +3283,7 @@ VAStatus i965_DeriveImage(VADriverContextP ctx, > break; > > case VA_FOURCC('I', '4', '2', '0'): > + case VA_FOURCC('4', '2', '2', 'H'): > image->num_planes = 3; > image->pitches[0] = w_pitch; /* Y */ > image->offsets[0] = 0; > diff --git a/src/i965_post_processing.c b/src/i965_post_processing.c > index 35bc515..5d8dd90 100755 > --- a/src/i965_post_processing.c > +++ b/src/i965_post_processing.c > @@ -1954,7 +1954,7 @@ gen7_pp_set_media_rw_message_surface(VADriverContextP > ctx, struct i965_post_proc > height[2] = obj_image->image.height / 2; > pitch[2] = obj_image->image.pitches[V]; > offset[2] = obj_image->image.offsets[V]; > - if (fourcc == VA_FOURCC('Y', 'V', '1', '6')) { > + if (fourcc == VA_FOURCC('Y', 'V', '1', '6') || fourcc == > VA_FOURCC('4', '2', '2', 'H')) { > width[1] = obj_image->image.width / 2; > height[1] = obj_image->image.height; > width[2] = obj_image->image.width / 2; _______________________________________________ Libva mailing list Libva@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libva