Yes, IMC3 is required for JPEG decoding driver. I added IMC3 to follow decoding driver.

On 04/16/2014 08:48 AM, Xiang, Haihao wrote:
On Tue, 2014-04-15 at 07:27 -0700, Gwenole Beauchesne wrote:
Hi,

2014-04-14 1:17 GMT-07:00 Zhong Li <zhong...@intel.com>:
Signed-off-by: Zhong Li <zhong...@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.


@@ -3294,8 +3298,10 @@ VAStatus i965_DeriveImage(VADriverContextP ctx,
          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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libva
_______________________________________________
Libva mailing list
Libva@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libva


_______________________________________________
Libva mailing list
Libva@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to