@@ -72,7 +72,7 @@ generate_test_card(void *buf, OMX_U32 * filledLen, int frame)
7272static void
7373print_def (OMX_PARAM_PORTDEFINITIONTYPE def )
7474{
75- printf ("Port %lu : %s %lu/%lu %lu %lu %s,%s,%s %lux%lu %lux%lu @%lu %u\n" ,
75+ printf ("Port %u : %s %u/%u %u %u %s,%s,%s %ux%u %ux%u @%u %u\n" ,
7676 def .nPortIndex ,
7777 def .eDir == OMX_DirInput ? "in" : "out" ,
7878 def .nBufferCountActual ,
@@ -128,6 +128,7 @@ video_encode_test(char *outputfilename)
128128 }
129129 list [0 ] = video_encode ;
130130
131+ // get current settings of video_encode component from port 200
131132 memset (& def , 0 , sizeof (OMX_PARAM_PORTDEFINITIONTYPE ));
132133 def .nSize = sizeof (OMX_PARAM_PORTDEFINITIONTYPE );
133134 def .nVersion .nVersion = OMX_VERSION ;
@@ -178,6 +179,41 @@ video_encode_test(char *outputfilename)
178179 exit (1 );
179180 }
180181
182+ OMX_VIDEO_PARAM_BITRATETYPE bitrateType ;
183+ // set current bitrate to 1Mbit
184+ memset (& bitrateType , 0 , sizeof (OMX_VIDEO_PARAM_BITRATETYPE ));
185+ bitrateType .nSize = sizeof (OMX_VIDEO_PARAM_PORTFORMATTYPE );
186+ bitrateType .nVersion .nVersion = OMX_VERSION ;
187+ bitrateType .eControlRate = OMX_Video_ControlRateVariable ;
188+ bitrateType .nTargetBitrate = 1000000 ;
189+ bitrateType .nPortIndex = 201 ;
190+ r = OMX_SetParameter (ILC_GET_HANDLE (video_encode ),
191+ OMX_IndexParamVideoBitrate , & bitrateType );
192+ if (r != OMX_ErrorNone ) {
193+ printf
194+ ("%s:%d: OMX_SetParameter() for bitrate for video_encode port 201 failed with %x!\n" ,
195+ __FUNCTION__ , __LINE__ , r );
196+ exit (1 );
197+ }
198+
199+
200+ // get current bitrate
201+ memset (& bitrateType , 0 , sizeof (OMX_VIDEO_PARAM_BITRATETYPE ));
202+ bitrateType .nSize = sizeof (OMX_VIDEO_PARAM_PORTFORMATTYPE );
203+ bitrateType .nVersion .nVersion = OMX_VERSION ;
204+ bitrateType .nPortIndex = 201 ;
205+
206+ if (OMX_GetParameter
207+ (ILC_GET_HANDLE (video_encode ), OMX_IndexParamVideoBitrate ,
208+ & bitrateType ) != OMX_ErrorNone ) {
209+ printf ("%s:%d: OMX_GetParameter() for video_encode for bitrate port 201 failed!\n" ,
210+ __FUNCTION__ , __LINE__ );
211+ exit (1 );
212+ }
213+ printf ("Current Bitrate=%u\n" ,bitrateType .nTargetBitrate );
214+
215+
216+
181217 printf ("encode to idle...\n" );
182218 if (ilclient_change_component_state (video_encode , OMX_StateIdle ) == -1 ) {
183219 printf
0 commit comments