diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2021-09-26 23:49:04 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2021-09-26 23:49:04 -0700 |
commit | b95b0af91d939235f27ce8a80b1d90435aad3f33 (patch) | |
tree | cf7a1fa2598f92a870cb225d0c28ed3f7b13a223 | |
parent | 839a9bfa1be6950512d0b3b669976e9ac46f4190 (diff) | |
parent | ffa05f19e1ff765b6d345a079241217537b7ccb6 (diff) |
Merge ffa05f19e1ff765b6d345a079241217537b7ccb6 on remote branch
Change-Id: I6e2791855ebbf528090d74a521f82816718bed56
-rw-r--r-- | conf_files/bengal/media_codecs_performance_khaje.xml | 4 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/venc/inc/omx_video_base.h | 1 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/venc/src/omx_video_base.cpp | 15 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp | 1 |
4 files changed, 19 insertions, 2 deletions
diff --git a/conf_files/bengal/media_codecs_performance_khaje.xml b/conf_files/bengal/media_codecs_performance_khaje.xml index aaec5e30..98480a27 100644 --- a/conf_files/bengal/media_codecs_performance_khaje.xml +++ b/conf_files/bengal/media_codecs_performance_khaje.xml @@ -100,7 +100,7 @@ limitations under the License. <Limit name="measured-frame-rate-3840x2160" range="65-75" /> </MediaCodec> <MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true"> - <Limit name="measured-frame-rate-176x144" range="356-356" /> + <Limit name="measured-frame-rate-176x144" range="830-1280" /> <Limit name="measured-frame-rate-352x288" range="292-292" /> </MediaCodec> <MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true"> @@ -165,7 +165,7 @@ limitations under the License. <Limit name="measured-frame-rate-176x144" range="406-543" /> </MediaCodec> <MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true"> - <Limit name="measured-frame-rate-320x180" range="160-480" /> + <Limit name="measured-frame-rate-320x180" range="950-965" /> <Limit name="measured-frame-rate-640x360" range="133-184" /> <Limit name="measured-frame-rate-1920x1080" range="15-22" /> </MediaCodec> diff --git a/mm-video-v4l2/vidc/venc/inc/omx_video_base.h b/mm-video-v4l2/vidc/venc/inc/omx_video_base.h index a63edd54..9b892351 100644 --- a/mm-video-v4l2/vidc/venc/inc/omx_video_base.h +++ b/mm-video-v4l2/vidc/venc/inc/omx_video_base.h @@ -232,6 +232,7 @@ class omx_video: public qc_omx_component ColorConvertFormat mC2dDestFmt; OMX_U32 mC2DFrameHeight; OMX_U32 mC2DFrameWidth; + bool is_stop_in_progress; omx_video(); // constructor virtual ~omx_video(); // destructor diff --git a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp index 3532f505..60951d45 100644 --- a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp +++ b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp @@ -287,6 +287,7 @@ omx_video::omx_video(): async_thread_created = false; msg_thread_created = false; msg_thread_stop = false; + is_stop_in_progress = false; OMX_INIT_STRUCT(&m_blurInfo, OMX_QTI_VIDEO_CONFIG_BLURINFO); m_blurInfo.nPortIndex == (OMX_U32)PORT_INDEX_IN; @@ -663,6 +664,7 @@ void omx_video::process_event_cb(void *ctxt) } } + is_stop_in_progress = false; break; case OMX_COMPONENT_GENERATE_HARDWARE_ERROR: @@ -4064,6 +4066,14 @@ OMX_ERRORTYPE omx_video::empty_this_buffer_proxy(OMX_IN OMX_HANDLETYPE hComp, DEBUG_PRINT_ERROR("ERROR: ETBProxy: Input flush in progress"); return OMX_ErrorNone; } + + if (is_stop_in_progress == true) { + post_event ((unsigned long)buffer,0, + OMX_COMPONENT_GENERATE_EBD); + DEBUG_PRINT_ERROR("ERROR: ETBProxy: stop in progress"); + return OMX_ErrorNone; + } + if (!meta_mode_enable) { fd = m_pInput_pmem[nBufIndex].fd; } @@ -4893,6 +4903,11 @@ bool omx_video::alloc_map_ion_memory(int size, venc_ion *ion_info, int flag) return false; } + if (is_stop_in_progress) { + DEBUG_PRINT_ERROR("Stop in progress: do not allocate any memory"); + return false; + } + ion_info->data_fd = -1; ion_info->dev_fd = ion_open(); if (ion_info->dev_fd <= 0) { 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 fb93713f..b4607450 100644 --- a/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp +++ b/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp @@ -2444,6 +2444,7 @@ int omx_venc::async_message_process (void *context, void* message) OMX_COMPONENT_GENERATE_START_DONE); break; case VEN_MSG_STOP: + omx->is_stop_in_progress = true; omx->post_event (0,m_sVenc_msg->statuscode,\ OMX_COMPONENT_GENERATE_STOP_DONE); break; |