卡通农场全景装修图:encode_one_macroblock()中运动矢量预测上的问题 - H.264乐园 ...

来源:百度文库 编辑:中财网 时间:2024/04/29 18:56:54
  • 发短消息
  • 加为好友

hainei 当前离线

UID
74736 
帖子
71 
精华
积分
306 
阅读权限
30 
在线时间
49 小时 
注册时间
2009-11-12 
最后登录
2010-5-13 

中级会员

1# 打印 tT 发表于 2010-3-1 08:52 PM | 只看该作者

[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 

管理员

2# 发表于 2010-3-2 07:50 PM | 只看该作者 1、下一宏块的运动向量等信息也用当前宏块的运动向量预测吗?
——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 

管理员

3# 发表于 2010-3-2 07:50 PM | 只看该作者 1、下一宏块的运动向量等信息也用当前宏块的运动向量预测吗?
——ME 算法是开放部分,你想怎么做就怎么做。JM 在 ME 时会用到相邻块的 MV;

2、为什么P8*8内没有更新这些变量呢
——一定会更新的。自己再看看代码。 欢迎加入我们的QQ群:12923082。新加入者请先仔细阅读论坛中的《群成员须知》回复 引用

报告 道具 TOP

返回列表