diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c index 56510b9ff..cbf2f93d3 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c @@ -1207,6 +1207,20 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3 //static UINT32 u32Cnt = 0; switch ((UINT32)event_id) { + + case MOVIE_USER_CB_EVENT_SET_ENC_RC_INFO: { + HD_H26XENC_RATE_CONTROL2 *ptr = (HD_H26XENC_RATE_CONTROL2 *)value; + if (id == _CFG_REC_ID_1 || id == _CFG_CLONE_ID_1) { + ptr->rc_mode = HD_RC_MODE_VBR; + ptr->vbr.init_i_qp = 26; + ptr->vbr.max_i_qp = 51; + ptr->vbr.min_i_qp = 1; + ptr->vbr.init_p_qp = 26; + ptr->vbr.max_p_qp = 51; + ptr->vbr.min_p_qp = 1; + } + } + break; #if 0 case MOVIE_USER_CB_EVENT_REC_ONE_SECOND: { u32Cnt++; @@ -2284,12 +2298,6 @@ static void MovieFast_Close(void) while(1) { - if(PhotoFast_Sliceencode2_Enq_Frame(&frame) == E_OK){ - break; - } - else{ - vos_util_delay_ms(5); - } vos_perf_mark(&t2); if((vos_perf_duration(t1, t2) / 1000) > (20*1000)) { @@ -2297,6 +2305,12 @@ static void MovieFast_Close(void) DBG_ERR("failed es timeout\n"); goto EXIT; } + if(PhotoFast_Sliceencode2_Enq_Frame(&frame) == E_OK){ + break; + } + else{ + vos_util_delay_ms(5); + } } }