summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwenchangliu <wenchangliu@google.com>2023-08-01 09:55:08 +0000
committerZheng Pan <zhengpan@google.com>2023-08-05 00:11:14 +0000
commitf0152d68ff728fc0372519e1f1872e44def6e4f5 (patch)
tree2ff04f6d2bed8d1d52329cf3fc1ee55dcf5f4cef
parent08e120376cc5ffead105f4b5aaa57ab41024a8d3 (diff)
downloadgs-f0152d68ff728fc0372519e1f1872e44def6e4f5.tar.gz
media: mfc: clear encoder min_quality mode
Min quality mode is not cleared in concurrent instances case. It may impact other instances which do not support min quality mode and hence generates unexpected encoder output. Bug: 293641329 Test: repro steps in bug Change-Id: Iea11a1b2fc07e6e3d97ae723a572303419c6494e
-rw-r--r--drivers/media/platform/exynos/mfc/mfc_core_enc_param.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/platform/exynos/mfc/mfc_core_enc_param.c b/drivers/media/platform/exynos/mfc/mfc_core_enc_param.c
index 72394da83..18042c1ae 100644
--- a/drivers/media/platform/exynos/mfc/mfc_core_enc_param.c
+++ b/drivers/media/platform/exynos/mfc/mfc_core_enc_param.c
@@ -433,6 +433,7 @@ static void __mfc_set_enc_params(struct mfc_core *core, struct mfc_ctx *ctx)
reg = MFC_CORE_RAW_READL(MFC_REG_E_RC_MODE);
mfc_clear_bits(reg, 0x3, 0);
mfc_clear_bits(reg, 0x3, 4);
+ mfc_clear_bits(reg, 0x1, 7);
mfc_clear_bits(reg, 0xFF, 8);
enc->is_cbr_fix = 0;
if (p->rc_frame) {