蜘蛛&&H.264的学习乐园

-------------------------zhizhu777&&H.264的学习乐园

用户操作
[即时聊天] [发私信] [加为好友]
zhizhu666 蜘蛛777ID:zhizhu666
3331次访问,排名2万外好友0人,关注者0
H.264软件开发
zhizhu666的文章
原创 5 篇
翻译 0 篇
转载 2 篇
评论 2 篇
zhizhu666 蜘蛛777的公告
公告: 欢迎进入蜘蛛&&H.264的学习乐园! 本人目前致力于H.264的学习! 希望结识各位朋友! QQ:16454010 zhizhu777@163.com
最近评论
一泓:不错,怎么不全呢?
茗:我用你的程序试了试,可是为什么我得到的sad总是0(除了对角预测)?
文章分类
收藏
相册
蜘蛛的相册
H.264视频编解码技术
视频乐园
JM模型学习
我的生活
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 对蓝风车的运动估计算法代码的个人理解收藏

新一篇: 关于CAVLC相关码表在JM程序实现的理解 | 旧一篇: 关于JM测试模型参数的设定的简单方法:

对蓝风车的运动估计算法代码的个人理解


最近在看蓝风车的运动估计算法程序的一些注释与理解:现贴在这里希望对大家能有所帮助,当然有理解不当的地方还请各位指正!
(上传文字有限对程序的注释防在附件里)
注意几点注意我这个x 表示列,y 表示行)(XX代表高度,YY代表宽度)
1. 这个地方图象的存放地点和图象的尺寸 (图象固定使用一种16*16的宏块没有子宏块的划分.参考帧只有一个.)
#define XX 288#define YY 352(我的图象是这样的采用foreman.yuv和foremanrec.yuv命名)(若自己不清楚可以用YUV播放器看一下!)重构图象在编码的时候将配置文件写好.比如(关于怎样修改配置参数请参照本人的关于配置参数设定的一个帖子<<JM测试模型参数的设定>>)

http://bbs.chinavideo.org/viewthread.php?tid=2053&page=1&extra=#pid5847(主要是在DEBUG里设置为-d myencoder.cfg,在config.hDEFINE里设置为myencoder.cfg)
InputFile             = "E:\\foreman.yuv"   # Input sequence  (先将YUV文件放至E:\\foreman.yuv)
FramesToBeEncoded     = 8      # Number of frames to be coded
SourceWidth           = 352    # Frame width
SourceHeight          = 288   # Frame height
ReconFile             = "E:\\foremanrec.yuv"

2.////宏定义函数由于C语言宏定义只有一行故使用"\"表示转入下一行
#define PATTERN_SEARCH(pattern,num,flag) \do\.......hile ( (mv.dx!=mvx || mv.dy!=mvy) && flag==1 ); 类似还有#define CHECK_ONE_PIXEL(i,j) \
////a,b,c的中值
2.        int x264_median( int a, int b, int c=0 )///用于求MVA,MVB,MVC,MVD等的运动矢量的中值
3.        uint32 sad=0xffffff;//有符号为0  用于初始化//????为何取有符号数原因?//       MV mv={0,0};上一帧当前位置的运动矢量
4.///获取常用的预测运动矢量列表本人做了一些改动:
///   D B  C  ////E为当前宏块
A  E   
       if(x>0){pre_mv[1]=frame_info.mv[x-1][y];sad[1]=frame_info.sad[x-1][y];//存放A  MVA}
  5.   #undef PATTERN_SEARCH!!!!!!!!!!!!!!!!!宏定义函数结束
void main()//添加一些输出信息可能对大家理解起来教方便些..for( i=0;i<X;i++)
printf("%d\t\t\t%d\t\t\t%d\n",frame_info.frame_pot,frame_info.frame_sad,frame_info.frame_sse);}

       printf("last time display :\nframe\tcost\t峰值信噪比psnrsad/see\n") printf("%d\t\t%.2f\t\t%.2f/%.2f\n",k,(float)frame_info.frame_pot/X/Y,10*log10(XX*YY*255*255.0/frame_info.frame_sad),10*log10(XX*YY*255*255.0/frame_info.frame_sse));
       6.对程序的注释和理解请参考附件..
       7.错误之处请批评指正..

 具体程序请在视频乐园本人的文章有下载地址!

发表于 @ 2007年05月12日 21:48:00|评论(loading...)|编辑

新一篇: 关于CAVLC相关码表在JM程序实现的理解 | 旧一篇: 关于JM测试模型参数的设定的简单方法:

评论:没有评论。

发表评论  


登录
Csdn Blog version 3.1a
Copyright © zhizhu666 蜘蛛777