Skip to content
Snippets Groups Projects
Commit 27c89341 authored by Ezequiel Garcia's avatar Ezequiel Garcia
Browse files

Clean V4L2 private controls

parent c2d5b530
Branches
Tags
No related merge requests found
...@@ -228,7 +228,7 @@ static void *plugin_init(int fd) ...@@ -228,7 +228,7 @@ static void *plugin_init(int fd)
queue_init(&ctx->pending_buffers); queue_init(&ctx->pending_buffers);
memset(&ext_ctrl, 0, sizeof(ext_ctrl)); memset(&ext_ctrl, 0, sizeof(ext_ctrl));
ext_ctrl.id = V4L2_CID_PRIVATE_HANTRO_RET_PARAMS; ext_ctrl.id = V4L2_CID_PRIVATE_HANTRO_H1_H264_PARAMS;
ret = SYS_IOCTL(fd, VIDIOC_QUERY_EXT_CTRL, &ext_ctrl); ret = SYS_IOCTL(fd, VIDIOC_QUERY_EXT_CTRL, &ext_ctrl);
if (ret) { if (ret) {
goto fail; goto fail;
...@@ -443,14 +443,13 @@ static int ioctl_dqbuf_locked(struct encoder_context *ctx, int fd, ...@@ -443,14 +443,13 @@ static int ioctl_dqbuf_locked(struct encoder_context *ctx, int fd,
if (bytesused) { if (bytesused) {
rk_vepu_assemble_bitstream(ctx->enc, fd, buffer); rk_vepu_assemble_bitstream(ctx->enc, fd, buffer);
/* TODO: Move to codec specific code? */
memset(ctx->get_param_payload, 0, ctx->get_param_payload_size); memset(ctx->get_param_payload, 0, ctx->get_param_payload_size);
memset(&v4l2_ctrl, 0, sizeof(v4l2_ctrl)); memset(&v4l2_ctrl, 0, sizeof(v4l2_ctrl));
v4l2_ctrl.id = V4L2_CID_PRIVATE_HANTRO_RET_PARAMS; v4l2_ctrl.id = V4L2_CID_PRIVATE_HANTRO_H1_H264_FEEDBACK;
v4l2_ctrl.size = ctx->get_param_payload_size; v4l2_ctrl.size = ctx->get_param_payload_size;
v4l2_ctrl.ptr = ctx->get_param_payload; v4l2_ctrl.ptr = ctx->get_param_payload;
memset(&ext_ctrls, 0, sizeof(ext_ctrls)); memset(&ext_ctrls, 0, sizeof(ext_ctrls));
/* TODO: change this to config_store after the header is
* updated. */
ext_ctrls.ctrl_class = 0; ext_ctrls.ctrl_class = 0;
ext_ctrls.count = 1; ext_ctrls.count = 1;
ext_ctrls.controls = &v4l2_ctrl; ext_ctrls.controls = &v4l2_ctrl;
...@@ -507,7 +506,7 @@ static int ioctl_s_ext_ctrls_locked(struct encoder_context *ctx, int fd, ...@@ -507,7 +506,7 @@ static int ioctl_s_ext_ctrls_locked(struct encoder_context *ctx, int fd,
case V4L2_CID_MPEG_VIDEO_BITRATE: case V4L2_CID_MPEG_VIDEO_BITRATE:
runtime_param_ptr->bitrate = ext_ctrls->controls[i].value; runtime_param_ptr->bitrate = ext_ctrls->controls[i].value;
break; break;
case V4L2_CID_MPEG_VIDEO_H264_SPS_PPS_BEFORE_IDR: case V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR:
ctx->init_param.h264e.h264_sps_pps_before_idr = ctx->init_param.h264e.h264_sps_pps_before_idr =
ext_ctrls->controls[i].value; ext_ctrls->controls[i].value;
break; break;
......
...@@ -490,7 +490,7 @@ static int h264e_init(struct rk_venc *ictx, ...@@ -490,7 +490,7 @@ static int h264e_init(struct rk_venc *ictx,
if (ctx->pps.transform_8x8_mode_flag == 2) if (ctx->pps.transform_8x8_mode_flag == 2)
ctx->pps.transform_8x8_mode_flag = 1; ctx->pps.transform_8x8_mode_flag = 1;
ctx->rk_ctrl_ids[0] = V4L2_CID_PRIVATE_HANTRO_REG_PARAMS; ctx->rk_ctrl_ids[0] = V4L2_CID_PRIVATE_HANTRO_H1_H264_PARAMS;
h264e_build_stream_header(ictx); h264e_build_stream_header(ictx);
......
...@@ -18,14 +18,13 @@ ...@@ -18,14 +18,13 @@
#include <stdint.h> #include <stdint.h>
#define V4L2_CID_USER_HANTRO_ENCODER_BASE (V4L2_CID_USER_BASE + 0x2000) #define V4L2_CID_USER_HANTRO_ENCODER_BASE (V4L2_CID_USER_BASE + 0x2000)
#define V4L2_CID_PRIVATE_HANTRO_HEADER (V4L2_CID_USER_HANTRO_ENCODER_BASE + 0) #define V4L2_CID_PRIVATE_HANTRO_H1_H264_PARAMS (V4L2_CID_USER_HANTRO_ENCODER_BASE + 1)
#define V4L2_CID_PRIVATE_HANTRO_REG_PARAMS (V4L2_CID_USER_HANTRO_ENCODER_BASE + 1) #define V4L2_CID_PRIVATE_HANTRO_H1_H264_FEEDBACK (V4L2_CID_USER_HANTRO_ENCODER_BASE + 2)
#define V4L2_CID_PRIVATE_HANTRO_HW_PARAMS (V4L2_CID_USER_HANTRO_ENCODER_BASE + 2)
#define V4L2_CID_PRIVATE_HANTRO_RET_PARAMS (V4L2_CID_USER_HANTRO_ENCODER_BASE + 3)
#ifndef V4L2_CID_MPEG_VIDEO_H264_SPS_PPS_BEFORE_IDR #define V4L2_CID_PRIVATE_HANTRO_H1_VP8_HEADER (V4L2_CID_USER_HANTRO_ENCODER_BASE + 10)
#define V4L2_CID_MPEG_VIDEO_H264_SPS_PPS_BEFORE_IDR (V4L2_CID_MPEG_BASE+388) #define V4L2_CID_PRIVATE_HANTRO_H1_VP8_REG_PARAMS (V4L2_CID_USER_HANTRO_ENCODER_BASE + 11)
#endif #define V4L2_CID_PRIVATE_HANTRO_H1_VP8_HW_PARAMS (V4L2_CID_USER_HANTRO_ENCODER_BASE + 12)
#define V4L2_CID_PRIVATE_HANTRO_H1_VP8_RET_PARAMS (V4L2_CID_USER_HANTRO_ENCODER_BASE + 13)
/* The maximum number of controls returned by rk_vepu_get_config(). */ /* The maximum number of controls returned by rk_vepu_get_config(). */
#define MAX_NUM_GET_CONFIG_CTRLS 5 #define MAX_NUM_GET_CONFIG_CTRLS 5
......
...@@ -88,9 +88,9 @@ static int vp8e_init(struct rk_venc *ictx, ...@@ -88,9 +88,9 @@ static int vp8e_init(struct rk_venc *ictx,
return -1; return -1;
} }
ctx->rk_ctrl_ids[0] = V4L2_CID_PRIVATE_HANTRO_HEADER; ctx->rk_ctrl_ids[0] = V4L2_CID_PRIVATE_HANTRO_H1_VP8_HEADER;
ctx->rk_ctrl_ids[1] = V4L2_CID_PRIVATE_HANTRO_REG_PARAMS; ctx->rk_ctrl_ids[1] = V4L2_CID_PRIVATE_HANTRO_H1_VP8_REG_PARAMS;
ctx->rk_ctrl_ids[2] = V4L2_CID_PRIVATE_HANTRO_HW_PARAMS; ctx->rk_ctrl_ids[2] = V4L2_CID_PRIVATE_HANTRO_H1_VP8_HW_PARAMS;
return 0; return 0;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment