From e92afc48149b0dfa385cb58e9981b9d80fbb40fe Mon Sep 17 00:00:00 2001 From: Dane Liu Date: Thu, 15 Dec 2016 17:24:06 +0800 Subject: [PATCH] omxh265enc: add setting iframeinterval add the flow of setting iframeinterval to encoder bug 1853397 Change-Id: I28575d410d32ff4539cad00624b250f4f0387ba2 Reviewed-on: http://git-master/r/1271752 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Tested-by: Dane Liu Reviewed-by: Swapnil Rathi Reviewed-by: Kaustubh Purandare --- omx/gstomxh265enc.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/omx/gstomxh265enc.c b/omx/gstomxh265enc.c index 4968d2b..5e4f351 100644 --- a/omx/gstomxh265enc.c +++ b/omx/gstomxh265enc.c @@ -659,5 +659,24 @@ gst_omx_h265_enc_set_params (GstOMXVideoEnc * enc) eIndex, &oEncodeProp); } } + + if (enc->iframeinterval != 0xffffffff) { + OMX_VIDEO_PARAM_HEVCTYPE oH265Type; + + GST_OMX_INIT_STRUCT (&oH265Type); + oH265Type.nPortIndex = 0; + + eError = + gst_omx_component_get_parameter (GST_OMX_VIDEO_ENC (self)->enc, + OMX_IndexParamVideoHevc, &oH265Type); + if (eError == OMX_ErrorNone) { + if (enc->iframeinterval != 0) + oH265Type.nPFrames = enc->iframeinterval - 1; + eError = + gst_omx_component_set_parameter (GST_OMX_VIDEO_ENC (self)->enc, + OMX_IndexParamVideoHevc, &oH265Type); + } + } + return eError; } -- 2.1.4