Hello, I'm using the H264 encoder on a Froyo HTC Desire. Parsing the generated 3GP stream allows to identify individual frames, and their timing.
Now it turns out that: (1) MediaRecorder.setVideoFrameRate() doesn't affect the average frame rate, which is always close to 17fps, regardless of the asked rate from 4 to 30 fps. (2) In the logs I get contradictory messages (example for an asked rate of 15 fps): 08-30 16:07:48.198 E/VENC_ENC( 68): VENC_ERROR update_param_port_def::1651 Frame rate is for input port (refer to OMX IL spec) but also: 08-30 16:07:48.602 E/VENC_ENC( 68): ven_print_config::348 config frame_numerator=15, fps_denominator=1, bitrate=420000 (3) By parsing the H264 NALU types, I do see the effect of varied MediaRecorder.setVideoFrameRate() values: they affect the IDR relative rate (~GOP size): - asked value 4: one IDR frame for 3 non-IDR frames - asked value 15: one IDR frame for 14 non-IDR frames - asked value 30: one IDR frame for 29 non-IDR frames All this smells like there is a bug while crossing all the API layers, passing one parameter for another. Of course I cannot say before Froyo, because in 2.1 the H264 encoder on the Desire was broken/missing. Any insight on this ? Workaround ? -Alex -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en