采用DirectDraw的H264解压缩源代码和YUV视频播放源代码

上传者: haxzhyh | 上传时间: 2023-02-15 14:38:30 | 文件大小: 4.15MB | 文件类型: RAR
采用DirectDraw的H264解压缩源代码和YUV视频播放源代码 从FFMPEG中摘录出来并且调试通过的H264解码的源代码(c文件),没使用FFMPEG编译出来的lib和dll库,可以直接在VS2010环境下单步调试以跟踪解压缩的所用过程细节,对于想学习和掌握H264编解码的标准的同学们非常有用. 读取h264格式的文件并进行实时解压缩和播放,解压缩后的图像格式是YUV,在一个对话框的控件中逐帧显示,程序在VS2010下编译链接通过,可直接使用. 视频播放是采用窗口式的基于DirectDraw方法,基于DirectDraw的图像播放是Windows平台下很高效的方法,已经封装成CDirectDraw类,可以很方便地直接应用到别的图像和视频处理工程中。 使用时打开h264文件或yuv文件(工程中有test.h264,encode.h264和FOREMAN_176x144_15.yuv三个测试文件),单击[Play File]即可进行播放,播放的帧率可以更改定时器时间调整。可以很方便的更改图像的宽度和高度以便播放不同分辨率的视频。

文件下载

资源详情

