You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
From fef7ce28d5ae5b38e4914b1cc54742ae16133807 Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|
Date: Mon, 18 Feb 2019 15:56:42 +0000
|
|
Subject: [PATCH] staging: bcm2835_codec: Include timing info in SPS
|
|
headers
|
|
|
|
Inserting timing information into the VUI block of the SPS is
|
|
optional with the VPU encoder.
|
|
GStreamer appears to require them when using V4L2 M2M, therefore
|
|
set the option to enable them from the encoder.
|
|
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|
---
|
|
.../vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 12 ++++++++++++
|
|
1 file changed, 12 insertions(+)
|
|
|
|
--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
|
|
+++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
|
|
@@ -1785,6 +1785,8 @@ static int bcm2835_codec_create_componen
|
|
goto destroy_component;
|
|
|
|
if (dev->role == ENCODE) {
|
|
+ u32 param = 1;
|
|
+
|
|
if (ctx->q_data[V4L2_M2M_SRC].sizeimage <
|
|
ctx->component->output[0].minimum_buffer.size)
|
|
v4l2_err(&dev->v4l2_dev, "buffer size mismatch sizeimage %u < min size %u\n",
|
|
@@ -1793,6 +1795,16 @@ static int bcm2835_codec_create_componen
|
|
|
|
/* Now we have a component we can set all the ctrls */
|
|
bcm2835_codec_set_ctrls(ctx);
|
|
+
|
|
+ /* Enable SPS Timing header so framerate information is encoded
|
|
+ * in the H264 header.
|
|
+ */
|
|
+ vchiq_mmal_port_parameter_set(
|
|
+ ctx->dev->instance,
|
|
+ &ctx->component->output[0],
|
|
+ MMAL_PARAMETER_VIDEO_ENCODE_SPS_TIMING,
|
|
+ ¶m, sizeof(param));
|
|
+
|
|
} else {
|
|
if (ctx->q_data[V4L2_M2M_DST].sizeimage <
|
|
ctx->component->output[0].minimum_buffer.size)
|