Re: MFC: different h264 profile and level output the same size encoded result
From: Randy Li <hidden>
Date: 2016-08-29 05:59:11
Also in:
linux-arm-kernel, lkml
On 08/29/2016 01:49 PM, Andrzej Hajda wrote:
Hi, On 08/27/2016 11:55 AM, Randy Li wrote:quoted
Hi: I have been reported that the setting the profile, level and bitrate through the v4l2 extra controls would not make the encoded result different. I tried it recently, it is true. Although the h264 parser would tell me the result have been applied as different h264 profile and level, but size is the same. You may try this in Gstreamer. gst-launch-1.0 -v \ videotestsrc num-buffers=500 ! video/x-raw, width=1920,height=1080 ! \ videoconvert ! \ v4l2video4h264enc extra-controls="controls,h264_profile=1,video_bitrate=100;" ! \ h264parse ! matroskamux ! filesink location=/tmp/1.mkv Is there any way to reduce the size of MFC encoded data?There is control called rc_enable (rate control enable), it must be set to one if you want to control bitrate. This control confuses many users, I guess it cannot be removed as it is already part of UAPI, but enabling it internally by the driver if user sets bitrate, profille, etc, would make it more saner.
I see, thank you so much. A guy told me that the "frame_level_rate_control_enable=1" in _ extra-controls="encode,h264_level=10,h264_profile=4,frame_level_rate_control_enable=1,video_bitrate=2097152" would also make it works. But I really know there is a switch need to turn on.
Regards Andrzej
-- Randy Li The third produce department