xavs2 RDO

Compress_CU

标签(空格分隔): 未分类


  • compress_ctu_intra(rdo.c)
    • 自顶向下深度优先划分cu结构
    • Out : (rdcost_t)当前ctu最优编码代价?
    • init current CU: compress_cu_intra
    • coding current CU
    • Coding Sub-CUs and decide to split or not to


  • compress_cu_intra(rdo.c)
    • 划分模式:2Nx2N、NxN、2Nxn、nx2N
    • p_cu->cu_info.i_mode(set cu type)


  • cu_check_intra(rdo.c)

    • 当前mode计算率失真代价?
    • decide PU mode?: cu_init_pu_intra
    • num_luma_block 亮度块数量(4 or 1)
    • xavs2_get_mpms(mpm): get most probable modes to mpm???
    • for(int i = 0; i < num_for_rdo; i++){rdcost}
    • cu_recon_intra_luma


  • cu_init_pu_intra(rdo.c)

    • 依据CU划分模式确定当前CU包含的PU数量和大小
    • p_cu->p_ctu_info.cb(PU的x,y,w,h)(起始位置和宽度高度)
    • 确定TU划分类型???


  • xavs2_get_mpms(rdo.c)

    • Most Probable modes
    • switch(blockidx?): get coding modes of left and top blocks
    • mpm[0] mpm[1] (relations to top_mode and left_mode)


  • get_intra_dir_for_rdo_luma(rdo.c)

    • p_candidates(candidate list, reserving the cost)
    • FENC_STRIDE (MAX_CU_SIZE) (stride for LCU enc buffer, Y component)
    • p_fenc(Current frame to be encoded)
    • return (int) num_for_rdo???
    • 在compress_cu_intra 中函数指针 指向->get_intra_candidates_luma, 指向->rdo_get_pred_intra_luma, return numbers for RDO and candidate list by scanning all the intra modes


  • rdo_get_pred_intra_luma(md_intra.c)

    • return numbers for RDO and candidate list by scanning all the intra mode
    • fill_ref_samples_luma /* get edge samples for intra prediction */
    • Loop over all intra prediction modes->PREDICT_ADD_LUMA(mode)
    • return tab_num_intra_rdo(different rdo numbers according to different preset)


  • PREDICT_ADD_LUMA(md_intra.c)

    • mode_bits = (mpm[0] == (MODE_IDX) || mpm[1] == (MODE_IDX)) ? 2 : 6
    • cost = lamda * mode_bits
    • xavs2_intra_prediction
    • cost += intra_cmp(either satd or sad for intra mode )
    • update_candidate_list(find a position for current mode, from smallest to biggest)


  • xavs2_intra_prediction(md_intra.c)
    • xavs2_intra_pred_init
    • do the prediction


  • xavs2_intra_pred_init(intra.c)
    • Init .intraf[] to specific function


  • cu_recon_intra_luma(rdo.c)

    • finish transform quantization inverse-transform, inverse-quantization and reconstruction pixel generation of a intra luma block
  • -
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值