+++ /dev/null
-From 8c2356e38c9a51356a9f0eacf08f4de6521ad0bd Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dave.stevenson@raspberrypi.com>
-Date: Sun, 13 Dec 2020 16:45:58 +0000
-Subject: [PATCH] staging/vc04_services/codec: Add support for CID
- MPEG_HEADER_MODE
-
-Control V4L2_CID_MPEG_VIDEO_HEADER_MODE controls whether the encoder
-is meant to emit the header bytes as a separate packet or with the
-first encoded frame.
-Add support for it.
-
-Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
----
- .../bcm2835-codec/bcm2835-v4l2-codec.c | 18 +++++++++++++++++-
- 1 file changed, 17 insertions(+), 1 deletion(-)
-
---- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
-+++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
-@@ -1692,6 +1692,17 @@ static int bcm2835_codec_s_ctrl(struct v
- sizeof(ctrl->val));
- break;
-
-+ case V4L2_CID_MPEG_VIDEO_HEADER_MODE:
-+ if (!ctx->component)
-+ break;
-+
-+ ret = vchiq_mmal_port_parameter_set(ctx->dev->instance,
-+ &ctx->component->output[0],
-+ MMAL_PARAMETER_VIDEO_ENCODE_HEADERS_WITH_FRAME,
-+ &ctrl->val,
-+ sizeof(ctrl->val));
-+ break;
-+
- case V4L2_CID_MPEG_VIDEO_H264_I_PERIOD:
- if (!ctx->component)
- break;
-@@ -1963,6 +1974,7 @@ static int bcm2835_codec_set_ctrls(struc
- const u32 control_ids[] = {
- V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
- V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER,
-+ V4L2_CID_MPEG_VIDEO_HEADER_MODE,
- V4L2_CID_MPEG_VIDEO_H264_I_PERIOD,
- V4L2_CID_MPEG_VIDEO_H264_LEVEL,
- V4L2_CID_MPEG_VIDEO_H264_PROFILE,
-@@ -2515,7 +2527,7 @@ static int bcm2835_codec_open(struct fil
- hdl = &ctx->hdl;
- if (dev->role == ENCODE) {
- /* Encode controls */
-- v4l2_ctrl_handler_init(hdl, 7);
-+ v4l2_ctrl_handler_init(hdl, 9);
-
- v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops,
- V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
-@@ -2525,6 +2537,10 @@ static int bcm2835_codec_open(struct fil
- V4L2_CID_MPEG_VIDEO_BITRATE,
- 25 * 1000, 25 * 1000 * 1000,
- 25 * 1000, 10 * 1000 * 1000);
-+ v4l2_ctrl_new_std_menu(hdl, &bcm2835_codec_ctrl_ops,
-+ V4L2_CID_MPEG_VIDEO_HEADER_MODE,
-+ V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME,
-+ 0, V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME);
- v4l2_ctrl_new_std(hdl, &bcm2835_codec_ctrl_ops,
- V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER,
- 0, 1,