diff options
author | Praneeth Paladugu <ppaladug@codeaurora.org> | 2017-06-22 19:02:18 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-06-26 13:40:01 -0700 |
commit | 06cc2f67f27b60f4a006b50a7b8525b831d173df (patch) | |
tree | 20264e6533b12a33f15b6b88056cd19f8fb08082 /mm-video-v4l2 | |
parent | 23c68e8b4f4641845173dc39225719b6c85a30fd (diff) | |
download | media-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.h | 49 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp | 108 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/venc/inc/omx_video_encoder.h | 15 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp | 75 |
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 } |