[{"title":"( 74 个子文件 4.15MB ) 采用DirectDraw的H264解压缩源代码和YUV视频播放源代码","children":[{"title":"H264_ddraw","children":[{"title":"YUVddraw.h <span style='color:#111;'> 453B </span>","children":null,"spread":false},{"title":"DDRAW.LIB <span style='color:#111;'> 27.34KB </span>","children":null,"spread":false},{"title":"YUVddraw.rc <span style='color:#111;'> 5.33KB </span>","children":null,"spread":false},{"title":"resource.h <span style='color:#111;'> 1002B </span>","children":null,"spread":false},{"title":"YUVddraw.vcxproj.filters <span style='color:#111;'> 3.81KB </span>","children":null,"spread":false},{"title":"YUVddrawDlg.cpp <span style='color:#111;'> 11.04KB </span>","children":null,"spread":false},{"title":"YUVddraw.vcxproj <span style='color:#111;'> 12.56KB </span>","children":null,"spread":false},{"title":"Debug","children":[{"title":"YUVddraw.exe <span style='color:#111;'> 647.00KB </span>","children":null,"spread":false}],"spread":true},{"title":"YUVddraw.aps <span style='color:#111;'> 58.08KB </span>","children":null,"spread":false},{"title":"YUVddraw.vcproj.LJZ.luhanyu.user <span style='color:#111;'> 1.37KB </span>","children":null,"spread":false},{"title":"YUVddraw.suo <span style='color:#111;'> 65.50KB </span>","children":null,"spread":false},{"title":"YUVddraw.vcproj.WWW-9F4CCF94900.Administrator.user <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"FOREMAN_176x144_15.yuv <span style='color:#111;'> 5.44MB </span>","children":null,"spread":false},{"title":"YUVddraw.sln <span style='color:#111;'> 882B </span>","children":null,"spread":false},{"title":"stdafx.h <span style='color:#111;'> 2.43KB </span>","children":null,"spread":false},{"title":"test.h264 <span style='color:#111;'> 333.23KB </span>","children":null,"spread":false},{"title":"DirectDraw.h <span style='color:#111;'> 1013B </span>","children":null,"spread":false},{"title":"h264","children":[{"title":"cabac.c <span style='color:#111;'> 35.12KB </span>","children":null,"spread":false},{"title":"cavlc.c <span style='color:#111;'> 24.17KB </span>","children":null,"spread":false},{"title":"common.c <span style='color:#111;'> 7.68KB </span>","children":null,"spread":false},{"title":"filter_mb.c <span style='color:#111;'> 15.17KB </span>","children":null,"spread":false},{"title":"fill_func.c <span style='color:#111;'> 17.94KB </span>","children":null,"spread":false},{"title":"utils.c <span style='color:#111;'> 22.26KB </span>","children":null,"spread":false},{"title":"cavlc.h <span style='color:#111;'> 712B </span>","children":null,"spread":false},{"title":"fill_func.h <span style='color:#111;'> 237B </span>","children":null,"spread":false},{"title":"dsputil.h <span style='color:#111;'> 19.63KB </span>","children":null,"spread":false},{"title":"h264data.h <span style='color:#111;'> 50.50KB </span>","children":null,"spread":false},{"title":"h263data.h <span style='color:#111;'> 9.16KB </span>","children":null,"spread":false},{"title":"h264.h <span style='color:#111;'> 292B </span>","children":null,"spread":false},{"title":"golomb.c <span style='color:#111;'> 8.09KB </span>","children":null,"spread":false},{"title":"inttypes.h <span style='color:#111;'> 589B </span>","children":null,"spread":false},{"title":"common.h <span style='color:#111;'> 33.19KB </span>","children":null,"spread":false},{"title":"imgconvert.c <span style='color:#111;'> 58.20KB </span>","children":null,"spread":false},{"title":"golomb.h <span style='color:#111;'> 10.34KB </span>","children":null,"spread":false},{"title":"parser.c <span style='color:#111;'> 24.35KB </span>","children":null,"spread":false},{"title":"filter_mb.h <span style='color:#111;'> 404B </span>","children":null,"spread":false},{"title":"dsputil.c <span style='color:#111;'> 126.34KB </span>","children":null,"spread":false},{"title":"error_resilience.c <span style='color:#111;'> 37.88KB </span>","children":null,"spread":false},{"title":"h264context.h <span style='color:#111;'> 7.56KB </span>","children":null,"spread":false},{"title":"mpegvideo.h <span style='color:#111;'> 39.01KB </span>","children":null,"spread":false},{"title":"simple_idct.h <span style='color:#111;'> 632B </span>","children":null,"spread":false},{"title":"pred_mb.h <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false},{"title":"mpegvideo.c <span style='color:#111;'> 78.51KB </span>","children":null,"spread":false},{"title":"allcodecs.c <span style='color:#111;'> 436B </span>","children":null,"spread":false},{"title":"config.h <span style='color:#111;'> 308B </span>","children":null,"spread":false},{"title":"rational.h <span style='color:#111;'> 814B </span>","children":null,"spread":false},{"title":"avcodec.h <span style='color:#111;'> 62.54KB </span>","children":null,"spread":false},{"title":"bswap.h <span style='color:#111;'> 2.25KB </span>","children":null,"spread":false},{"title":"h264.c <span style='color:#111;'> 71.16KB </span>","children":null,"spread":false},{"title":"cabac.h <span style='color:#111;'> 9.20KB </span>","children":null,"spread":false},{"title":"mem.c <span style='color:#111;'> 2.56KB </span>","children":null,"spread":false},{"title":"simple_idct.c <span style='color:#111;'> 14.70KB </span>","children":null,"spread":false},{"title":"pred_mb.c <span style='color:#111;'> 27.23KB </span>","children":null,"spread":false}],"spread":false},{"title":"DirectDraw.cpp <span style='color:#111;'> 5.56KB </span>","children":null,"spread":false},{"title":"ReadMe.txt <span style='color:#111;'> 2.72KB </span>","children":null,"spread":false},{"title":"YUVddrawDlg.h <span style='color:#111;'> 1.42KB </span>","children":null,"spread":false},{"title":"YUVddraw.sln.old <span style='color:#111;'> 880B </span>","children":null,"spread":false},{"title":"res","children":[{"title":"YUVddraw.rc2 <span style='color:#111;'> 364B </span>","children":null,"spread":false},{"title":"YUVddraw.ico <span style='color:#111;'> 21.12KB </span>","children":null,"spread":false}],"spread":false},{"title":"Release","children":[{"title":"YUVddraw.exe <span style='color:#111;'> 399.50KB </span>","children":null,"spread":false}],"spread":false},{"title":"stdafx.cpp <span style='color:#111;'> 139B </span>","children":null,"spread":false},{"title":"dxguid.lib <span style='color:#111;'> 76.87KB </span>","children":null,"spread":false},{"title":"YUVddraw.cpp <span style='color:#111;'> 1.64KB </span>","children":null,"spread":false},{"title":"YUVddraw.suo.old <span style='color:#111;'> 48.00KB </span>","children":null,"spread":false},{"title":"_UpgradeReport_Files","children":[{"title":"UpgradeReport.xslt <span style='color:#111;'> 12.21KB </span>","children":null,"spread":false},{"title":"UpgradeReport_Plus.gif <span style='color:#111;'> 71B </span>","children":null,"spread":false},{"title":"UpgradeReport.css <span style='color:#111;'> 3.27KB </span>","children":null,"spread":false},{"title":"Thumbs.db <span style='color:#111;'> 4.00KB </span>","children":null,"spread":false},{"title":"UpgradeReport_Minus.gif <span style='color:#111;'> 69B </span>","children":null,"spread":false}],"spread":false},{"title":"YUVddraw.vcxproj.user <span style='color:#111;'> 143B </span>","children":null,"spread":false},{"title":"UpgradeLog.XML <span style='color:#111;'> 3.16KB </span>","children":null,"spread":false},{"title":"encode.h264 <span style='color:#111;'> 262.36KB </span>","children":null,"spread":false},{"title":"YUVddraw.vcproj <span style='color:#111;'> 5.52KB </span>","children":null,"spread":false}],"spread":false},{"title":"H264_ddraw.txt <span style='color:#111;'> 767B </span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明