B-frames support related query

Hi,

We are working on a product based on APQ8016E (SD410c) and using Linaro release for our development purpose.

We have an query regarding the B-frames (Venus encoders).
In case of:
https://git.linaro.org/people/loic.poulain/linux.git/commit/drivers/media/platform/qcom/venus?h=qcomlt-5.7-wifi&id=8fc58186bb41ff8789ad9e993c03a23d67698709

If it’s already inside - then it doesn’t work. We couldn’t create any video with B-frames in it.
All our attempts to use video_b_frames parameter ended up with videos with only I-frames in them.

Here are examples that we tried:
gst-launch-1.0 -e --gst-debug-level=3 v4l2src device=/dev/video0 ! video/x-raw,format=UYVY,width=1280,height=720 ! videoconvert ! v4l2h264enc extra-controls=“control,video_gop_size=12,h264_profile=4,h264_level=11,video_bitrate=4000000,video_peak_bitrate=5000000,video_b_frames=1;” ! h264parse ! mp4mux ! filesink location=cam_g2_b4p5_impr2.mp4
gst-launch-1.0 -e --gst-debug-level=3 v4l2src device=/dev/video0 ! video/x-raw,format=UYVY,width=1280,height=720 ! videoconvert ! v4l2h264enc extra-controls=“control,video_gop_size=12,h264_profile=4,h264_level=11,video_bitrate=4000000,video_peak_bitrate=5000000,video_b_frames=3;” ! h264parse ! mp4mux ! filesink location=cam_g2_b4p5_impr3.mp4

Can you please let us know, if the B-frames are supported by APQ8016E (SD410c) or not?

Regards,
Parth Y Shah

Further we have tried,

gst-launch-1.0 -e --gst-debug-level=3 v4l2src device=/dev/video0 ! video/x-raw,format=UYVY,width=1280,height=720 ! videoconvert ! v4l2h264enc extra-controls=“control,video_gop_size=12,h264_profile=4,h264_level=11,video_bitrate=4000000,video_peak_bitrate=5000000,video_b_frames=6;” ! h264parse ! mp4mux ! filesink location=cam_g2_b4p5_impr4.mp4
===> Able to see only I frames

gst-launch-1.0 -e --gst-debug-level=3 v4l2src device=/dev/video0 ! video/x-raw,format=UYVY,width=1280,height=720 ! videoconvert ! v4l2h264enc extra-controls=“control,video_gop_size=12,h264_profile=4,h264_level=11,video_bitrate=4000000,video_peak_bitrate=5000000;” ! h264parse ! mp4mux ! filesink location=cam_g2_b4p5_impr5.mp4
====> Able to see I and P frames

AFAIR video_b_frames is the maximum number of consecutive bframes, so I suggest to try a smaller value like video_b_frames=2 and also try even/odd value for the gop size to have something like ‘IBBPBBPBBPI’.

Hi @Loic

Thanks for responding. We have solved this by keeping GOP size to odd number (15).