Merge "mm-video-v4l2: venc: add to disable auto blur manually"
diff --git a/conf_files/kona/system_properties.xml b/conf_files/kona/system_properties.xml
index 1177da9..db77bbc 100644
--- a/conf_files/kona/system_properties.xml
+++ b/conf_files/kona/system_properties.xml
@@ -40,4 +40,5 @@
<property name="vidc_dec_sec_prefetch_size_internal" value="209715200"/>
<property name="vidc_dec_sec_prefetch_size_output" value="13434880"/>
<property name="vidc_enc_bitrate_savings_enable" value="1"/>
+ <property name="vidc_enc_auto_blur_disable" value="0"/>
</configs>
diff --git a/libplatformconfig/PlatformConfig.h b/libplatformconfig/PlatformConfig.h
index f696b2e..cbbb4d2 100644
--- a/libplatformconfig/PlatformConfig.h
+++ b/libplatformconfig/PlatformConfig.h
@@ -72,6 +72,7 @@
vidc_perf_control_enable,
vidc_enc_linear_color_format,
vidc_enc_bitrate_savings_enable,
+ vidc_enc_auto_blur_disable,
} Config_t;
struct configStr {
@@ -93,6 +94,7 @@
{vidc_perf_control_enable, "vidc_perf_control_enable"},
{vidc_enc_linear_color_format, "vidc_enc_linear_color_format"},
{vidc_enc_bitrate_savings_enable, "vidc_enc_bitrate_savings_enable"},
+ {vidc_enc_auto_blur_disable, "vidc_enc_auto_blur_disable"},
};
class Config {
diff --git a/mm-video-v4l2/vidc/venc/inc/video_encoder_device_v4l2.h b/mm-video-v4l2/vidc/venc/inc/video_encoder_device_v4l2.h
index 15b9b23..18b87f7 100644
--- a/mm-video-v4l2/vidc/venc/inc/video_encoder_device_v4l2.h
+++ b/mm-video-v4l2/vidc/venc/inc/video_encoder_device_v4l2.h
@@ -368,6 +368,7 @@
bool is_gralloc_source_ubwc;
bool is_camera_source_ubwc;
bool is_csc_custom_matrix_enabled;
+ bool is_auto_blur_disabled;
bool csc_enable;
OMX_U32 fd_list[64];
unsigned long get_media_colorformat(unsigned long);
diff --git a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
index 5dbef8e..9335666 100755
--- a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
+++ b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
@@ -167,6 +167,8 @@
(int32_t *)&m_debug.out_buffer_log, 0);
Platform::Config::getInt32(Platform::vidc_enc_csc_custom_matrix,
(int32_t *)&is_csc_custom_matrix_enabled, 0);
+ Platform::Config::getInt32(Platform::vidc_enc_auto_blur_disable,
+ (int32_t *)&is_auto_blur_disabled, 0);
char property_value[PROPERTY_VALUE_MAX] = {0};
@@ -1632,6 +1634,14 @@
DEBUG_PRINT_ERROR("Failed to set V4L2_CID_MPEG_VIDC_VIDEO_NUM_P_FRAME\n");
}
+ //Disable auto blur by default
+ if (is_auto_blur_disabled) {
+ control.id = V4L2_CID_MPEG_VIDC_VIDEO_BLUR_DIMENSIONS;
+ control.value = 0x2;
+ if (ioctl(m_nDriver_fd, VIDIOC_S_CTRL, &control))
+ DEBUG_PRINT_ERROR("Failed to set V4L2_CID_MPEG_VIDC_VIDEO_BLUR_DIMENSIONS\n");
+ }
+
/* Enable Low power mode by default for better power */