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
- -