openwrt/target/linux/bcm27xx/patches-5.4/950-0738-staging-vc04_servi...

31 lines
1.2 KiB
Diff

From 1dbe31a80537e398865442562fd21d4cb3fa6dcc Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Fri, 15 May 2020 13:48:59 +0100
Subject: [PATCH] staging:vc04_services: bcm2835-camera: Request
headers with I-frame
V4L2 wishes to have the codec header bytes in the same buffer as the
first encoded frame, so it does become 1-in 1-out for encoding.
The firmware now has an option to do this, so enable it.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
.../staging/vc04_services/bcm2835-camera/bcm2835-camera.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
@@ -1762,6 +1762,12 @@ static int mmal_init(struct bm2835_mmal_
MMAL_PARAMETER_MINIMISE_FRAGMENTATION,
&enable,
sizeof(enable));
+
+ /* Enable inserting headers into the first frame */
+ vchiq_mmal_port_parameter_set(dev->instance,
+ &dev->component[COMP_VIDEO_ENCODE]->control,
+ MMAL_PARAMETER_VIDEO_ENCODE_HEADERS_WITH_FRAME,
+ &enable, sizeof(enable));
}
ret = bm2835_mmal_set_all_camera_controls(dev);
if (ret < 0) {