瀏覽代碼

Merge "video: driver: Use cabac for power calculation"

qctecmdr 4 年之前
父節點
當前提交
9635a177c9
共有 2 個文件被更改,包括 11 次插入1 次删除
  1. 1 1
      driver/vidc/src/msm_vdec.c
  2. 10 0
      driver/vidc/src/venus_hfi_response.c

+ 1 - 1
driver/vidc/src/msm_vdec.c

@@ -57,7 +57,6 @@ static const u32 msm_vdec_subscribe_for_psc_vp9[] = {
 
 static const u32 msm_vdec_input_subscribe_for_properties[] = {
 	HFI_PROP_NO_OUTPUT,
-	HFI_PROP_CABAC_SESSION,
 };
 
 static const u32 msm_vdec_output_subscribe_for_properties[] = {
@@ -65,6 +64,7 @@ static const u32 msm_vdec_output_subscribe_for_properties[] = {
 	HFI_PROP_WORST_COMPLEXITY_FACTOR,
 	HFI_PROP_PICTURE_TYPE,
 	HFI_PROP_DPB_LIST,
+	HFI_PROP_CABAC_SESSION,
 };
 
 static const u32 msm_vdec_internal_buffer_type[] = {

+ 10 - 0
driver/vidc/src/venus_hfi_response.c

@@ -9,6 +9,7 @@
 #include "msm_vidc_debug.h"
 #include "msm_vidc_driver.h"
 #include "msm_vdec.h"
+#include "msm_vidc_control.h"
 
 #define in_range(range, val) (((range.begin) < (val)) && ((range.end) > (val)))
 
@@ -1260,6 +1261,15 @@ static int handle_session_property(struct msm_vidc_inst *inst,
 	case HFI_PROP_WORST_COMPLEXITY_FACTOR:
 		inst->hfi_frame_info.cf = payload_ptr[0];
 		break;
+	case HFI_PROP_CABAC_SESSION:
+		if (payload_ptr[0] == 1)
+			msm_vidc_update_cap_value(inst, ENTROPY_MODE,
+				V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
+				__func__);
+		else
+			msm_vidc_update_cap_value(inst, ENTROPY_MODE,
+				V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,
+				__func__);
 	case HFI_PROP_DPB_LIST:
 		if (is_decode_session(inst) && port == OUTPUT_PORT &&
 			inst->capabilities->cap[DPB_LIST].value) {