Эх сурвалжийг харах

msm: vidc: update dpb buffer size only for film grain content

update buffer size only for film grain content.

Change-Id: Ia9230d36ef0c917723fdb1eea82adfb8df3b3413
Signed-off-by: Manikanta Kanamarlapudi <[email protected]>
Manikanta Kanamarlapudi 2 жил өмнө
parent
commit
06d84f081f

+ 8 - 3
driver/variant/iris3/src/msm_vidc_buffer_iris3.c

@@ -290,9 +290,14 @@ static u32 msm_vidc_decoder_dpb_size_iris3(struct msm_vidc_inst *inst)
 	 * enabled bitstreams (UBWC & linear).
 	 */
 	color_fmt = inst->capabilities->cap[PIX_FMTS].value;
-	if (!is_linear_colorformat(color_fmt) &&
-		inst->codec != MSM_VIDC_AV1)
-		return size;
+	if (!is_linear_colorformat(color_fmt)) {
+		if (inst->codec != MSM_VIDC_AV1)
+			return size;
+
+		if (inst->codec == MSM_VIDC_AV1 &&
+			!inst->capabilities->cap[FILM_GRAIN].value)
+			return size;
+	}
 
 	f = &inst->fmts[OUTPUT_PORT];
 	width = f->fmt.pix_mp.width;

+ 8 - 3
driver/variant/iris33/src/msm_vidc_buffer_iris33.c

@@ -290,9 +290,14 @@ static u32 msm_vidc_decoder_dpb_size_iris33(struct msm_vidc_inst *inst)
 	 * enabled bitstreams (UBWC & linear).
 	 */
 	color_fmt = inst->capabilities->cap[PIX_FMTS].value;
-	if (!is_linear_colorformat(color_fmt) &&
-		inst->codec != MSM_VIDC_AV1)
-		return size;
+	if (!is_linear_colorformat(color_fmt)) {
+		if (inst->codec != MSM_VIDC_AV1)
+			return size;
+
+		if (inst->codec == MSM_VIDC_AV1 &&
+			!inst->capabilities->cap[FILM_GRAIN].value)
+			return size;
+	}
 
 	f = &inst->fmts[OUTPUT_PORT];
 	width = f->fmt.pix_mp.width;