Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

Dynamic FPS Setting in capture_encode demo with ezsdk_5_05_01_04 not working

$
0
0

Hello TI,

We are using TI8148 EVM board, we are playing with capture_encode demo example available in ezsdk_5_05_01_04. We are able to set bit-rate run time using dynamic parameters but unable to set frame-rate run-time using dynamic parameters.

Here is my code,

This is working in case of bit-rate:

      OMX_INIT_PARAM (&tDynParams);

      tDynParams.nPortIndex = OMX_VIDENC_OUTPUT_PORT;

      eError = OMX_GetConfig (pAppData->pEncHandle, OMX_TI_IndexParamVideoDynamicParams,
                              &tDynParams);

      /* setting bit-rate */
      tDynParams.videoDynamicParams.h264EncDynamicParams.videnc2DynamicParams.targetBitRate = bitrate*1000;
      tDynParams.videoDynamicParams.h264EncDynamicParams.videnc2DynamicParams.forceFrame = IVIDEO_IDR_FRAME;

      eError = OMX_SetConfig (pAppData->pEncHandle, OMX_TI_IndexParamVideoDynamicParams,
                              &tDynParams);
      if (eError != OMX_ErrorNone)
      {
        ERROR ("failed to set bit-rate\n");
      }
      else
      {
        printf ("Set encoder bit-rate to %d kbps\n", bitrate);
      }

This is not working in case of frame-rate:

      OMX_INIT_PARAM (&tDynParams);

      tDynParams.nPortIndex = OMX_VIDENC_OUTPUT_PORT;

      eError = OMX_GetConfig (pAppData->pEncHandle, OMX_TI_IndexParamVideoDynamicParams,
                              &tDynParams);

      /* setting target frame-rate */
      tDynParams.videoDynamicParams.h264EncDynamicParams.videnc2DynamicParams.targetFrameRate = framerate*1000;
      tDynParams.videoDynamicParams.h264EncDynamicParams.videnc2DynamicParams.forceFrame = IVIDEO_IDR_FRAME;

      eError = OMX_SetConfig (pAppData->pEncHandle, OMX_TI_IndexParamVideoDynamicParams,
                              &tDynParams);
      if (eError != OMX_ErrorNone)
      {
        ERROR ("failed to set frame-rate\n");
      }
      else
      {
        printf ("Set encoder target frame-rate to %d fps\n", framerate);
      }

I also tried with,

      OMX_CONFIG_FRAMERATETYPE frameRateType;

      OMX_INIT_PARAM (&frameRateType);
      frameRateType.nPortIndex = OMX_VIDENC_OUTPUT_PORT;

      eError = OMX_GetConfig (pAppData->pEncHandle, OMX_IndexConfigVideoFramerate,
                              &frameRateType);

      frameRateType.xEncodeFramerate = framerate << 16;
      eError = OMX_SetConfig (pAppData->pEncHandle, OMX_IndexConfigVideoFramerate,
                              &frameRateType);
      if (eError != OMX_ErrorNone)
      {
        ERROR ("failed to set frame-rate\n");
      }
      else
      {
        printf ("Set encoder target frame-rate to %d fps\n", framerate);
      }

Is there any other settings that i need to do ? Your quick help/guide will move me ahead in my development.

Many thanks,

Hitesh


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>