void x264_mb_predict_mv_16x16( x264_t *h, int i_list, int i_ref, int16_t mvp[2] )
{
int i_refa = h->mb.cache.ref[i_list][X264_SCAN8_0 - 1]; //!< a块参考帧序号
int16_t *mv_a = h->mb.cache.mv[i_list][X264_SCAN8_0 - 1]; //!< a块的运动矢量
int i_refb = h->mb.cache.ref[i_list][X264_SCAN8_0 - 8]; //!< b块参考帧序号
int16_t *mv_b = h->mb.cache.mv[i_list][X264_SCAN8_0 - 8]; //!< b块的运动矢量
int i_refc = h->mb.cache.ref[i_list][X264_SCAN8_0 - 8 + 4]; //!< c块参考帧序号
int16_t *mv_c = h->mb.cache.mv[i_list][X264_SCAN8_0 - 8 + 4]; //!< c块的运动矢量
int i_count;
if( i_refc == -2 ) //!< unavailable
{
i_refc = h->mb.cache.ref[i_list][X264_SCAN8_0 - 8 - 1]; //!< d块(左上)的参考帧序号
mv_c = h->mb.cache.mv[i_list][X264_SCAN8_0 - 8 - 1]; //!< d块的运动矢量
}
i_count = 0; //!< 统计当前宏块所参考的参考帧序号与邻块
x264_mb_predict_mv_16x16 函数分析
最新推荐文章于 2021-06-01 23:38:53 发布
该博客详细分析了x264编码库中的x264_mb_predict_mv_16x16函数,该函数用于预测16x16宏块的运动矢量。通过比较当前宏块与相邻块的参考帧序号,函数确定预测运动矢量的方法,如取中值或直接采用相同参考帧的邻块的运动矢量。
摘要由CSDN通过智能技术生成