Hi,
I cannot change IDR/I-frame periodicity through extra-controls
parameters (gop
and i_frame_period
).
Related:
I’ve been checking the upstream venus driver and looks more up-to-date than the one available in landing-teams (linaro git). But I couldn’t find any fix for this.
release/qcomlt-4.14:
https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/tree/drivers/media/platform/qcom/venus/venc.c?h=release/qcomlt-4.14#n715
Mainline:
https://elixir.bootlin.com/linux/v5.3-rc8/source/drivers/media/platform/qcom/venus/venc.c#L702
The issue is about getting key_frames with V4L2 controls: _GOP_SIZE
and _I_FRAME_PERIOD
- encoder pipeline snippet:
v4l2h264enc \
extra-controls="controls,h264_profile=4,video_bitrate_mode=0,video_peak_bitrate=25000000,h264_i_frame_period=3,h264_i_frame_period=3,video_gop_size=3;" ! \
Is the pipeline correct? Why I’m only getting the first key_frame as I-frame while I’m setting i_frame_period
to 3? Not sure if I’m missing an extra control or need a fix for it.