尼克斯和雷霆:encode_one_macroblock()中运动矢量预测上的问题 - H.264乐园 ...
来源:百度文库 编辑:偶看新闻 时间:2024/05/22 00:04:16
- 发短消息
- 加为好友
hainei 当前离线
- UID
- 74736
- 帖子
- 71
- 精华
- 6
- 积分
- 306
- 阅读权限
- 30
- 在线时间
- 49 小时
- 注册时间
- 2009-11-12
- 最后登录
- 2010-5-13
中级会员
[JM代码] encode_one_macroblock()中运动矢量预测上的问题
本帖最后由 hainei 于 2010-3-1 08:57 PM 编辑在encode_one_macroblock()中帧间部分模式1.2.3循环内部运动估计后,有一段代码:
if (mode==1)
{
if (best_pdir==1)
{
for (j=0; j<4; j++)
{
for (i=0; i<4; i++)
{
enc_picture->ref_idx[LIST_0][img->block_x+(block&1)*2+i][img->block_y+(block&2)+j] = -1;
enc_picture->ref_pic_id [LIST_0][img->block_x+(block&1)*2+i][img->block_y+(block&2)+j] = -1;
enc_picture->mv[LIST_0][img->block_x+(block&1)*2+i][img->block_y+(block&2)+j][0] = 0;
enc_picture->mv[LIST_0][img->block_x+(block&1)*2+i][img->block_y+(block&2)+j][1] = 0;
}
}
}
else if (mode==2)…………
else…………
这一段,我知道它是更新帧中的一些全局变量enc_picture->ref_idx,enc_picture->mv等等,也查了一些资料,说是这些全局变量作为BlockMotionSearch()中运动搜索时运动向量预测的依据,请问如何理解,是下一宏块的运动向量等信息也用当前宏块的运动向量预测吗?
还有为什么P8*8内没有更新这些变量呢,是不是P8*8中也用的是模式1.2.3中更新过的这些值? 收藏 分享 评分 回复 引用
订阅 报告 道具 TOP
firstime- 发短消息
- 加为好友
firstime (天之骄子)当前离线
- UID
- 1900
- 帖子
- 3316
- 精华
- 37
- 积分
- 3543
- 阅读权限
- 200
- 在线时间
- 578 小时
- 注册时间
- 2006-9-26
- 最后登录
- 2010-5-13
管理员
——ME 算法是开放部分,你想怎么做就怎么做。JM 在 ME 时会用到相邻块的 MV;
2、为什么P8*8内没有更新这些变量呢
——一定会更新的。自己再看看代码。 欢迎加入我们的QQ群:12923082。新加入者请先仔细阅读论坛中的《群成员须知》! 回复 引用
报告 道具 TOP
firstime- 发短消息
- 加为好友
firstime (天之骄子)当前离线
- UID
- 1900
- 帖子
- 3316
- 精华
- 37
- 积分
- 3543
- 阅读权限
- 200
- 在线时间
- 578 小时
- 注册时间
- 2006-9-26
- 最后登录
- 2010-5-13
管理员
——ME 算法是开放部分,你想怎么做就怎么做。JM 在 ME 时会用到相邻块的 MV;
2、为什么P8*8内没有更新这些变量呢
——一定会更新的。自己再看看代码。 欢迎加入我们的QQ群:12923082。新加入者请先仔细阅读论坛中的《群成员须知》! 回复 引用
报告 道具 TOP
返回列表