From 9441dde68a75cf98be8a59b711349c876af9cf44 Mon Sep 17 00:00:00 2001 From: Iwan Timmer Date: Fri, 17 Mar 2017 15:19:54 +0000 Subject: [PATCH] Configure latency target for video output on Raspberry Pi --- src/video/pi.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/video/pi.c b/src/video/pi.c index d3c9997..8784e75 100644 --- a/src/video/pi.c +++ b/src/video/pi.c @@ -120,6 +120,24 @@ int void decoder_renderer_setup(int videoFormat, int width, int height, int redr return -2; } + OMX_CONFIG_LATENCYTARGETTYPE latencyTarget; + memset(&latencyTarget, 0, sizeof(OMX_CONFIG_LATENCYTARGETTYPE)); + latencyTarget.nSize = sizeof(OMX_PARAM_PORTDEFINITIONTYPE); + latencyTarget.nVersion.nVersion = OMX_VERSION; + latencyTarget.nPortIndex = 90; + latencyTarget.bEnabled = OMX_TRUE; + latencyTarget.nFilter = 2; + latencyTarget.nTarget = 4000; + latencyTarget.nShift = 3; + latencyTarget.nSpeedFactor = -135; + latencyTarget.nInterFactor = 500; + latencyTarget.nAdjCap = 20; + + if(OMX_SetParameter(ILC_GET_HANDLE(video_render), OMX_IndexConfigLatencyTarget, &latencyTarget) != OMX_ErrorNone) { + fprintf(stderr, "Failed to set video render parameters\n"); + exit(EXIT_FAILURE); + } + OMX_PARAM_PORTDEFINITIONTYPE port; memset(&port, 0, sizeof(OMX_PARAM_PORTDEFINITIONTYPE));