summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm-video-v4l2/vidc/vdec/src/omx_swvdec.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_swvdec.cpp b/mm-video-v4l2/vidc/vdec/src/omx_swvdec.cpp
index a5ebb413..b7a3d799 100644
--- a/mm-video-v4l2/vidc/vdec/src/omx_swvdec.cpp
+++ b/mm-video-v4l2/vidc/vdec/src/omx_swvdec.cpp
@@ -2860,14 +2860,23 @@ OMX_ERRORTYPE omx_swvdec::get_port_definition(
p_port_def->bEnabled = m_port_ip.enabled;
p_port_def->bPopulated = m_port_ip.populated;
+ // VTS uses input port dimensions to set OP dimensions
+ if ((retval = get_frame_dimensions_swvdec()) != OMX_ErrorNone)
+ {
+ goto get_port_definition_exit;
+ }
+
+ p_port_def->format.video.nFrameWidth = m_frame_dimensions.width;
+ p_port_def->format.video.nFrameHeight = m_frame_dimensions.height;
+
OMX_SWVDEC_LOG_HIGH("port index %d: "
- "count actual %d, count min %d, size %d",
+ "count actual %d, count min %d, size %d, %d x %d",
p_port_def->nPortIndex,
p_port_def->nBufferCountActual,
p_port_def->nBufferCountMin,
- p_port_def->nBufferSize);
-
- // frame dimensions & attributes don't apply to input port
+ p_port_def->nBufferSize,
+ p_port_def->format.video.nFrameWidth,
+ p_port_def->format.video.nFrameHeight);
p_port_def->format.video.eColorFormat = OMX_COLOR_FormatUnused;
p_port_def->format.video.eCompressionFormat = m_omx_video_codingtype;