blob: d2a42bda99174e5dd3424c24b5374b8b2673fb47 [file] [log] [blame]
From 65951713d30653f94b144a06343591486b9decbe Mon Sep 17 00:00:00 2001
From: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Date: Tue, 3 Sep 2019 12:08:18 -0800
Subject: [PATCH 1/3] Encoder: VP8: GEN9/GEN10/GEN11: Ensure
forced_lf_adjustment update in media kernel
Ensure the submission of forced_lf_adjustment in mode probablity
update kernel curbe for gen9, gen10 and gen11.This will help to fix
the ffmpeg decoder output md5 mismatch with vpxdec for
the Intel encoded video samples.
Reported, Tested and Verified by Hirokazu Honda<hiroh@google.com>
---
media_driver/agnostic/gen10/codec/hal/codechal_encode_vp8_g10.cpp | 1 +
media_driver/agnostic/gen11/codec/hal/codechal_encode_vp8_g11.cpp | 1 +
media_driver/agnostic/gen9/codec/hal/codechal_encode_vp8_g9.cpp | 1 +
3 files changed, 3 insertions(+)
diff --git a/media_driver/agnostic/gen10/codec/hal/codechal_encode_vp8_g10.cpp b/media_driver/agnostic/gen10/codec/hal/codechal_encode_vp8_g10.cpp
index 4c96cac..c73bddd 100644
--- a/media_driver/agnostic/gen10/codec/hal/codechal_encode_vp8_g10.cpp
+++ b/media_driver/agnostic/gen10/codec/hal/codechal_encode_vp8_g10.cpp
@@ -7839,6 +7839,7 @@ MOS_STATUS CodechalEncodeVp8G10::SetMpuCurbe(struct CodechalVp8MpuCurbeParams* p
cmd.DW1.SharpnessLevel = picParams->sharpness_level;
cmd.DW1.LoopFilterAdjustmentOn = picParams->loop_filter_adj_enable;
cmd.DW1.MBNoCoeffiscientSkip = picParams->mb_no_coeff_skip;
+ cmd.DW1.ForcedLFUpdateForKeyFrame = picParams->forced_lf_adjustment;
// DDI spec is not mapping to codechal directly. It should be mapping as below
if (picParams->refresh_golden_frame == 1)
diff --git a/media_driver/agnostic/gen11/codec/hal/codechal_encode_vp8_g11.cpp b/media_driver/agnostic/gen11/codec/hal/codechal_encode_vp8_g11.cpp
index 1b2f9da..25a2052 100644
--- a/media_driver/agnostic/gen11/codec/hal/codechal_encode_vp8_g11.cpp
+++ b/media_driver/agnostic/gen11/codec/hal/codechal_encode_vp8_g11.cpp
@@ -8548,6 +8548,7 @@ MOS_STATUS CodechalEncodeVp8G11::SetMpuCurbe(struct CodechalVp8MpuCurbeParams* p
cmd.DW1.SharpnessLevel = picParams->sharpness_level;
cmd.DW1.LoopFilterAdjustmentOn = picParams->loop_filter_adj_enable;
cmd.DW1.MBNoCoeffiscientSkip = picParams->mb_no_coeff_skip;
+ cmd.DW1.ForcedLFUpdateForKeyFrame = picParams->forced_lf_adjustment;
// DDI spec is not mapping to codechal directly. It should be mapping as below
if (picParams->refresh_golden_frame == 1)
diff --git a/media_driver/agnostic/gen9/codec/hal/codechal_encode_vp8_g9.cpp b/media_driver/agnostic/gen9/codec/hal/codechal_encode_vp8_g9.cpp
index 0a2df79..3a0a6a9 100644
--- a/media_driver/agnostic/gen9/codec/hal/codechal_encode_vp8_g9.cpp
+++ b/media_driver/agnostic/gen9/codec/hal/codechal_encode_vp8_g9.cpp
@@ -7839,6 +7839,7 @@ MOS_STATUS CodechalEncodeVp8G9::SetMpuCurbe(struct CodechalVp8MpuCurbeParams* pa
cmd.DW1.SharpnessLevel = picParams->sharpness_level;
cmd.DW1.LoopFilterAdjustmentOn = picParams->loop_filter_adj_enable;
cmd.DW1.MBNoCoeffiscientSkip = picParams->mb_no_coeff_skip;
+ cmd.DW1.ForcedLFUpdateForKeyFrame = picParams->forced_lf_adjustment;
// DDI spec is not mapping to codechal directly. It should be mapping as below
if (picParams->refresh_golden_frame == 1)
--
2.7.4