summaryrefslogtreecommitdiffstats
path: root/module/imx-vpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'module/imx-vpu.c')
-rw-r--r--module/imx-vpu.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/module/imx-vpu.c b/module/imx-vpu.c
index 63adede..3ce3f77 100644
--- a/module/imx-vpu.c
+++ b/module/imx-vpu.c
@@ -649,7 +649,7 @@ static int noinline vpu_enc_get_initial_info(struct vpu_instance *instance)
data = (instance->width << regs->bit_pic_width_offset) | instance->height;
vpu_write(vpu, CMD_ENC_SEQ_SRC_SIZE, data);
- vpu_write(vpu, CMD_ENC_SEQ_SRC_F_RATE, 0x03e87530); /* 0x03e87530 */
+ vpu_write(vpu, CMD_ENC_SEQ_SRC_F_RATE, 0x0); /* 0x03e87530 */
if (instance->standard == STD_MPEG4) {
u32 mp4_intraDcVlcThr = 7;
@@ -789,6 +789,13 @@ static int noinline vpu_enc_get_initial_info(struct vpu_instance *instance)
if (vpu_wait(vpu))
return -EINVAL;
+ vpu_write(vpu, BIT_BUSY_FLAG, 0x1);
+ vpu_write(vpu, CMD_ENC_SEQ_PARA_CHANGE_ENABLE, 1 << 3);
+ vpu_write(vpu, CMD_ENC_SEQ_PARA_RC_FRAME_RATE, 0x0);
+ vpu_bit_issue_command(instance, RC_CHANGE_PARAMETER);
+ if (vpu_wait(vpu))
+ return -EINVAL;
+
if (instance->standard == STD_MPEG4) {
ret = encode_header(instance, VOS_HEADER);
ret |= encode_header(instance, VIS_HEADER);