[Libva] [PATCH v2 09/12] VP8 HWEnc: Alloc larger internal buffers

Zhong Li zhong.li at intel.com
Tue Jan 13 21:03:40 PST 2015


Alloc larger internal buffers, else maybe garbage exist in decoded
frame when encoding 720p video.

Signed-off-by: Zhong Li <zhong.li at intel.com>
---
 src/gen8_mfc.c | 6 +++---
 src/gen9_mfc.c | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gen8_mfc.c b/src/gen8_mfc.c
index 9a227ac..b5f00eb 100644
--- a/src/gen8_mfc.c
+++ b/src/gen8_mfc.c
@@ -525,7 +525,7 @@ static void gen8_mfc_init(VADriverContextP ctx,
     dri_bo_unreference(mfc_context->intra_row_store_scratch_buffer.bo);
     bo = dri_bo_alloc(i965->intel.bufmgr,
                       "Buffer",
-                      width_in_mbs * 64,
+                      width_in_mbs * 64 * 16,
                       64);
     assert(bo);
     mfc_context->intra_row_store_scratch_buffer.bo = bo;
@@ -541,7 +541,7 @@ static void gen8_mfc_init(VADriverContextP ctx,
     dri_bo_unreference(mfc_context->deblocking_filter_row_store_scratch_buffer.bo);
     bo = dri_bo_alloc(i965->intel.bufmgr,
                       "Buffer",
-                      4 * width_in_mbs * 64,  /* 4 * width_in_mbs * 64 */
+                      16 * width_in_mbs * 64,  /* 16 * width_in_mbs * 64 */
                       64);
     assert(bo);
     mfc_context->deblocking_filter_row_store_scratch_buffer.bo = bo;
@@ -549,7 +549,7 @@ static void gen8_mfc_init(VADriverContextP ctx,
     dri_bo_unreference(mfc_context->bsd_mpc_row_store_scratch_buffer.bo);
     bo = dri_bo_alloc(i965->intel.bufmgr,
                       "Buffer",
-                      2 * width_in_mbs * 64, /* 2 * width_in_mbs * 64 */
+                      16 * width_in_mbs * 64, /* 16 * width_in_mbs * 64 */
                       0x1000);
     assert(bo);
     mfc_context->bsd_mpc_row_store_scratch_buffer.bo = bo;
diff --git a/src/gen9_mfc.c b/src/gen9_mfc.c
index e28cb91..d54b394 100644
--- a/src/gen9_mfc.c
+++ b/src/gen9_mfc.c
@@ -459,7 +459,7 @@ static void gen9_mfc_init(VADriverContextP ctx,
     dri_bo_unreference(mfc_context->intra_row_store_scratch_buffer.bo);
     bo = dri_bo_alloc(i965->intel.bufmgr,
                       "Buffer",
-                      width_in_mbs * 64,
+                      width_in_mbs * 64 * 16,
                       64);
     assert(bo);
     mfc_context->intra_row_store_scratch_buffer.bo = bo;
@@ -2506,7 +2506,7 @@ static void gen9_mfc_vp8_init(VADriverContextP ctx,
     dri_bo_unreference(mfc_context->deblocking_filter_row_store_scratch_buffer.bo);
     bo = dri_bo_alloc(i965->intel.bufmgr,
                       "Buffer",
-                      4 * width_in_mbs * 64,  /* 4 * width_in_mbs * 64 */
+                      16 * width_in_mbs * 64,  /* 16 * width_in_mbs * 64 */
                       64);
     assert(bo);
     mfc_context->deblocking_filter_row_store_scratch_buffer.bo = bo;
@@ -2514,7 +2514,7 @@ static void gen9_mfc_vp8_init(VADriverContextP ctx,
     dri_bo_unreference(mfc_context->bsd_mpc_row_store_scratch_buffer.bo);
     bo = dri_bo_alloc(i965->intel.bufmgr,
                       "Buffer",
-                      2 * width_in_mbs * 64, /* 2 * width_in_mbs * 64 */
+                      16 * width_in_mbs * 64, /* 16 * width_in_mbs * 64 */
                       0x1000);
     assert(bo);
     mfc_context->bsd_mpc_row_store_scratch_buffer.bo = bo;
-- 
1.9.1



More information about the Libva mailing list