[Libva] [PATCH][Libva-intel-driver] i965_DeriveImage() support JPEG color formats

Gwenole Beauchesne gb.devel at gmail.com
Wed Apr 16 05:23:36 PDT 2014


2014-04-15 17:48 GMT-07:00 Xiang, Haihao <haihao.xiang at intel.com>:
> On Tue, 2014-04-15 at 07:27 -0700, Gwenole Beauchesne wrote:
>> Hi,
>>
>> 2014-04-14 1:17 GMT-07:00 Zhong Li <zhong.li at intel.com>:
>> > Signed-off-by: Zhong Li <zhong.li at intel.com>
>> > ---
>> >  src/i965_drv_video.c |    6 ++++++
>> >  1 file changed, 6 insertions(+)
>> >
>> > diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
>> > index cc61ad3..f94d429 100755
>> > --- a/src/i965_drv_video.c
>> > +++ b/src/i965_drv_video.c
>> > @@ -3286,6 +3286,10 @@ VAStatus i965_DeriveImage(VADriverContextP ctx,
>> >
>> >      case VA_FOURCC_I420:
>> >      case VA_FOURCC_422H:
>> > +    case VA_FOURCC_IMC3:
>> > +    case VA_FOURCC_444P:
>> > +    case VA_FOURCC_422V:
>> > +    case VA_FOURCC_411P:
>> >          image->num_planes = 3;
>> >          image->pitches[0] = w_pitch; /* Y */
>> >          image->offsets[0] = 0;
>>
>> IMC3 fourcc is totally useless, change that to be I420.
>
> IMC3 is required for JPEG decoding and U/V plane + garbage is in full
> pitch.

And? IMC3 = I420 with stride for each plane that is the same, and that
is specified in the VAImage struct. So, what is the point? This needs
to be changed. That's all an application needs to know. i.e. move up
VA_FOURCC_IMC3 to the top, make image->fourcc = VA_FOURCC_I420, and
fall-through in the rest...

>> >          image->pitches[2] = obj_surface->cb_cr_pitch; /* V */
>> >          image->offsets[2] = w_pitch * obj_surface->y_cr_offset;
>> >          break;
>> > +
>> >      case VA_FOURCC_YUY2:
>> >      case VA_FOURCC_UYVY:
>> > +    case VA_FOURCC_Y800:
>> >          image->num_planes = 1;
>> >          image->pitches[0] = obj_surface->width; /* Y, width is aligned already */
>> >          image->offsets[0] = 0;
>> > --
>> > 1.7.9.5
>> >
>> > _______________________________________________
>> > Libva mailing list
>> > Libva at lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/libva
>> _______________________________________________
>> Libva mailing list
>> Libva at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/libva
>
>


More information about the Libva mailing list