Enable loop-deblock of bdw vp8 decoder
authorZhong Li <zhong.li@intel.com>
Sat, 8 Jun 2013 06:37:24 +0000 (14:37 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Thu, 27 Feb 2014 02:22:06 +0000 (10:22 +0800)
When deblock is enable, post-deblocking bo should be used as output
buffer.

Signed-off-by: Zhong Li <zhong.li@intel.com>
src/gen8_mfd.c

index 4997c20..c60e333 100644 (file)
@@ -2732,13 +2732,14 @@ gen8_mfd_vp8_decode_init(VADriverContextP ctx,
     i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N','V','1','2'), SUBSAMPLE_YUV420);
 
     dri_bo_unreference(gen7_mfd_context->post_deblocking_output.bo);
-    gen7_mfd_context->post_deblocking_output.bo = NULL;
-    gen7_mfd_context->post_deblocking_output.valid = 0;
+    gen7_mfd_context->post_deblocking_output.bo = obj_surface->bo;
+    dri_bo_reference(gen7_mfd_context->post_deblocking_output.bo);
+    gen7_mfd_context->post_deblocking_output.valid = !pic_param->pic_fields.bits.loop_filter_disable;
 
     dri_bo_unreference(gen7_mfd_context->pre_deblocking_output.bo);
     gen7_mfd_context->pre_deblocking_output.bo = obj_surface->bo;
     dri_bo_reference(gen7_mfd_context->pre_deblocking_output.bo);
-    gen7_mfd_context->pre_deblocking_output.valid = 1;
+    gen7_mfd_context->pre_deblocking_output.valid = pic_param->pic_fields.bits.loop_filter_disable;
 
     /* The same as AVC */
     dri_bo_unreference(gen7_mfd_context->intra_row_store_scratch_buffer.bo);