diff options
Diffstat (limited to 'msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp')
-rw-r--r-- | msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp index 6e7e05a..9c71157 100644 --- a/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp +++ b/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp @@ -1910,6 +1910,19 @@ OMX_ERRORTYPE omx_video::get_parameter(OMX_IN OMX_HANDLETYPE hComp, memcpy(initqp, &m_sParamInitqp, sizeof(m_sParamInitqp)); break; } + case OMX_IndexParamAndroidVideoTemporalLayering: + { + VALIDATE_OMX_PARAM_DATA(paramData, OMX_VIDEO_PARAM_ANDROID_TEMPORALLAYERINGTYPE); + OMX_VIDEO_PARAM_ANDROID_TEMPORALLAYERINGTYPE *pLayerInfo = + reinterpret_cast<OMX_VIDEO_PARAM_ANDROID_TEMPORALLAYERINGTYPE*>(paramData); + if (!dev_get_temporal_layer_caps(&m_sParamTemporalLayers.nLayerCountMax, + &m_sParamTemporalLayers.nBLayerCountMax)) { + DEBUG_PRINT_ERROR("Failed to get temporal layer capabilities"); + eRet = OMX_ErrorHardware; + } + memcpy(pLayerInfo, &m_sParamTemporalLayers, sizeof(m_sParamTemporalLayers)); + break; + } case OMX_IndexParamVideoSliceFMO: default: { @@ -2042,6 +2055,14 @@ OMX_ERRORTYPE omx_video::get_config(OMX_IN OMX_HANDLETYPE hComp, memcpy(pParam, &m_sConfigIntraRefresh, sizeof(m_sConfigIntraRefresh)); break; } + case OMX_IndexParamAndroidVideoTemporalLayering: + { + VALIDATE_OMX_PARAM_DATA(configData, OMX_VIDEO_CONFIG_ANDROID_TEMPORALLAYERINGTYPE); + OMX_VIDEO_CONFIG_ANDROID_TEMPORALLAYERINGTYPE *layerConfig = + (OMX_VIDEO_CONFIG_ANDROID_TEMPORALLAYERINGTYPE *)configData; + memcpy(configData, &m_sConfigTemporalLayers, sizeof(m_sConfigTemporalLayers)); + break; + } default: DEBUG_PRINT_ERROR("ERROR: unsupported index %d", (int) configIndex); return OMX_ErrorUnsupportedIndex; |