diff --git a/inc/mpp_buffer.h b/inc/mpp_buffer.h index 5b491e5c..a48982f9 100644 --- a/inc/mpp_buffer.h +++ b/inc/mpp_buffer.h @@ -177,7 +177,7 @@ typedef struct MppBufferInfo_t { void *ptr; void *hnd; int fd; - int index; + int index; } MppBufferInfo; #define BUFFER_GROUP_SIZE_DEFAULT (SZ_1M*80) diff --git a/inc/vpu_api.h b/inc/vpu_api.h index d333f69f..8c898aca 100644 --- a/inc/vpu_api.h +++ b/inc/vpu_api.h @@ -76,7 +76,7 @@ typedef enum VPU_API_CMD { VPU_API_GET_VPUMEM_USED_COUNT, VPU_API_DEC_GETFORMAT, VPU_API_SET_OUTPUT_BLOCK, - VPU_API_DEC_GET_EOS_STATUS, + VPU_API_DEC_GET_EOS_STATUS, } VPU_API_CMD; typedef struct { diff --git a/mpp/base/mpp_buffer_impl.cpp b/mpp/base/mpp_buffer_impl.cpp index 2565b169..d9b5d1ff 100644 --- a/mpp/base/mpp_buffer_impl.cpp +++ b/mpp/base/mpp_buffer_impl.cpp @@ -293,8 +293,8 @@ MPP_RET mpp_buffer_create(const char *tag, const char *caller, group->count_unused++; buffer_group_add_log(group, p, - (group->mode == MPP_BUFFER_INTERNAL) ? (BUF_CREATE) : (BUF_COMMIT), - caller); + (group->mode == MPP_BUFFER_INTERNAL) ? (BUF_CREATE) : (BUF_COMMIT), + caller); if (buffer) { inc_buffer_ref_no_lock(p, caller); diff --git a/mpp/base/mpp_meta.cpp b/mpp/base/mpp_meta.cpp index 40b12eee..c7e6675c 100644 --- a/mpp/base/mpp_meta.cpp +++ b/mpp/base/mpp_meta.cpp @@ -90,13 +90,11 @@ private: RK_U32 node_count; public: - static MppMetaService *get_instance() - { + static MppMetaService *get_instance() { static MppMetaService instance; return &instance; } - static Mutex *get_lock() - { + static Mutex *get_lock() { static Mutex lock; return &lock; } @@ -118,9 +116,9 @@ public: }; MppMetaService::MppMetaService() - : meta_id(0), - meta_count(0), - node_count(0) + : meta_id(0), + meta_count(0), + node_count(0) { INIT_LIST_HEAD(&mlist_meta); INIT_LIST_HEAD(&mlist_node); diff --git a/mpp/codec/enc/h264/include/H264RateControl.h b/mpp/codec/enc/h264/include/H264RateControl.h index 38e39e3f..6a35ee6f 100644 --- a/mpp/codec/enc/h264/include/H264RateControl.h +++ b/mpp/codec/enc/h264/include/H264RateControl.h @@ -146,6 +146,6 @@ RK_S32 H264Calculate(RK_S32 a, RK_S32 b, RK_S32 c); bool_e H264InitRc(h264RateControl_s * rc); void H264BeforePicRc(h264RateControl_s * rc, RK_U32 timeInc, RK_U32 sliceType); RK_S32 H264AfterPicRc(h264RateControl_s * rc, RK_U32 nonZeroCnt, RK_U32 byteCnt, - RK_U32 qpSum); + RK_U32 qpSum); #endif /* H264_RATE_CONTROL_H */ diff --git a/mpp/codec/enc/h264/src/H264EncApi.c b/mpp/codec/enc/h264/src/H264EncApi.c index 8b9d0dfd..b6ea4312 100644 --- a/mpp/codec/enc/h264/src/H264EncApi.c +++ b/mpp/codec/enc/h264/src/H264EncApi.c @@ -741,19 +741,19 @@ H264EncRet H264EncStrmEncode(H264ECtx *pEncInst, const H264EncIn * pEncIn, RK_S32 EncAsicCheckHwStatus(asicData_s *asic) { RK_S32 ret = ASIC_STATUS_FRAME_READY; -/* - RK_U32 status = asic->regs.hw_status; + /* + RK_U32 status = asic->regs.hw_status; - if (status & ASIC_STATUS_ERROR) { - ret = ASIC_STATUS_ERROR; - } else if (status & ASIC_STATUS_HW_RESET) { - ret = ASIC_STATUS_HW_RESET; - } else if (status & ASIC_STATUS_FRAME_READY) { - ret = ASIC_STATUS_FRAME_READY; - } else { - ret = ASIC_STATUS_BUFF_FULL; - } -*/ + if (status & ASIC_STATUS_ERROR) { + ret = ASIC_STATUS_ERROR; + } else if (status & ASIC_STATUS_HW_RESET) { + ret = ASIC_STATUS_HW_RESET; + } else if (status & ASIC_STATUS_FRAME_READY) { + ret = ASIC_STATUS_FRAME_READY; + } else { + ret = ASIC_STATUS_BUFF_FULL; + } + */ return ret; } diff --git a/mpp/codec/enc/h264/src/H264Init.c b/mpp/codec/enc/h264/src/H264Init.c index 32175473..a361b787 100644 --- a/mpp/codec/enc/h264/src/H264Init.c +++ b/mpp/codec/enc/h264/src/H264Init.c @@ -158,7 +158,7 @@ bool_e SetParameter(H264ECtx * inst, const H264EncConfig * pEncCfg) /* enforce macroblock rate limit in level */ { RK_U32 mb_rate = (pEncCfg->frameRateNum * inst->mbPerFrame) / - pEncCfg->frameRateDenom; + pEncCfg->frameRateDenom; if (mb_rate > H264MaxMBPS[inst->seqParameterSet.levelIdx]) { mpp_log("input mb rate %d is larger than restriction %d\n", diff --git a/mpp/codec/enc/h264/src/H264RateControl.c b/mpp/codec/enc/h264/src/H264RateControl.c index ecb26795..592a5ffc 100644 --- a/mpp/codec/enc/h264/src/H264RateControl.c +++ b/mpp/codec/enc/h264/src/H264RateControl.c @@ -64,10 +64,10 @@ FILE *fpRcTrc = NULL; ------------------------------------------------------------------------------*/ /* q_step values scaled up by 4 and evenly rounded */ RK_S32 q_step[53] = { 3, 3, 3, 4, 4, 5, 5, 6, 7, 7, 8, 9, 10, 11, - 13, 14, 16, 18, 20, 23, 25, 28, 32, 36, 40, 45, 51, 57, 64, 72, 80, 90, - 101, 114, 128, 144, 160, 180, 203, 228, 256, 288, 320, 360, 405, 456, - 513, 577, 640, 720, 810, 896 - }; + 13, 14, 16, 18, 20, 23, 25, 28, 32, 36, 40, 45, 51, 57, 64, 72, 80, 90, + 101, 114, 128, 144, 160, 180, 203, 228, 256, 288, 320, 360, 405, 456, + 513, 577, 640, 720, 810, 896 + }; /*------------------------------------------------------------------------------ Local function prototypes @@ -422,7 +422,7 @@ static RK_S32 VirtualBuffer_new(h264VirtualBuffer_s *vb, RK_S32 timeInc, true_e returns number of required filler payload bytes. ------------------------------------------------------------------------------*/ RK_S32 H264AfterPicRc(h264RateControl_s * rc, RK_U32 nonZeroCnt, RK_U32 byteCnt, - RK_U32 qpSum) + RK_U32 qpSum) { h264VirtualBuffer_s *vb = &rc->virtualBuffer; RK_S32 bitPerPic = rc->virtualBuffer.bitPerPic; diff --git a/mpp/codec/enc/h264/src/H264SequenceParameterSet.c b/mpp/codec/enc/h264/src/H264SequenceParameterSet.c index b3300faf..7a5639f9 100644 --- a/mpp/codec/enc/h264/src/H264SequenceParameterSet.c +++ b/mpp/codec/enc/h264/src/H264SequenceParameterSet.c @@ -45,8 +45,8 @@ const RK_U32 H264MaxCPBS[15] = { }; const RK_U32 H264MaxFS[15] = { 99, 396, 396, 396, 396, 792, 1620, 1620, - 3600, 5120, 8192, 8192, 8192, 22080, 36864 - }; + 3600, 5120, 8192, 8192, 8192, 22080, 36864 + }; /* sqrt(8*maxFrameSize) is maximum width and height of specific level */ const RK_U32 H264SqrtMaxFS8[15] = diff --git a/mpp/codec/mpp_parser.cpp b/mpp/codec/mpp_parser.cpp index 81326458..50d1c4ba 100644 --- a/mpp/codec/mpp_parser.cpp +++ b/mpp/codec/mpp_parser.cpp @@ -50,7 +50,7 @@ static const ParserApi *parsers[] = { &api_mpg4d_parser, &api_vp8d_parser, &api_vp9d_parser, - &api_jpegd_parser, + &api_jpegd_parser, &dummy_dec_parser, }; diff --git a/mpp/common/h264e_syntax.h b/mpp/common/h264e_syntax.h index 8e226f48..c2b082e0 100644 --- a/mpp/common/h264e_syntax.h +++ b/mpp/common/h264e_syntax.h @@ -87,7 +87,7 @@ typedef struct h264e_feedback_t { /* for VEPU future extansion */ //TODO: add nal size table feedback -}h264e_feedback; +} h264e_feedback; typedef struct h264e_control_extra_info_cfg_t { diff --git a/mpp/hal/mpp_hal.cpp b/mpp/hal/mpp_hal.cpp index 8d0064da..2606d02c 100644 --- a/mpp/hal/mpp_hal.cpp +++ b/mpp/hal/mpp_hal.cpp @@ -52,8 +52,8 @@ static const MppHalApi *hw_apis[] = { &hal_api_mpg4d, &hal_api_vp8d, &hal_api_vp9d, - &hal_api_jpegd, - &hal_api_h264e, + &hal_api_jpegd, + &hal_api_h264e, &hal_api_dummy_dec, &hal_api_dummy_enc, }; diff --git a/mpp/hal/rkdec/h265d/hal_h265d_reg.c b/mpp/hal/rkdec/h265d/hal_h265d_reg.c index 8c4b97ef..b900cf2e 100644 --- a/mpp/hal/rkdec/h265d/hal_h265d_reg.c +++ b/mpp/hal/rkdec/h265d/hal_h265d_reg.c @@ -1392,10 +1392,10 @@ MPP_RET hal_h265d_gen_regs(void *hal, HalTaskInfo *syn) numCuInWidth = width / uiMaxCUWidth + (width % uiMaxCUWidth != 0); #ifdef SOFIA_3GR_LINUX - stride_y = (((numCuInWidth * uiMaxCUWidth * (dxva_cxt->pp.bit_depth_luma_minus8 + 8) + 63) - & (~63)) >> 3); + stride_y = (((numCuInWidth * uiMaxCUWidth * (dxva_cxt->pp.bit_depth_luma_minus8 + 8) + 63) + & (~63)) >> 3); stride_uv = (((numCuInWidth * uiMaxCUHeight * (dxva_cxt->pp.bit_depth_chroma_minus8 + 8) + 63) - & (~63)) >> 3); + & (~63)) >> 3); #else stride_y = ((((numCuInWidth * uiMaxCUWidth * (dxva_cxt->pp.bit_depth_luma_minus8 + 8) + 2047) & (~2047)) | 2048) >> 3); diff --git a/mpp/hal/rkenc/h264e/hal_h264e.h b/mpp/hal/rkenc/h264e/hal_h264e.h index 437167f9..bd4e343f 100644 --- a/mpp/hal/rkenc/h264e/hal_h264e.h +++ b/mpp/hal/rkenc/h264e/hal_h264e.h @@ -335,7 +335,7 @@ typedef struct h264e_hal_context_t { void *param_buf; size_t param_size; MppPacket packeted_param; - void *test_cfg; + void *test_cfg; } h264e_hal_context; #endif diff --git a/mpp/hal/rkenc/h264e/hal_h264e_rkv.c b/mpp/hal/rkenc/h264e/hal_h264e_rkv.c index d0ea2644..4e31a575 100644 --- a/mpp/hal/rkenc/h264e/hal_h264e_rkv.c +++ b/mpp/hal/rkenc/h264e/hal_h264e_rkv.c @@ -1484,7 +1484,7 @@ static MPP_RET hal_h264e_rkv_allocate_buffers(h264e_hal_context *ctx, h264e_synt { RK_S32 k = 0; h264e_hal_rkv_buffers *buffers = (h264e_hal_rkv_buffers *)ctx->buffers; - RK_U32 num_mbs_oneframe = (syn->pic_luma_width+15)/16 * ((syn->pic_luma_height+15)/16); + RK_U32 num_mbs_oneframe = (syn->pic_luma_width + 15) / 16 * ((syn->pic_luma_height + 15) / 16); RK_U32 frame_size = ((syn->pic_luma_width + 15) & (~15)) * ((syn->pic_luma_height + 15) & (~15)) * 3 / 2; h264e_hal_rkv_dpb_ctx *dpb_ctx = (h264e_hal_rkv_dpb_ctx *)ctx->dpb_ctx; h264e_hal_rkv_frame *frame_buf = dpb_ctx->frame_buf; @@ -1498,7 +1498,7 @@ static MPP_RET hal_h264e_rkv_allocate_buffers(h264e_hal_context *ctx, h264e_synt } } - if(syn->preproc_en || (test_cfg && test_cfg->preproc)) { + if (syn->preproc_en || (test_cfg && test_cfg->preproc)) { for (k = 0; k < 2; k++) { if (MPP_OK != mpp_buffer_get(buffers->hw_buf_grp[H264E_HAL_RKV_BUF_GRP_PP], &buffers->hw_pp_buf[k], frame_size)) { mpp_err("hw_pp_buf[%d] get failed", k); @@ -1509,9 +1509,9 @@ static MPP_RET hal_h264e_rkv_allocate_buffers(h264e_hal_context *ctx, h264e_synt } } - if(!all_intra_mode) { + if (!all_intra_mode) { for (k = 0; k < 2; k++) { - if (MPP_OK != mpp_buffer_get(buffers->hw_buf_grp[H264E_HAL_RKV_BUF_GRP_DSP], &buffers->hw_dsp_buf[k], frame_size/16)) { + if (MPP_OK != mpp_buffer_get(buffers->hw_buf_grp[H264E_HAL_RKV_BUF_GRP_DSP], &buffers->hw_dsp_buf[k], frame_size / 16)) { mpp_err("hw_dsp_buf[%d] get failed", k); return MPP_ERR_MALLOC; } else { @@ -1520,21 +1520,21 @@ static MPP_RET hal_h264e_rkv_allocate_buffers(h264e_hal_context *ctx, h264e_synt } } - #if 0 //default setting - RK_U32 num_mei_oneframe = (syn->pic_luma_width+255)/256 * ((syn->pic_luma_height+15)/16); +#if 0 //default setting + RK_U32 num_mei_oneframe = (syn->pic_luma_width + 255) / 256 * ((syn->pic_luma_height + 15) / 16); for (k = 0; k < RKV_H264E_LINKTABLE_FRAME_NUM; k++) { - if (MPP_OK != mpp_buffer_get(buffers->hw_buf_grp[H264E_HAL_RKV_BUF_GRP_MEI], &buffers->hw_mei_buf[k], num_mei_oneframe*16*4)) { + if (MPP_OK != mpp_buffer_get(buffers->hw_buf_grp[H264E_HAL_RKV_BUF_GRP_MEI], &buffers->hw_mei_buf[k], num_mei_oneframe * 16 * 4)) { mpp_err("hw_mei_buf[%d] get failed", k); return MPP_ERR_MALLOC; } else { h264e_hal_log_detail("hw_mei_buf[%d] %p done, fd %d", k, buffers->hw_mei_buf[k], mpp_buffer_get_fd(buffers->hw_mei_buf[k])); } } - #endif - - if(syn->roi_en || (test_cfg && test_cfg->roi)) { +#endif + + if (syn->roi_en || (test_cfg && test_cfg->roi)) { for (k = 0; k < RKV_H264E_LINKTABLE_FRAME_NUM; k++) { - if (MPP_OK != mpp_buffer_get(buffers->hw_buf_grp[H264E_HAL_RKV_BUF_GRP_ROI], &buffers->hw_roi_buf[k], num_mbs_oneframe*1)) { + if (MPP_OK != mpp_buffer_get(buffers->hw_buf_grp[H264E_HAL_RKV_BUF_GRP_ROI], &buffers->hw_roi_buf[k], num_mbs_oneframe * 1)) { mpp_err("hw_roi_buf[%d] get failed", k); return MPP_ERR_MALLOC; } else { @@ -1551,19 +1551,19 @@ static MPP_RET hal_h264e_rkv_allocate_buffers(h264e_hal_context *ctx, h264e_synt return MPP_ERR_MALLOC; } else { h264e_hal_log_detail("hw_rec_buf[%d] %p done, fd %d", k, buffers->hw_rec_buf[k], mpp_buffer_get_fd(buffers->hw_rec_buf[k])); - } + } frame_buf[k].hw_buf = buffers->hw_rec_buf[k]; } } - if(syn->osd_mode || (test_cfg && test_cfg->osd)) { + if (syn->osd_mode || (test_cfg && test_cfg->osd)) { for (k = 0; k < RKV_H264E_LINKTABLE_FRAME_NUM; k++) { - if (MPP_OK != mpp_buffer_get(buffers->hw_buf_grp[H264E_HAL_RKV_BUF_GRP_REC], &buffers->hw_osd_buf[k], num_mbs_oneframe*256)) { + if (MPP_OK != mpp_buffer_get(buffers->hw_buf_grp[H264E_HAL_RKV_BUF_GRP_REC], &buffers->hw_osd_buf[k], num_mbs_oneframe * 256)) { mpp_err("hw_osd_buf[%d] get failed", buffers->hw_osd_buf[k]); return MPP_ERR_MALLOC; } else { h264e_hal_log_detail("hw_osd_buf[%d] %p done, fd %d", k, buffers->hw_osd_buf[k], mpp_buffer_get_fd(buffers->hw_osd_buf[k])); - } + } } } @@ -2661,13 +2661,13 @@ static MPP_RET hal_h264e_rkv_validate_syntax(h264e_syntax *syn, h264e_hal_csp_in *src_fmt = hal_h264e_rkv_convert_csp(input_image_format); syn->input_image_format = src_fmt->fmt; syn->input_image_format = H264E_RKV_CSP_YUV420SP; //TODO: removed later - + syn->input_cb_addr = syn->input_luma_addr; syn->input_cr_addr = syn->input_luma_addr; H264E_HAL_VALIDATE_NEQ(syn->input_image_format, "input_image_format", H264E_RKV_CSP_NONE); - if(syn->frame_coding_type==1) {/* ASIC_INTRA */ - if(gop_start) + if (syn->frame_coding_type == 1) { /* ASIC_INTRA */ + if (gop_start) syn->frame_coding_type = RKVENC_FRAME_TYPE_IDR; else syn->frame_coding_type = RKVENC_FRAME_TYPE_I; @@ -2679,34 +2679,34 @@ static MPP_RET hal_h264e_rkv_validate_syntax(h264e_syntax *syn, h264e_hal_csp_in return MPP_OK; } -MPP_RET hal_h264e_rkv_set_rc_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, - h264e_hal_rkv_coveragetest_cfg *test) +MPP_RET hal_h264e_rkv_set_rc_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, + h264e_hal_rkv_coveragetest_cfg *test) { - if(test && test->mbrc) { - RK_U32 num_mbs_oneframe = (syn->pic_luma_width+15)/16 * ((syn->pic_luma_height+15)/16); - RK_U32 frame_target_bitrate = (syn->pic_luma_width*syn->pic_luma_height/1920/1080)*10000000/8; //Bytes - RK_U32 frame_target_size = frame_target_bitrate/syn->keyframe_max_interval; - RK_U32 mb_target_size = frame_target_size/num_mbs_oneframe; + if (test && test->mbrc) { + RK_U32 num_mbs_oneframe = (syn->pic_luma_width + 15) / 16 * ((syn->pic_luma_height + 15) / 16); + RK_U32 frame_target_bitrate = (syn->pic_luma_width * syn->pic_luma_height / 1920 / 1080) * 10000000 / 8; //Bytes + RK_U32 frame_target_size = frame_target_bitrate / syn->keyframe_max_interval; + RK_U32 mb_target_size = frame_target_size / num_mbs_oneframe; RK_U32 aq_strength = 2; mpp_log("---- test-mbrc ----"); regs->swreg46.rc_en = 1; - regs->swreg46.rc_mode = 1; //0:frame/slice rc; 1:mbrc + regs->swreg46.rc_mode = 1; //0:frame/slice rc; 1:mbrc regs->swreg46.aqmode_en = 1; - regs->swreg46.aq_strg = (RK_U32)(aq_strength*1.0397*256); + regs->swreg46.aq_strg = (RK_U32)(aq_strength * 1.0397 * 256); regs->swreg46.Reserved = 0x0; - regs->swreg46.rc_ctu_num = (syn->pic_luma_width+15)/16; + regs->swreg46.rc_ctu_num = (syn->pic_luma_width + 15) / 16; + + regs->swreg47.bits_error0 = ((mb_target_size >> 4) * num_mbs_oneframe / 2) * -192; //sw_bits_error[0]; + regs->swreg47.bits_error1 = ((mb_target_size >> 4) * num_mbs_oneframe / 2) * -144; //sw_bits_error[1]; + regs->swreg48.bits_error2 = ((mb_target_size >> 4) * num_mbs_oneframe / 2) * -96; //sw_bits_error[2]; + regs->swreg48.bits_error3 = ((mb_target_size >> 4) * num_mbs_oneframe / 2) * -16; //sw_bits_error[3]; + regs->swreg49.bits_error4 = ((mb_target_size >> 4) * num_mbs_oneframe / 2) * 16; //sw_bits_error[4]; + regs->swreg49.bits_error5 = ((mb_target_size >> 4) * num_mbs_oneframe / 2) * 96; //sw_bits_error[5]; + regs->swreg50.bits_error6 = ((mb_target_size >> 4) * num_mbs_oneframe / 2) * 144; //sw_bits_error[6]; + regs->swreg50.bits_error7 = ((mb_target_size >> 4) * num_mbs_oneframe / 2) * 192; //sw_bits_error[7]; + regs->swreg51.bits_error8 = ((mb_target_size >> 4) * num_mbs_oneframe / 2) * 256; //sw_bits_error[8]; - regs->swreg47.bits_error0 = ((mb_target_size >> 4) *num_mbs_oneframe / 2) * -192; //sw_bits_error[0]; - regs->swreg47.bits_error1 = ((mb_target_size >> 4) *num_mbs_oneframe / 2) * -144; //sw_bits_error[1]; - regs->swreg48.bits_error2 = ((mb_target_size >> 4) *num_mbs_oneframe / 2) * -96; //sw_bits_error[2]; - regs->swreg48.bits_error3 = ((mb_target_size >> 4) *num_mbs_oneframe / 2) * -16; //sw_bits_error[3]; - regs->swreg49.bits_error4 = ((mb_target_size >> 4) *num_mbs_oneframe / 2) * 16; //sw_bits_error[4]; - regs->swreg49.bits_error5 = ((mb_target_size >> 4) *num_mbs_oneframe / 2) * 96; //sw_bits_error[5]; - regs->swreg50.bits_error6 = ((mb_target_size >> 4) *num_mbs_oneframe / 2) * 144; //sw_bits_error[6]; - regs->swreg50.bits_error7 = ((mb_target_size >> 4) *num_mbs_oneframe / 2) * 192; //sw_bits_error[7]; - regs->swreg51.bits_error8 = ((mb_target_size >> 4) *num_mbs_oneframe / 2) * 256; //sw_bits_error[8]; - regs->swreg52.qp_adjuest0 = -4; //sw_qp_adjuest[0]; regs->swreg52.qp_adjuest1 = -3; //sw_qp_adjuest[1]; regs->swreg52.qp_adjuest2 = -2; //sw_qp_adjuest[2]; @@ -2716,7 +2716,7 @@ MPP_RET hal_h264e_rkv_set_rc_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, regs->swreg53.qp_adjuest6 = 2; //sw_qp_adjuest[6]; regs->swreg53.qp_adjuest7 = 3; //sw_qp_adjuest[7]; regs->swreg53.qp_adjuest8 = 4; //sw_qp_adjuest[8]; - + regs->swreg54.rc_qp_mod = 2; //sw_quality_flag; regs->swreg54.rc_fact0 = 8; //sw_quality_factor_0; regs->swreg54.rc_fact1 = 8; //sw_quality_factor_1; @@ -2724,64 +2724,64 @@ MPP_RET hal_h264e_rkv_set_rc_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, regs->swreg54.rc_qp_range = 4; //sw_rc_clip_qp_range; regs->swreg54.rc_max_qp = 40; regs->swreg54.rc_min_qp = 20; - + regs->swreg55.ctu_ebits = mb_target_size; //sw_ctu_target_bits; } else { - regs->swreg46.rc_mode = 0; //0:frame/slice rc; 1:mbrc - regs->swreg54.rc_qp_range = 4; //yn->swreg54.rc_qp_range; - regs->swreg54.rc_max_qp = 51; //syn->swreg54.rc_max_qp; - regs->swreg54.rc_min_qp = 1; //syn->swreg54.rc_min_qp; - - regs->swreg55.ctu_ebits = 0; //syn->swreg55.ctu_ebits; + regs->swreg46.rc_mode = 0; //0:frame/slice rc; 1:mbrc + regs->swreg54.rc_qp_range = 4; //yn->swreg54.rc_qp_range; + regs->swreg54.rc_max_qp = 51; //syn->swreg54.rc_max_qp; + regs->swreg54.rc_min_qp = 1; //syn->swreg54.rc_min_qp; + + regs->swreg55.ctu_ebits = 0; //syn->swreg55.ctu_ebits; (void)test; } - + return MPP_OK; } MPP_RET hal_h264e_rkv_set_roi_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, MppBuffer roi_idx_buf, RK_U32 frame_cnt, - h264e_hal_rkv_coveragetest_cfg *test) + h264e_hal_rkv_coveragetest_cfg *test) { - if(test && test->roi) { + if (test && test->roi) { RK_U32 k = 0; - RK_U32 num_mbs_oneframe = (syn->pic_luma_width+15)/16 * ((syn->pic_luma_height+15)/16); + RK_U32 num_mbs_oneframe = (syn->pic_luma_width + 15) / 16 * ((syn->pic_luma_height + 15) / 16); h264e_hal_rkv_roi_cfg *roi_cfg = mpp_calloc(h264e_hal_rkv_roi_cfg, num_mbs_oneframe); mpp_log("---- test-roi ----"); regs->swreg10.roi_enc = 1; - regs->swreg29_ctuc_addr= mpp_buffer_get_fd(roi_idx_buf); - if(frame_cnt%3==0) { - for(k=0; k<4*((syn->pic_luma_width+15)/16); k++) { - roi_cfg[k].set_qp_y_en = 1; - roi_cfg[k].qp_y = 20; + regs->swreg29_ctuc_addr = mpp_buffer_get_fd(roi_idx_buf); + if (frame_cnt % 3 == 0) { + for (k = 0; k < 4 * ((syn->pic_luma_width + 15) / 16); k++) { + roi_cfg[k].set_qp_y_en = 1; + roi_cfg[k].qp_y = 20; } - } else if(frame_cnt%3==1) { - for(k=0; k<4*((syn->pic_luma_width+15)/16); k++) { - roi_cfg[k].forbit_inter = 1; + } else if (frame_cnt % 3 == 1) { + for (k = 0; k < 4 * ((syn->pic_luma_width + 15) / 16); k++) { + roi_cfg[k].forbit_inter = 1; } } else { // frame_cnt%3==2 - for(k=0; k<4*((syn->pic_luma_width+15)/16); k++) { - roi_cfg[k].set_qp_y_en = 1; - roi_cfg[k].qp_y = 20; - roi_cfg[k].forbit_inter = 1; + for (k = 0; k < 4 * ((syn->pic_luma_width + 15) / 16); k++) { + roi_cfg[k].set_qp_y_en = 1; + roi_cfg[k].qp_y = 20; + roi_cfg[k].forbit_inter = 1; } - } + } mpp_buffer_write(roi_idx_buf, 0, (void *)roi_cfg, num_mbs_oneframe); - MPP_FREE(roi_cfg); + MPP_FREE(roi_cfg); } else { regs->swreg10.roi_enc = 0; //syn->swreg10.roi_enc; (void)test; } - + return MPP_OK; } MPP_RET hal_h264e_rkv_set_osd_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, MppBuffer osd_idx_buf, - h264e_hal_rkv_coveragetest_cfg *test) + h264e_hal_rkv_coveragetest_cfg *test) { - if(test && test->osd) { - #define OSD_SIZE_MBS 4 //size of osd in mb - RK_S32 k = 0; + if (test && test->osd) { +#define OSD_SIZE_MBS 4 //size of osd in mb + RK_S32 k = 0; RK_U32 osd_r0_en = 1; RK_U32 osd_r1_en = 1; RK_U32 osd_r2_en = 1; @@ -2790,7 +2790,7 @@ MPP_RET hal_h264e_rkv_set_osd_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, M RK_U32 osd_r5_en = 1; RK_U32 osd_r6_en = 1; RK_U32 osd_r7_en = 1; - + RK_U32 osd_r0_inv_en = 0; RK_U32 osd_r1_inv_en = 0; RK_U32 osd_r2_inv_en = 0; @@ -2800,17 +2800,17 @@ MPP_RET hal_h264e_rkv_set_osd_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, M RK_U32 osd_r6_inv_en = 0; RK_U32 osd_r7_inv_en = 0; - RK_U32 osd_size_pixels = 16*OSD_SIZE_MBS*16*OSD_SIZE_MBS; + RK_U32 osd_size_pixels = 16 * OSD_SIZE_MBS * 16 * OSD_SIZE_MBS; mpp_log("---- test-osd ----"); - - - regs->swreg65.osd_en = (osd_r0_en<<0)+(osd_r1_en<<1)+(osd_r2_en<<2)+(osd_r3_en<<3)+ (osd_r4_en<<4)+(osd_r5_en<<5)+(osd_r6_en<<6)+(osd_r7_en<<7); - regs->swreg65.osd_inv = (osd_r0_inv_en<<0)+(osd_r1_inv_en<<1)+(osd_r2_inv_en<<2)+(osd_r3_inv_en<<3)+ - (osd_r4_inv_en<<4)+(osd_r5_inv_en<<5)+(osd_r6_inv_en<<6)+(osd_r7_inv_en<<7); - + + + regs->swreg65.osd_en = (osd_r0_en << 0) + (osd_r1_en << 1) + (osd_r2_en << 2) + (osd_r3_en << 3) + (osd_r4_en << 4) + (osd_r5_en << 5) + (osd_r6_en << 6) + (osd_r7_en << 7); + regs->swreg65.osd_inv = (osd_r0_inv_en << 0) + (osd_r1_inv_en << 1) + (osd_r2_inv_en << 2) + (osd_r3_inv_en << 3) + + (osd_r4_inv_en << 4) + (osd_r5_inv_en << 5) + (osd_r6_inv_en << 6) + (osd_r7_inv_en << 7); + regs->swreg65.osd_clk_sel = 1; regs->swreg65.osd_plt_type = 0; //OSD_plt_type; - + regs->swreg66.osd_inv_r1 = 0; //OSD_r1_inv_range; regs->swreg66.osd_inv_r2 = 0; //OSD_r2_inv_range; regs->swreg66.osd_inv_r3 = 0; //OSD_r3_inv_range; @@ -2818,91 +2818,89 @@ MPP_RET hal_h264e_rkv_set_osd_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, M regs->swreg66.osd_inv_r5 = 0; //OSD_r5_inv_range; regs->swreg66.osd_inv_r6 = 0; //OSD_r6_inv_range; regs->swreg66.osd_inv_r7 = 0; //OSD_r7_inv_range; - - regs->swreg67_osd_pos[0].lt_pos_x = 0*OSD_SIZE_MBS; //OSD_r0_x_lt_pos; - regs->swreg67_osd_pos[0].lt_pos_y = 0*OSD_SIZE_MBS; //OSD_r0_y_lt_pos; - regs->swreg67_osd_pos[0].rd_pos_x = 0*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r0_x_rd_pos; - regs->swreg67_osd_pos[0].rd_pos_y = 0*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r0_y_rd_pos; - - regs->swreg67_osd_pos[1].lt_pos_x = 1*OSD_SIZE_MBS; //OSD_r1_x_lt_pos; - regs->swreg67_osd_pos[1].lt_pos_y = 0*OSD_SIZE_MBS; //OSD_r1_y_lt_pos; - regs->swreg67_osd_pos[1].rd_pos_x = 1*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r1_x_rd_pos; - regs->swreg67_osd_pos[1].rd_pos_y = 0*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r1_y_rd_pos; - - regs->swreg67_osd_pos[2].lt_pos_x = 2*OSD_SIZE_MBS; //OSD_r2_x_lt_pos; - regs->swreg67_osd_pos[2].lt_pos_y = 0*OSD_SIZE_MBS; //OSD_r2_y_lt_pos; - regs->swreg67_osd_pos[2].rd_pos_x = 2*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r2_x_rd_pos; - regs->swreg67_osd_pos[2].rd_pos_y = 0*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r2_y_rd_pos; - - regs->swreg67_osd_pos[3].lt_pos_x = 3*OSD_SIZE_MBS; //OSD_r3_x_lt_pos; - regs->swreg67_osd_pos[3].lt_pos_y = 0*OSD_SIZE_MBS; //OSD_r3_y_lt_pos; - regs->swreg67_osd_pos[3].rd_pos_x = 3*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r3_x_rd_pos; - regs->swreg67_osd_pos[3].rd_pos_y = 0*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r3_y_rd_pos; - - regs->swreg67_osd_pos[4].lt_pos_x = 0*OSD_SIZE_MBS; //OSD_r4_x_lt_pos; - regs->swreg67_osd_pos[4].lt_pos_y = 1*OSD_SIZE_MBS; //OSD_r4_y_lt_pos; - regs->swreg67_osd_pos[4].rd_pos_x = 0*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r4_x_rd_pos; - regs->swreg67_osd_pos[4].rd_pos_y = 1*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r4_x_rd_pos; - regs->swreg67_osd_pos[5].lt_pos_x = 1*OSD_SIZE_MBS; //OSD_r5_x_lt_pos; - regs->swreg67_osd_pos[5].lt_pos_y = 1*OSD_SIZE_MBS; //OSD_r5_y_lt_pos; - regs->swreg67_osd_pos[5].rd_pos_x = 1*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r5_x_rd_pos; - regs->swreg67_osd_pos[5].rd_pos_y = 1*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r5_y_rd_pos; + regs->swreg67_osd_pos[0].lt_pos_x = 0 * OSD_SIZE_MBS; //OSD_r0_x_lt_pos; + regs->swreg67_osd_pos[0].lt_pos_y = 0 * OSD_SIZE_MBS; //OSD_r0_y_lt_pos; + regs->swreg67_osd_pos[0].rd_pos_x = 0 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r0_x_rd_pos; + regs->swreg67_osd_pos[0].rd_pos_y = 0 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r0_y_rd_pos; - regs->swreg67_osd_pos[6].lt_pos_x = 2*OSD_SIZE_MBS; //OSD_r6_x_lt_pos; - regs->swreg67_osd_pos[6].lt_pos_y = 1*OSD_SIZE_MBS; //OSD_r6_y_lt_pos; - regs->swreg67_osd_pos[6].rd_pos_x = 2*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r6_x_rd_pos; - regs->swreg67_osd_pos[6].rd_pos_y = 1*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r6_y_rd_pos; + regs->swreg67_osd_pos[1].lt_pos_x = 1 * OSD_SIZE_MBS; //OSD_r1_x_lt_pos; + regs->swreg67_osd_pos[1].lt_pos_y = 0 * OSD_SIZE_MBS; //OSD_r1_y_lt_pos; + regs->swreg67_osd_pos[1].rd_pos_x = 1 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r1_x_rd_pos; + regs->swreg67_osd_pos[1].rd_pos_y = 0 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r1_y_rd_pos; - regs->swreg67_osd_pos[7].lt_pos_x = 3*OSD_SIZE_MBS; //OSD_r7_x_lt_pos; - regs->swreg67_osd_pos[7].lt_pos_y = 1*OSD_SIZE_MBS; //OSD_r7_y_lt_pos; - regs->swreg67_osd_pos[7].rd_pos_x = 3*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r7_x_rd_pos; - regs->swreg67_osd_pos[7].rd_pos_y = 1*OSD_SIZE_MBS+OSD_SIZE_MBS-1; //OSD_r7_y_rd_pos; + regs->swreg67_osd_pos[2].lt_pos_x = 2 * OSD_SIZE_MBS; //OSD_r2_x_lt_pos; + regs->swreg67_osd_pos[2].lt_pos_y = 0 * OSD_SIZE_MBS; //OSD_r2_y_lt_pos; + regs->swreg67_osd_pos[2].rd_pos_x = 2 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r2_x_rd_pos; + regs->swreg67_osd_pos[2].rd_pos_y = 0 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r2_y_rd_pos; - for(k=0; k<8; k++) - { - if(regs->swreg65.osd_plt_type==0) //configurable - memset((RK_U8 *)mpp_buffer_get_ptr(osd_idx_buf)+k*osd_size_pixels, 32*k, osd_size_pixels); - else //fixed mode: only support idx 0~7 - memset((RK_U8 *)mpp_buffer_get_ptr(osd_idx_buf)+k*osd_size_pixels, k, osd_size_pixels); - - regs->swreg68_indx_addr_i[k] = mpp_buffer_get_fd(osd_idx_buf) | ((k*osd_size_pixels)<<10); //h->param.indx_addr_i[i]; + regs->swreg67_osd_pos[3].lt_pos_x = 3 * OSD_SIZE_MBS; //OSD_r3_x_lt_pos; + regs->swreg67_osd_pos[3].lt_pos_y = 0 * OSD_SIZE_MBS; //OSD_r3_y_lt_pos; + regs->swreg67_osd_pos[3].rd_pos_x = 3 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r3_x_rd_pos; + regs->swreg67_osd_pos[3].rd_pos_y = 0 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r3_y_rd_pos; + + regs->swreg67_osd_pos[4].lt_pos_x = 0 * OSD_SIZE_MBS; //OSD_r4_x_lt_pos; + regs->swreg67_osd_pos[4].lt_pos_y = 1 * OSD_SIZE_MBS; //OSD_r4_y_lt_pos; + regs->swreg67_osd_pos[4].rd_pos_x = 0 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r4_x_rd_pos; + regs->swreg67_osd_pos[4].rd_pos_y = 1 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r4_x_rd_pos; + + regs->swreg67_osd_pos[5].lt_pos_x = 1 * OSD_SIZE_MBS; //OSD_r5_x_lt_pos; + regs->swreg67_osd_pos[5].lt_pos_y = 1 * OSD_SIZE_MBS; //OSD_r5_y_lt_pos; + regs->swreg67_osd_pos[5].rd_pos_x = 1 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r5_x_rd_pos; + regs->swreg67_osd_pos[5].rd_pos_y = 1 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r5_y_rd_pos; + + regs->swreg67_osd_pos[6].lt_pos_x = 2 * OSD_SIZE_MBS; //OSD_r6_x_lt_pos; + regs->swreg67_osd_pos[6].lt_pos_y = 1 * OSD_SIZE_MBS; //OSD_r6_y_lt_pos; + regs->swreg67_osd_pos[6].rd_pos_x = 2 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r6_x_rd_pos; + regs->swreg67_osd_pos[6].rd_pos_y = 1 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r6_y_rd_pos; + + regs->swreg67_osd_pos[7].lt_pos_x = 3 * OSD_SIZE_MBS; //OSD_r7_x_lt_pos; + regs->swreg67_osd_pos[7].lt_pos_y = 1 * OSD_SIZE_MBS; //OSD_r7_y_lt_pos; + regs->swreg67_osd_pos[7].rd_pos_x = 3 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r7_x_rd_pos; + regs->swreg67_osd_pos[7].rd_pos_y = 1 * OSD_SIZE_MBS + OSD_SIZE_MBS - 1; //OSD_r7_y_rd_pos; + + for (k = 0; k < 8; k++) { + if (regs->swreg65.osd_plt_type == 0) //configurable + memset((RK_U8 *)mpp_buffer_get_ptr(osd_idx_buf) + k * osd_size_pixels, 32 * k, osd_size_pixels); + else //fixed mode: only support idx 0~7 + memset((RK_U8 *)mpp_buffer_get_ptr(osd_idx_buf) + k * osd_size_pixels, k, osd_size_pixels); + + regs->swreg68_indx_addr_i[k] = mpp_buffer_get_fd(osd_idx_buf) | ((k * osd_size_pixels) << 10); //h->param.indx_addr_i[i]; mpp_log("regs->swreg68_indx_addr_i[k] 0x%08x", regs->swreg68_indx_addr_i[k]); } - #if 0 //written in kernel - for(k=0; k<256; k++) - { - regs->swreg73_osd_indx_tab_i[k] = k | (0x80<<8) | (0x80<<16) | (k<<24); +#if 0 //written in kernel + for (k = 0; k < 256; k++) { + regs->swreg73_osd_indx_tab_i[k] = k | (0x80 << 8) | (0x80 << 16) | (k << 24); } - #endif - +#endif + } else { (void)test; } (void)syn; - + return MPP_OK; } MPP_RET hal_h264e_rkv_set_pp_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, MppBuffer hw_buf_w, MppBuffer hw_buf_r, RK_U32 frame_cnt, - h264e_hal_rkv_coveragetest_cfg *test) + h264e_hal_rkv_coveragetest_cfg *test) { RK_S32 k = 0; RK_S32 stridey, stridec; - if(test && test->preproc) { + if (test && test->preproc) { RK_U32 h3d_tbl[40] = { - 0x0b080400,0x1815120f,0x23201e1b,0x2c2a2725, - 0x33312f2d,0x38373634,0x3d3c3b39,0x403f3e3d, - 0x42414140,0x43434342,0x44444444,0x44444444, - 0x44444444,0x43434344,0x42424343,0x40414142, - 0x3d3e3f40,0x393a3b3c,0x35363738,0x30313334, - 0x2c2d2e2f,0x28292a2b,0x23242526,0x20202122, - 0x191b1d1f,0x14151618,0x0f101112,0x0b0c0d0e, - 0x08090a0a,0x06070708,0x05050506,0x03040404, - 0x02020303,0x01010102,0x00010101,0x00000000, - 0x00000000,0x00000000,0x00000000,0x00000000 + 0x0b080400, 0x1815120f, 0x23201e1b, 0x2c2a2725, + 0x33312f2d, 0x38373634, 0x3d3c3b39, 0x403f3e3d, + 0x42414140, 0x43434342, 0x44444444, 0x44444444, + 0x44444444, 0x43434344, 0x42424343, 0x40414142, + 0x3d3e3f40, 0x393a3b3c, 0x35363738, 0x30313334, + 0x2c2d2e2f, 0x28292a2b, 0x23242526, 0x20202122, + 0x191b1d1f, 0x14151618, 0x0f101112, 0x0b0c0d0e, + 0x08090a0a, 0x06070708, 0x05050506, 0x03040404, + 0x02020303, 0x01010102, 0x00010101, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 }; mpp_log("---- test-preproc ----"); @@ -2959,28 +2957,28 @@ MPP_RET hal_h264e_rkv_set_pp_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, Mp regs->swreg21_scr_stbl[3] = (RK_U32)1073741823; //sharp_matrix[3]; regs->swreg21_scr_stbl[4] = (RK_U32)1073741823; //sharp_matrix[4]; - for(k=0; k<40; k++) - regs->swreg22_h3d_tbl[k] = h3d_tbl[k]; - - - stridey = (syn->pic_luma_width + 15)&(~15); + for (k = 0; k < 40; k++) + regs->swreg22_h3d_tbl[k] = h3d_tbl[k]; + + + stridey = (syn->pic_luma_width + 15) & (~15); stridec = stridey; - + regs->swreg23.src_ystrid = stridey; regs->swreg23.reserve = 0x0; regs->swreg23.src_cstrid = stridec; ////YUV420 planar; regs->swreg27_fltw_addr = mpp_buffer_get_fd(hw_buf_w); - regs->swreg28_fltr_addr = mpp_buffer_get_fd(hw_buf_r); + regs->swreg28_fltr_addr = mpp_buffer_get_fd(hw_buf_r); } else { regs->swreg14.src_cfmt = syn->input_image_format; //syn->swreg14.src_cfmt; //src_cfmt - + for (k = 0; k < 5; k++) regs->swreg21_scr_stbl[k] = 0; //syn->swreg21_scr_stbl[k]; - + for (k = 0; k < 40; k++) regs->swreg22_h3d_tbl[k] = h264e_h3d_tbl[k]; - + stridey = (regs->swreg19.src_rot == 1 || regs->swreg19.src_rot == 3) ? (syn->pic_luma_height - 1) : (syn->pic_luma_width - 1); if (regs->swreg14.src_cfmt == 0 ) stridey = (stridey + 1) * 4 - 1; @@ -2995,7 +2993,7 @@ MPP_RET hal_h264e_rkv_set_pp_regs(h264e_rkv_reg_set *regs, h264e_syntax *syn, Mp (void)test; } - + return MPP_OK; } @@ -3026,7 +3024,7 @@ MPP_RET hal_h264e_rkv_gen_regs(void *hal, HalTaskInfo *task) h264e_hal_debug_enter(); hal_h264e_rkv_dump_mpp_syntax_in(syn, ctx); - if (MPP_OK != hal_h264e_rkv_validate_syntax(syn, &src_fmt, ctx->frame_cnt%sps->keyframe_max_interval==0)) { + if (MPP_OK != hal_h264e_rkv_validate_syntax(syn, &src_fmt, ctx->frame_cnt % sps->keyframe_max_interval == 0)) { h264e_hal_log_err("hal_h264e_rkv_validate_syntax failed"); } @@ -3132,7 +3130,7 @@ MPP_RET hal_h264e_rkv_gen_regs(void *hal, HalTaskInfo *task) regs->swreg13.axi_brsp_cke = 0x7f; //syn->swreg13.axi_brsp_cke; regs->swreg13.cime_dspw_orsd = 0x0; - hal_h264e_rkv_set_pp_regs(regs, syn, bufs->hw_pp_buf[buf2_idx], bufs->hw_pp_buf[1-buf2_idx], ctx->frame_cnt, test_cfg); + hal_h264e_rkv_set_pp_regs(regs, syn, bufs->hw_pp_buf[buf2_idx], bufs->hw_pp_buf[1 - buf2_idx], ctx->frame_cnt, test_cfg); regs->swreg24_adr_srcy = syn->input_luma_addr; //syn->addr_cfg.adr_srcy; regs->swreg25_adr_srcu = syn->input_cb_addr; //syn->addr_cfg.adr_srcu; @@ -3146,11 +3144,11 @@ MPP_RET hal_h264e_rkv_gen_regs(void *hal, HalTaskInfo *task) regs->swreg31_rfpr_addr = mpp_buffer_get_fd(dpb_ctx->fref[0][0]->hw_buf); //syn->addr_cfg.rfpr_addr; //regs->swreg32_cmvw_addr = mpp_buffer_get_fd(bufs->hw_cmv_buf[buf2_idx]); - if(bufs->hw_dsp_buf[buf2_idx]) + if (bufs->hw_dsp_buf[buf2_idx]) regs->swreg34_dspw_addr = mpp_buffer_get_fd(bufs->hw_dsp_buf[buf2_idx]); //syn->addr_cfg.dspw_addr; - if(bufs->hw_dsp_buf[1 - buf2_idx]) + if (bufs->hw_dsp_buf[1 - buf2_idx]) regs->swreg35_dspr_addr = mpp_buffer_get_fd(bufs->hw_dsp_buf[1 - buf2_idx]); //syn->addr_cfg.dspr_addr; - + regs->swreg36_meiw_addr = 0; //mpp_buffer_get_fd(bufs->hw_mei_buf[mul_buf_idx]); regs->swreg38_bsbb_addr = syn->output_strm_addr; if (VPUClientGetIOMMUStatus() > 0) @@ -3498,45 +3496,45 @@ static MPP_RET hal_h264e_rkv_set_feedback(h264e_feedback *fb, h264e_rkv_ioctl_ou for (k = 0; k < out->frame_num; k++) { elem = &out->elem[k]; fb->qp_sum = elem->swreg71.qp_sum; - fb->out_strm_size = elem->swreg69.bs_lgth; + fb->out_strm_size = elem->swreg69.bs_lgth; fb->hw_status = 0; h264e_hal_log_detail("hw_status: 0x%08x", elem->hw_status); - if(elem->hw_status & RKV_H264E_INT_LINKTABLE_FINISH) { + if (elem->hw_status & RKV_H264E_INT_LINKTABLE_FINISH) { h264e_hal_log_err("RKV_H264E_INT_LINKTABLE_FINISH"); - } - if(elem->hw_status & RKV_H264E_INT_ONE_FRAME_FINISH) { + } + if (elem->hw_status & RKV_H264E_INT_ONE_FRAME_FINISH) { h264e_hal_log_detail("RKV_H264E_INT_ONE_FRAME_FINISH"); } - if(elem->hw_status & RKV_H264E_INT_ONE_SLICE_FINISH) { + if (elem->hw_status & RKV_H264E_INT_ONE_SLICE_FINISH) { h264e_hal_log_err("RKV_H264E_INT_ONE_SLICE_FINISH"); } - if(elem->hw_status & RKV_H264E_INT_SAFE_CLEAR_FINISH) { + if (elem->hw_status & RKV_H264E_INT_SAFE_CLEAR_FINISH) { h264e_hal_log_err("RKV_H264E_INT_SAFE_CLEAR_FINISH"); } - if(elem->hw_status & RKV_H264E_INT_BIT_STREAM_OVERFLOW) { + if (elem->hw_status & RKV_H264E_INT_BIT_STREAM_OVERFLOW) { h264e_hal_log_err("RKV_H264E_INT_BIT_STREAM_OVERFLOW"); fb->hw_status = 1; } - if(elem->hw_status & RKV_H264E_INT_BUS_WRITE_FULL) { + if (elem->hw_status & RKV_H264E_INT_BUS_WRITE_FULL) { h264e_hal_log_err("RKV_H264E_INT_BUS_WRITE_FULL"); fb->hw_status = 1; } - if(elem->hw_status & RKV_H264E_INT_BUS_WRITE_ERROR) { + if (elem->hw_status & RKV_H264E_INT_BUS_WRITE_ERROR) { h264e_hal_log_err("RKV_H264E_INT_BUS_WRITE_ERROR"); fb->hw_status = 1; } - if(elem->hw_status & RKV_H264E_INT_BUS_READ_ERROR) { + if (elem->hw_status & RKV_H264E_INT_BUS_READ_ERROR) { h264e_hal_log_err("RKV_H264E_INT_BUS_READ_ERROR"); fb->hw_status = 1; } - if(elem->hw_status & RKV_H264E_INT_TIMEOUT_ERROR) { + if (elem->hw_status & RKV_H264E_INT_TIMEOUT_ERROR) { h264e_hal_log_err("RKV_H264E_INT_TIMEOUT_ERROR"); fb->hw_status = 1; } - + fb->hw_status = elem->hw_status; } diff --git a/mpp/hal/rkenc/h264e/hal_h264e_rkv.h b/mpp/hal/rkenc/h264e/hal_h264e_rkv.h index 5789e95f..113e1ae6 100644 --- a/mpp/hal/rkenc/h264e/hal_h264e_rkv.h +++ b/mpp/hal/rkenc/h264e/hal_h264e_rkv.h @@ -91,7 +91,7 @@ typedef struct h264e_hal_rkv_coveragetest_cfg_t { RK_U32 osd; RK_U32 mbrc; RK_U32 roi; -}h264e_hal_rkv_coveragetest_cfg; +} h264e_hal_rkv_coveragetest_cfg; #endif @@ -145,8 +145,8 @@ typedef struct h264e_hal_rkv_roi_cfg_t { RK_U8 qp_y : 6; RK_U8 set_qp_y_en : 1; RK_U8 forbit_inter : 1; -}h264e_hal_rkv_roi_cfg; - +} h264e_hal_rkv_roi_cfg; + typedef struct h264e_hal_rkv_buffers_t { MppBufferGroup hw_buf_grp[H264E_HAL_RKV_BUF_GRP_BUTT]; diff --git a/mpp/hal/rkenc/h264e/hal_h264e_vpu.c b/mpp/hal/rkenc/h264e/hal_h264e_vpu.c index 41878277..7d65c53d 100644 --- a/mpp/hal/rkenc/h264e/hal_h264e_vpu.c +++ b/mpp/hal/rkenc/h264e/hal_h264e_vpu.c @@ -1370,7 +1370,7 @@ static MPP_RET hal_h264e_vpu_write_sps(h264e_hal_vpu_stream *stream, h264e_hal_s hal_h264e_vpu_write_ue(stream, sps->i_id, "seq_parameter_set_id"); //8D - if (sps->i_profile_idc >= 100) { //High profile + if (sps->i_profile_idc >= 100) { //High profile hal_h264e_vpu_write_ue(stream, sps->i_chroma_format_idc, "chroma_format_idc"); hal_h264e_vpu_write_ue(stream, H264_BIT_DEPTH - 8, "bit_depth_luma_minus8"); hal_h264e_vpu_write_ue(stream, H264_BIT_DEPTH - 8, "bit_depth_chroma_minus8"); @@ -1498,7 +1498,7 @@ static void hal_h264e_vpu_set_sps(h264e_hal_sps *sps, h264e_control_extra_info_c sps->i_mb_height = ( cfg->pic_luma_height + 15 ) / 16; sps->b_frame_mbs_only = 1; sps->b_direct8x8_inference = 1; - sps->i_chroma_format_idc = 1; //YUV420 + sps->i_chroma_format_idc = 1; //YUV420 sps->b_vui = 1; diff --git a/mpp/hal/rkenc/h264e/hal_h264e_vpu.h b/mpp/hal/rkenc/h264e/hal_h264e_vpu.h index 3ea40b6e..caa58f11 100644 --- a/mpp/hal/rkenc/h264e/hal_h264e_vpu.h +++ b/mpp/hal/rkenc/h264e/hal_h264e_vpu.h @@ -634,7 +634,7 @@ typedef enum { H264E_VPU_CSP_RGB101010 = 12, // 30-bit RGB H264E_VPU_CSP_BGR101010 = 13, // 30-bit RGB H264E_VPU_CSP_NONE, - H264E_VPU_CSP_BUTT, + H264E_VPU_CSP_BUTT, } h264e_hal_vpu_csp; diff --git a/mpp/hal/rkenc/h264e/test/h264e_hal_test.c b/mpp/hal/rkenc/h264e/test/h264e_hal_test.c index 1ab1313a..05c13944 100644 --- a/mpp/hal/rkenc/h264e/test/h264e_hal_test.c +++ b/mpp/hal/rkenc/h264e/test/h264e_hal_test.c @@ -87,13 +87,13 @@ static RK_U32 h264e_rkv_revert_csp(h264e_hal_csp_info csp_info) RK_U32 aswap = csp_info.aswap; MppFrameFormat dst_fmt; - switch(fmt) { + switch (fmt) { case H264E_RKV_CSP_YUV420P: { dst_fmt = MPP_FMT_YUV420P; break; } case H264E_RKV_CSP_YUV420SP: { - dst_fmt = cswap? MPP_FMT_YUV420SP_VU : MPP_FMT_YUV420SP; + dst_fmt = cswap ? MPP_FMT_YUV420SP_VU : MPP_FMT_YUV420SP; break; } case H264E_RKV_CSP_YUV422P: { @@ -101,7 +101,7 @@ static RK_U32 h264e_rkv_revert_csp(h264e_hal_csp_info csp_info) break; } case H264E_RKV_CSP_YUV422SP: { - dst_fmt = cswap? MPP_FMT_YUV422SP_VU : MPP_FMT_YUV422SP; + dst_fmt = cswap ? MPP_FMT_YUV422SP_VU : MPP_FMT_YUV422SP; break; } case H264E_RKV_CSP_YUYV422: { @@ -113,16 +113,16 @@ static RK_U32 h264e_rkv_revert_csp(h264e_hal_csp_info csp_info) break; } case H264E_RKV_CSP_BGR565: { - dst_fmt = cswap? MPP_FMT_RGB565 : MPP_FMT_BGR565; + dst_fmt = cswap ? MPP_FMT_RGB565 : MPP_FMT_BGR565; break; } case H264E_RKV_CSP_BGR888: { - dst_fmt = cswap? MPP_FMT_RGB888 : MPP_FMT_BGR888; + dst_fmt = cswap ? MPP_FMT_RGB888 : MPP_FMT_BGR888; break; } case H264E_RKV_CSP_BGRA8888: { - if(aswap) - dst_fmt = cswap? MPP_FMT_ABGR8888 : MPP_FMT_ARGB8888; + if (aswap) + dst_fmt = cswap ? MPP_FMT_ABGR8888 : MPP_FMT_ARGB8888; else dst_fmt = MPP_FMT_BUTT; @@ -130,12 +130,12 @@ static RK_U32 h264e_rkv_revert_csp(h264e_hal_csp_info csp_info) } default: { h264e_hal_log_err("invalid csp_info.fmt %d, csp_info.cswap %d, csp_info.aswap %d", - csp_info.fmt, csp_info.cswap, csp_info.aswap); + csp_info.fmt, csp_info.cswap, csp_info.aswap); dst_fmt = MPP_FMT_BUTT; } } - if(dst_fmt == MPP_FMT_BUTT) { + if (dst_fmt == MPP_FMT_BUTT) { h264e_hal_log_err("revert_csp error, src_fmt %d, dst_fmt %d", fmt, dst_fmt); } @@ -147,7 +147,7 @@ static RK_U32 h264e_vpu_revert_csp(RK_U32 csp) h264e_hal_vpu_csp fmt = (h264e_hal_vpu_csp)csp; MppFrameFormat dst_fmt; - switch(fmt) { + switch (fmt) { case H264E_VPU_CSP_YUV420P: { dst_fmt = MPP_FMT_YUV420P; break; @@ -227,23 +227,23 @@ static MPP_RET h264e_rkv_test_open_files(h264e_hal_test_cfg test_cfg) return MPP_ERR_OPEN_FILE; } - #if !RKV_H264E_SDK_TEST +#if !RKV_H264E_SDK_TEST sprintf(full_path, "%s", test_cfg.input_syntax_file_path); fp_golden_syntax_in = fopen(full_path, "rb"); if (!fp_golden_syntax_in) { mpp_err("%s open error", full_path); return MPP_ERR_OPEN_FILE; } - #endif +#endif - #if 0 +#if 0 sprintf(full_path, "%s%s", base_path, "mpp_yuv_in.yuv"); fp_mpp_yuv_in = fopen(full_path, "wb"); if (!fp_mpp_yuv_in) { mpp_err("%s open error", full_path); return MPP_ERR_OPEN_FILE; } - #endif +#endif return MPP_OK; } @@ -819,7 +819,7 @@ static void dump_rkv_mpp_dbg_info(h264e_hal_rkv_dbg_info *info, h264e_syntax *sy #if 0 static MPP_RET get_rkv_dbg_info(h264e_hal_rkv_dbg_info *info, h264e_syntax *syn, - MppBuffer *hw_in_buf, MppBuffer *hw_output_strm_buf) + MppBuffer *hw_in_buf, MppBuffer *hw_output_strm_buf) { RK_S32 k = 0; @@ -1100,7 +1100,7 @@ static MPP_RET get_rkv_dbg_info(h264e_hal_rkv_dbg_info *info, h264e_syntax *syn, static MPP_RET get_rkv_syntax_in( h264e_syntax *syn, MppBuffer *hw_in_buf, MppBuffer *hw_output_strm_buf, h264e_hal_test_cfg *cfg) -{ +{ h264e_hal_csp_info csp_info; RK_U32 buf_idx = g_frame_read_cnt % RKV_H264E_LINKTABLE_FRAME_NUM; h264e_hal_debug_enter(); @@ -1114,8 +1114,8 @@ static MPP_RET get_rkv_syntax_in( h264e_syntax *syn, MppBuffer *hw_in_buf, MppBu } if (hw_output_strm_buf[buf_idx]) syn->output_strm_addr = mpp_buffer_get_fd(hw_output_strm_buf[buf_idx]); - - #if RKV_H264E_SDK_TEST + +#if RKV_H264E_SDK_TEST mpp_log("make syntax begin"); syn->pic_luma_width = cfg->pic_width; syn->pic_luma_height = cfg->pic_height; @@ -1124,7 +1124,7 @@ static MPP_RET get_rkv_syntax_in( h264e_syntax *syn, MppBuffer *hw_in_buf, MppBu mpp_log("syn->level_idc %d", syn->level_idc); mpp_log("syn->profile_idc %d", syn->profile_idc); syn->keyframe_max_interval = 30; - if(g_frame_cnt==0 || g_frame_cnt%syn->keyframe_max_interval==0) { + if (g_frame_cnt == 0 || g_frame_cnt % syn->keyframe_max_interval == 0) { syn->frame_coding_type = 1; //intra syn->slice_type = 2; } else { @@ -1146,13 +1146,13 @@ static MPP_RET get_rkv_syntax_in( h264e_syntax *syn, MppBuffer *hw_in_buf, MppBu syn->frame_num = 0; syn->cabac_init_idc = 0; - + syn->idr_pic_id = 0; syn->pic_order_cnt_lsb = 0; mpp_log("make syntax end"); - #else +#else if (fp_golden_syntax_in) { FILE *fp = fp_golden_syntax_in; char temp[512] = {0}; @@ -1195,7 +1195,7 @@ static MPP_RET get_rkv_syntax_in( h264e_syntax *syn, MppBuffer *hw_in_buf, MppBu } else { mpp_err("rkv_syntax_in.txt doesn't exits"); } - #endif +#endif syn->output_strm_limit_size = syn->pic_luma_width * syn->pic_luma_height * 1.5; h264e_hal_debug_leave(); @@ -1243,23 +1243,23 @@ static MPP_RET h264e_hal_test_parse_options(int arg_num, char **arg_str, h264e_h if (!strcmp("--test-qp", arg_str[k])) { cfg->test.qp = atoi(arg_str[k + 1]); k++; - } + } if (!strcmp("--test-preproc", arg_str[k])) { cfg->test.preproc = atoi(arg_str[k + 1]); k++; - } + } if (!strcmp("--test-osd", arg_str[k])) { cfg->test.osd = atoi(arg_str[k + 1]); k++; - } + } if (!strcmp("--test-mbrc", arg_str[k])) { cfg->test.mbrc = atoi(arg_str[k + 1]); k++; - } + } if (!strcmp("--test-roi", arg_str[k])) { cfg->test.roi = atoi(arg_str[k + 1]); k++; - } + } } @@ -1267,7 +1267,7 @@ static MPP_RET h264e_hal_test_parse_options(int arg_num, char **arg_str, h264e_h mpp_log("test param parse error: input_yuv_file_path is NULL"); return MPP_NOK; } - #if RKV_H264E_SDK_TEST +#if RKV_H264E_SDK_TEST if (!cfg->pic_width) { mpp_log("test param parse error: pic_width is 0"); return MPP_NOK; @@ -1276,12 +1276,12 @@ static MPP_RET h264e_hal_test_parse_options(int arg_num, char **arg_str, h264e_h mpp_log("test param parse error: pic_height is 0"); return MPP_NOK; } - #else +#else if (!cfg->input_syntax_file_path) { mpp_log("test param parse error: input_syntax_file_path is NULL"); return MPP_NOK; } - #endif +#endif if (cfg->hw_mode == 0) test_device_id = HAL_RKVENC; @@ -1293,18 +1293,18 @@ static MPP_RET h264e_hal_test_parse_options(int arg_num, char **arg_str, h264e_h } mpp_log("======== hal converage test cfg (st) ======="); - if(cfg->test.qp) + if (cfg->test.qp) mpp_log("cfg->test.qp %d", cfg->test.qp); - if(cfg->test.preproc) + if (cfg->test.preproc) mpp_log("cfg->test.preproc %d", cfg->test.preproc); - if(cfg->test.osd) + if (cfg->test.osd) mpp_log("cfg->test.osd %d", cfg->test.osd); - if(cfg->test.mbrc) + if (cfg->test.mbrc) mpp_log("cfg->test.mbrc %d", cfg->test.mbrc); - if(cfg->test.roi) + if (cfg->test.roi) mpp_log("cfg->test.roi %d", cfg->test.roi); mpp_log("======== hal converage test cfg (ed) ======="); - + return MPP_OK; } @@ -1374,7 +1374,7 @@ MPP_RET h264e_hal_vpu_test() mpp_packet_init(&extra_info_pkt, (void *)extra_info_buf, H264E_MAX_PACKETED_PARAM_SIZE); get_vpu_syntax_in(&syntax_data, hw_input_buf, hw_output_strm_buf); - if(fp_golden_syntax_in) + if (fp_golden_syntax_in) fseek(fp_golden_syntax_in, 0L, SEEK_SET); frame_luma_stride = ((syntax_data.pic_luma_width + 15) & (~15)) * ((syntax_data.pic_luma_height + 15) & (~15)); @@ -1494,8 +1494,8 @@ MPP_RET h264e_hal_rkv_test(h264e_hal_test_cfg *test_cfg) get_rkv_syntax_in(&syntax_data[0], hw_input_buf_mul, hw_output_strm_buf_mul, test_cfg); - if(fp_golden_syntax_in) - fseek(fp_golden_syntax_in, 0L, SEEK_SET); + if (fp_golden_syntax_in) + fseek(fp_golden_syntax_in, 0L, SEEK_SET); frame_luma_stride = ((syntax_data[0].pic_luma_width + 15) & (~15)) * ((syntax_data[0].pic_luma_height + 15) & (~15)); @@ -1544,11 +1544,11 @@ MPP_RET h264e_hal_rkv_test(h264e_hal_test_cfg *test_cfg) } ret = get_rkv_h264e_yuv_in_frame(syn, hw_input_buf_mul); if (ret == MPP_EOS_STREAM_REACHED) { - if(g_frame_cnt == test_cfg->num_frames) { + if (g_frame_cnt == test_cfg->num_frames) { mpp_log("total %d frames are encoded, test is ended", g_frame_cnt); goto __test_end; } else { - fseek(fp_h264e_yuv_in, 0L, SEEK_SET); + fseek(fp_h264e_yuv_in, 0L, SEEK_SET); ret = get_rkv_h264e_yuv_in_frame(syn, hw_input_buf_mul); } } else if (ret == MPP_NOK) { @@ -1575,11 +1575,11 @@ MPP_RET h264e_hal_rkv_test(h264e_hal_test_cfg *test_cfg) if (g_frame_cnt == g_frame_read_cnt) hal_h264e_rkv_dump_mpp_strm_out(&ctx, hw_output_strm_buf_mul); - if(g_frame_cnt==test_cfg->num_frames) { + if (g_frame_cnt == test_cfg->num_frames) { mpp_log("test_cfg->num_frames %d reached, end test", test_cfg->num_frames); goto __test_end; } - + } while (1); diff --git a/mpp/legacy/vpu_api.cpp b/mpp/legacy/vpu_api.cpp index 10b00e5a..666207b4 100644 --- a/mpp/legacy/vpu_api.cpp +++ b/mpp/legacy/vpu_api.cpp @@ -208,8 +208,7 @@ public: VpulibDlsym() : rkapi_hdl(NULL), rkvpu_open_cxt(NULL), - rkvpu_close_cxt(NULL) - { + rkvpu_close_cxt(NULL) { RK_U32 i; for (i = 0; i < MPP_ARRAY_ELEMS(codec_paths); i++) { diff --git a/mpp/mpi.cpp b/mpp/mpi.cpp index 2e87c63a..2709852f 100644 --- a/mpp/mpi.cpp +++ b/mpp/mpi.cpp @@ -43,7 +43,7 @@ static MppCodingTypeInfo support_list[] = { { MPP_CTX_DEC, MPP_VIDEO_CodingVP8, "dec", "vp8", }, { MPP_CTX_DEC, MPP_VIDEO_CodingVP9, "dec", "VP9", }, { MPP_CTX_DEC, MPP_VIDEO_CodingAVS, "dec", "avs+", }, - { MPP_CTX_DEC, MPP_VIDEO_CodingMJPEG, "dec", "jpeg", }, + { MPP_CTX_DEC, MPP_VIDEO_CodingMJPEG, "dec", "jpeg", }, { MPP_CTX_ENC, MPP_VIDEO_CodingAVC, "enc", "h.264/AVC", }, }; diff --git a/osal/allocator/allocator_ion.c b/osal/allocator/allocator_ion.c index 00bc3edb..bb59cff1 100644 --- a/osal/allocator/allocator_ion.c +++ b/osal/allocator/allocator_ion.c @@ -196,7 +196,7 @@ RK_S32 check_sysfs_iommu() mpp_env_get_u32("ion_debug", &ion_debug, 0); #ifdef SOFIA_3GR_LINUX - return ret; + return ret; #endif for (i = 0; i < MPP_ARRAY_ELEMS(dts_devices); i++) { diff --git a/test/mpi_enc_test.c b/test/mpi_enc_test.c index 11c0d05d..175bd4e2 100644 --- a/test/mpi_enc_test.c +++ b/test/mpi_enc_test.c @@ -459,7 +459,7 @@ static RK_S32 mpi_enc_test_parse_options(int argc, char **argv, MpiEncTestCmd* c if (next) { cmd->format = (MppFrameFormat)atoi(next); err = ((cmd->format >= MPP_FMT_YUV_BUTT && cmd->format < MPP_FRAME_FMT_RGB) || - cmd->format >= MPP_FMT_RGB_BUTT); + cmd->format >= MPP_FMT_RGB_BUTT); } if (!next || err) {