static void mb_analyse_intra( x264_t *h, x264_mb_analysis_t *a, int i_satd_inter )
//大致分为几个阶段
predict_16x16
mbcmp 比较残差
predict_8x8
mbcmp 比较残差
predict_4x4
mbcmp 比较残差
{
const int8_t *predict_mode = predict_16x16_mode_available( h->mb.i_neighbour_intra );
////获得可用的帧内预测模式-针对帧内16x16
/* Not heavily tuned */
static const uint8_t i16x16_thresh_lut[11] = { 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4 };
int i16x16_thresh = a->b_fast_intra ? (i16x16_thresh_lut[h->mb.i_subpel_refine]*i_satd_inter)>>1 : COST_MAX;
for( ; *predict_mode >= 0; predict_mode++ )//遍历4种预测模式,计算代价
{
int i_satd;
int i_mode = *predict_mode;
if( h->mb.b_lossless )
x264_predict_lossless_16x16( h, 0, i_mode );
else
&n

本文介绍H.264视频编码标准中帧内预测分析的过程,包括16x16、8x8及4x4块大小的预测模式选择与残差计算。通过对不同预测模式的成本进行评估,确定最优的帧内预测方式。
最低0.47元/天 解锁文章
198

被折叠的 条评论
为什么被折叠?



