[Libva] [PATCH] VP9HWDEC:fix the clips which are OK in sim env but failed in HW
Pengfei Qu
Pengfei.Qu at intel.com
Mon Dec 14 18:24:49 PST 2015
Signed-off-by: Pengfei Qu <Pengfei.Qu at intel.com>
---
src/gen9_mfd.c | 29 +++++++++++++++++++----------
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/src/gen9_mfd.c b/src/gen9_mfd.c
index 2d8ed7d..62a159f 100644
--- a/src/gen9_mfd.c
+++ b/src/gen9_mfd.c
@@ -1719,16 +1719,25 @@ gen9_hcpd_vp9_segment_state(VADriverContextP ctx,
seg_param->segment_flags.fields.segment_reference_enabled << 3 |
seg_param->segment_flags.fields.segment_reference << 1 |
seg_param->segment_flags.fields.segment_reference_skipped <<0 ); /* DW 2 */
- OUT_BCS_BATCH(batch,
- seg_param->filter_level[1][1] << 24 | //FilterLevelRef1Mode1
- seg_param->filter_level[1][0] << 16 | //FilterLevelRef1Mode0
- seg_param->filter_level[0][1] << 8 | //FilterLevelRef0Mode1
- seg_param->filter_level[0][0] << 0 ); //FilterLevelRef0Mode0 /* DW 3 */
- OUT_BCS_BATCH(batch,
- seg_param->filter_level[3][1] << 24 | //FilterLevelRef3Mode1
- seg_param->filter_level[3][0] << 16 | //FilterLevelRef3Mode0
- seg_param->filter_level[2][1] << 8 | //FilterLevelRef2Mode1
- seg_param->filter_level[2][0] << 0 ); //FilterLevelRef2Mode0 /* DW 4 */
+ if(pic_param->filter_level)
+ {
+ OUT_BCS_BATCH(batch,
+ seg_param->filter_level[1][1] << 24 | //FilterLevelRef1Mode1
+ seg_param->filter_level[1][0] << 16 | //FilterLevelRef1Mode0
+ seg_param->filter_level[0][1] << 8 | //FilterLevelRef0Mode1
+ seg_param->filter_level[0][0] << 0 ); //FilterLevelRef0Mode0 /* DW 3 */
+ OUT_BCS_BATCH(batch,
+ seg_param->filter_level[3][1] << 24 | //FilterLevelRef3Mode1
+ seg_param->filter_level[3][0] << 16 | //FilterLevelRef3Mode0
+ seg_param->filter_level[2][1] << 8 | //FilterLevelRef2Mode1
+ seg_param->filter_level[2][0] << 0 ); //FilterLevelRef2Mode0 /* DW 4 */
+ }else
+ {
+ OUT_BCS_BATCH(batch,
+ 0 ); /* DW 3 */
+ OUT_BCS_BATCH(batch,
+ 0 ); /* DW 4 */
+ }
OUT_BCS_BATCH(batch,
seg_param->luma_ac_quant_scale << 16 |
seg_param->luma_dc_quant_scale << 0 ); /* DW 5 */
--
1.9.1
More information about the Libva
mailing list