summaryrefslogtreecommitdiff
path: root/mm-video-v4l2
diff options
context:
space:
mode:
authorPraneeth Paladugu <ppaladug@codeaurora.org>2017-06-22 19:02:18 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-06-26 13:40:01 -0700
commit06cc2f67f27b60f4a006b50a7b8525b831d173df (patch)
tree20264e6533b12a33f15b6b88056cd19f8fb08082 /mm-video-v4l2
parent23c68e8b4f4641845173dc39225719b6c85a30fd (diff)
downloadmedia-06cc2f67f27b60f4a006b50a7b8525b831d173df.tar.gz
mm-video-v4l2: vidc: Remove perf_lock settings
perf_lock code is redundant and not needed anymore. Hence remove the same. CRs-Fixed: 2062950 Change-Id: I3e51155b9055882512556811313f7d7ff32f7fdb
Diffstat (limited to 'mm-video-v4l2')
-rw-r--r--mm-video-v4l2/vidc/vdec/inc/omx_vdec.h49
-rw-r--r--mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp108
-rw-r--r--mm-video-v4l2/vidc/venc/inc/omx_video_encoder.h15
-rw-r--r--mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp75
4 files changed, 0 insertions, 247 deletions
diff --git a/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h b/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h
index 9ccd751b..93d93b53 100644
--- a/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h
+++ b/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h
@@ -1292,55 +1292,6 @@ class omx_vdec: public qc_omx_component
bool secure_scaling_to_non_secure_opb;
bool m_force_compressed_for_dpb;
bool m_is_display_session;
- class perf_lock {
- private:
- pthread_mutex_t mlock;
-
- public:
- perf_lock() {
- pthread_mutex_init(&mlock, NULL);
- }
-
- ~perf_lock() {
- pthread_mutex_destroy(&mlock);
- }
-
- void lock() {
- pthread_mutex_lock(&mlock);
- }
-
- void unlock() {
- pthread_mutex_unlock(&mlock);
- }
- };
-
- class perf_control {
- // 2 cores will be requested if framerate is beyond 45 fps
- static const int MIN_FRAME_DURATION_FOR_PERF_REQUEST_US = (1e6 / 45);
- typedef int (*perf_lock_acquire_t)(int, int, int*, int);
- typedef int (*perf_lock_release_t)(int);
-
- private:
- void *m_perf_lib;
- int m_perf_handle;
- perf_lock_acquire_t m_perf_lock_acquire;
- perf_lock_release_t m_perf_lock_release;
- bool load_lib();
- struct mpctl_stats {
- int vid_inst_count;
- bool vid_acquired;
- int vid_disp_handle;
- };
- static struct mpctl_stats mpctl_obj;
- static perf_lock m_perf_lock;
-
- public:
- perf_control();
- ~perf_control();
- void request_cores(int frame_duration_us);
- void send_hint_to_mpctl(bool state);
- };
- perf_control m_perf_control;
static OMX_COLOR_FORMATTYPE getPreferredColorFormatNonSurfaceMode(OMX_U32 index) {
//On Android, we default to standard YUV formats for non-surface use-cases
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
index 9fdd1502..d8081813 100644
--- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
+++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
@@ -820,7 +820,6 @@ omx_vdec::omx_vdec(): m_error_propogated(false),
m_smoothstreaming_height = 0;
m_decode_order_mode = false;
is_q6_platform = false;
- m_perf_control.send_hint_to_mpctl(true);
m_input_pass_buffer_fd = false;
memset(&m_extradata_info, 0, sizeof(m_extradata_info));
m_client_color_space.nPortIndex = (OMX_U32)OMX_CORE_INPUT_PORT_INDEX;
@@ -968,7 +967,6 @@ omx_vdec::~omx_vdec()
dec_time.end();
}
DEBUG_PRINT_INFO("Exit OMX vdec Destructor: fd=%d",drv_ctx.video_driver_fd);
- m_perf_control.send_hint_to_mpctl(false);
}
int release_buffers(omx_vdec* obj, enum vdec_buffer buffer_type)
@@ -4081,7 +4079,6 @@ OMX_ERRORTYPE omx_vdec::set_parameter(OMX_IN OMX_HANDLETYPE hComp,
eRet = OMX_ErrorHardware;
break;
}
- m_perf_control.request_cores(frm_int);
}
if (drv_ctx.video_resolution.frame_height !=
@@ -9420,7 +9417,6 @@ void omx_vdec::set_frame_rate(OMX_S64 act_timestamp)
DEBUG_PRINT_LOW("set_frame_rate: frm_int(%u) fps(%f)",
(unsigned int)frm_int, drv_ctx.frame_rate.fps_numerator /
(float)drv_ctx.frame_rate.fps_denominator);
- m_perf_control.request_cores(frm_int);
/* We need to report the difference between this FBD and the previous FBD
* back to the driver for clock scaling purposes. */
struct v4l2_outputparm oparm;
@@ -11714,110 +11710,6 @@ void omx_vdec::send_codec_config() {
}
}
-omx_vdec::perf_control::perf_control()
-{
- m_perf_lib = NULL;
- m_perf_handle = 0;
- m_perf_lock_acquire = NULL;
- m_perf_lock_release = NULL;
-}
-
-omx_vdec::perf_control::~perf_control()
-{
- if (m_perf_handle != 0 && m_perf_lock_release) {
- DEBUG_PRINT_LOW("NOTE2: release perf lock");
- m_perf_lock_release(m_perf_handle);
- }
- if (m_perf_lib) {
- dlclose(m_perf_lib);
- }
-}
-
-struct omx_vdec::perf_control::mpctl_stats omx_vdec::perf_control::mpctl_obj = {0, 0, 0};
-
-omx_vdec::perf_lock omx_vdec::perf_control::m_perf_lock;
-
-void omx_vdec::perf_control::send_hint_to_mpctl(bool state)
-{
- if (load_lib() == false) {
- return;
- }
- m_perf_lock.lock();
- /* 0x4401 maps to video decode playback hint
- * in perflock, enum number is 44 and state
- * being sent on perflock acquire is 01 (true)
- */
- int arg = 0x4401;
-
- if (state == true) {
- mpctl_obj.vid_inst_count++;
- } else if (state == false) {
- mpctl_obj.vid_inst_count--;
- }
-
- if (m_perf_lock_acquire && mpctl_obj.vid_inst_count == 1 && mpctl_obj.vid_acquired == false) {
- mpctl_obj.vid_disp_handle = m_perf_lock_acquire(0, 0, &arg, sizeof(arg) / sizeof(int));
- mpctl_obj.vid_acquired = true;
- DEBUG_PRINT_INFO("Video slvp perflock acquired");
- } else if (m_perf_lock_release && (mpctl_obj.vid_inst_count == 0 || mpctl_obj.vid_inst_count > 1) && mpctl_obj.vid_acquired == true) {
- m_perf_lock_release(mpctl_obj.vid_disp_handle);
- mpctl_obj.vid_acquired = false;
- DEBUG_PRINT_INFO("Video slvp perflock released");
- }
- m_perf_lock.unlock();
-}
-
-void omx_vdec::perf_control::request_cores(int frame_duration_us)
-{
- if (frame_duration_us > MIN_FRAME_DURATION_FOR_PERF_REQUEST_US) {
- return;
- }
- bool retVal = load_lib();
- if (retVal && m_perf_lock_acquire && m_perf_handle == 0) {
- int arg = 0x700 /*base value*/ + 2 /*cores*/;
- m_perf_handle = m_perf_lock_acquire(m_perf_handle, 0, &arg, sizeof(arg)/sizeof(int));
- if (m_perf_handle) {
- DEBUG_PRINT_HIGH("perf lock acquired");
- }
- }
-}
-
-bool omx_vdec::perf_control::load_lib()
-{
- char perf_lib_path[PROPERTY_VALUE_MAX] = {0};
- if (m_perf_lib)
- return true;
-
- if((property_get("ro.vendor.extension_library", perf_lib_path, NULL) <= 0)) {
- DEBUG_PRINT_ERROR("vendor library not set in ro.vendor.extension_library");
- goto handle_err;
- }
-
- if ((m_perf_lib = dlopen(perf_lib_path, RTLD_NOW)) == NULL) {
- DEBUG_PRINT_ERROR("Failed to open %s : %s",perf_lib_path, dlerror());
- goto handle_err;
- } else {
- m_perf_lock_acquire = (perf_lock_acquire_t)dlsym(m_perf_lib, "perf_lock_acq");
- if (m_perf_lock_acquire == NULL) {
- DEBUG_PRINT_ERROR("Failed to load symbol: perf_lock_acq");
- goto handle_err;
- }
- m_perf_lock_release = (perf_lock_release_t)dlsym(m_perf_lib, "perf_lock_rel");
- if (m_perf_lock_release == NULL) {
- DEBUG_PRINT_ERROR("Failed to load symbol: perf_lock_rel");
- goto handle_err;
- }
- }
- return true;
-
-handle_err:
- if (m_perf_lib) {
- dlclose(m_perf_lib);
- }
- m_perf_lib = NULL;
- return false;
-}
-
OMX_ERRORTYPE omx_vdec::enable_adaptive_playback(unsigned long nMaxFrameWidth,
unsigned long nMaxFrameHeight)
{
diff --git a/mm-video-v4l2/vidc/venc/inc/omx_video_encoder.h b/mm-video-v4l2/vidc/venc/inc/omx_video_encoder.h
index 7978ac32..7419c005 100644
--- a/mm-video-v4l2/vidc/venc/inc/omx_video_encoder.h
+++ b/mm-video-v4l2/vidc/venc/inc/omx_video_encoder.h
@@ -91,21 +91,6 @@ class omx_venc: public omx_video
bool dev_get_output_log_flag();
int dev_output_log_buffers(const char *buffer_addr, int buffer_len);
int dev_extradata_log_buffers(char *buffer);
- class perf_control {
- typedef int (*perf_lock_acquire_t)(int, int, int*, int);
- typedef int (*perf_lock_release_t)(int);
- public:
- perf_control();
- ~perf_control();
- void send_hint_to_mpctl(bool state);
- private:
- int m_perf_handle;
- void *m_perf_lib;
- bool load_lib();
- perf_lock_acquire_t m_perf_lock_acquire;
- perf_lock_release_t m_perf_lock_release;
- };
- perf_control m_perf_control;
};
#ifdef _UBWC_
diff --git a/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp b/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp
index 47072c57..964be762 100644
--- a/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp
+++ b/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp
@@ -50,79 +50,6 @@ void *get_omx_component_factory_fn(void)
return(new omx_venc);
}
-omx_venc::perf_control::perf_control()
-{
- m_perf_lib = NULL;
- m_perf_lock_acquire = NULL;
- m_perf_lock_release = NULL;
- m_perf_handle = 0;
-}
-
-omx_venc::perf_control::~perf_control()
-{
- if (m_perf_handle != 0 && m_perf_lock_release) {
- m_perf_lock_release(m_perf_handle);
- }
- if (m_perf_lib) {
- dlclose(m_perf_lib);
- }
-}
-
-void omx_venc::perf_control::send_hint_to_mpctl(bool state)
-{
- if (load_lib() == false) {
- return;
- }
- /* 0x4601 maps to video encode callback in
- * perflock, 46 is the enum number, 01 is
- * the state being sent when perflock
- * acquire succeeds
- */
- int arg = 0x4601;
-
- if (m_perf_lock_acquire && state == true) {
- m_perf_handle = m_perf_lock_acquire(0, 0, &arg, sizeof(arg) / sizeof(int));
- DEBUG_PRINT_INFO("Video encode perflock acquired,handle=%d",m_perf_handle);
- } else if (m_perf_lock_release && state == false) {
- m_perf_lock_release(m_perf_handle);
- DEBUG_PRINT_INFO("Video encode perflock released");
- }
-}
-
-bool omx_venc::perf_control::load_lib()
-{
- char perf_lib_path[PROPERTY_VALUE_MAX] = {0};
- if (m_perf_lib)
- return true;
-
- if ((property_get("ro.vendor.extension_library", perf_lib_path, NULL) <= 0)) {
- DEBUG_PRINT_ERROR("vendor library not set in ro.vendor.extension_library");
- goto handle_err;
- }
- if ((m_perf_lib = dlopen(perf_lib_path, RTLD_NOW)) == NULL) {
- DEBUG_PRINT_ERROR("Failed to open %s : %s",perf_lib_path, dlerror());
- goto handle_err;
- } else {
- m_perf_lock_acquire = (perf_lock_acquire_t)dlsym(m_perf_lib, "perf_lock_acq");
- if (m_perf_lock_acquire == NULL) {
- DEBUG_PRINT_ERROR("Failed to load symbol: perf_lock_acq");
- goto handle_err;
- }
- m_perf_lock_release = (perf_lock_release_t)dlsym(m_perf_lib, "perf_lock_rel");
- if (m_perf_lock_release == NULL) {
- DEBUG_PRINT_ERROR("Failed to load symbol: perf_lock_rel");
- goto handle_err;
- }
- }
- return true;
-
-handle_err:
- if(m_perf_lib != NULL) {
- dlclose(m_perf_lib);
- }
- return false;
-}
-
//constructor
omx_venc::omx_venc()
@@ -150,13 +77,11 @@ omx_venc::omx_venc()
property_get("vidc.debug.lowlatency", property_value, "0");
lowlatency = atoi(property_value);
property_value[0] = '\0';
- m_perf_control.send_hint_to_mpctl(true);
}
omx_venc::~omx_venc()
{
get_syntaxhdr_enable = false;
- m_perf_control.send_hint_to_mpctl(false);
//nothing to do
}