Hi,
Does the v4l2h264enc video codec on DB820C currently support setting codec parameters (bitrate, I-frame period etc)?
I tried passing in video_gop_size or h264_i_frame_period via extra-controls but the resultant video only contained 1x I-frame at the start:
gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1,profile=high ! v4l2h264enc extra-controls="controls,h264_i_frame_period=10,video_gop_size=10" ! queue ! filesink location=/home/linaro/enc.h264
Looking for key frames in the resultant file shows that only the first frame is a key frame:
ffprobe -show_frames enc.h264 | grep key_frame
Similarly using v4l2-ctl to set the parameters then reading them back shows they haven’t taken effect:
root@linaro-alip:/home/linaro# v4l2-ctl -d /dev/video0 --get-ctrl video_gop_size
video_gop_size: 12
root@linaro-alip:/home/linaro# v4l2-ctl -d /dev/video0 --set-ctrl video_gop_size=40
root@linaro-alip:/home/linaro# v4l2-ctl -d /dev/video0 --get-ctrl video_gop_size
video_gop_size: 12
It’s the same for video_bitrate etc. Maybe set-ctrl also doesn’t work on 410C but according to messages in the 410C forum at least extra-controls should work. Are the codec parameters just not supported yet on 820C?
I’ve tried version 222 and 228, plus built my own kernel from the release/qcomlt-4.14 branch, none of them are able to set the I-frame period.
Thanks