summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2021-09-26 23:49:04 -0700
committerLinux Build Service Account <lnxbuild@localhost>2021-09-26 23:49:04 -0700
commitb95b0af91d939235f27ce8a80b1d90435aad3f33 (patch)
treecf7a1fa2598f92a870cb225d0c28ed3f7b13a223
parent839a9bfa1be6950512d0b3b669976e9ac46f4190 (diff)
parentffa05f19e1ff765b6d345a079241217537b7ccb6 (diff)
Merge ffa05f19e1ff765b6d345a079241217537b7ccb6 on remote branch
Change-Id: I6e2791855ebbf528090d74a521f82816718bed56
-rw-r--r--conf_files/bengal/media_codecs_performance_khaje.xml4
-rw-r--r--mm-video-v4l2/vidc/venc/inc/omx_video_base.h1
-rw-r--r--mm-video-v4l2/vidc/venc/src/omx_video_base.cpp15
-rw-r--r--mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp1
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;