社区
多媒体/流媒体开发
帖子详情
问问xvid编码器的用法?
ralphchen
2006-01-17 10:01:46
编译得到xvidvfw.dll,安装也成功了。但是不会用。请高人指点!
...全文
445
3
打赏
收藏
问问xvid编码器的用法?
编译得到xvidvfw.dll,安装也成功了。但是不会用。请高人指点!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lserlohn
2006-04-28
打赏
举报
回复
就是写一个播放器,构建一个Graph,中间加入这个Filter,很基础,SDK中有很多源码
张友邦
2006-04-28
打赏
举报
回复
答非所问,只想赚分。有病!
yyhzpk
2006-01-22
打赏
举报
回复
这是利用xvid解码库解视频画面存为bmp图片的代码
xvid_dec_stats_t stats;
int length;
// m_create.width = 720;
// m_create.height = 480;
memset(&stats, 0, sizeof(stats));
stats.version = XVID_VERSION;
if (m_create.handle == NULL)
{
if (xvid_decore_func == NULL)
AfxMessageBox("FAil");
if (xvid_decore_func(0, XVID_DEC_CREATE, &m_create, 0) < 0)
{
AfxMessageBox("FAil");
}
}
AM_MEDIA_TYPE mtOut;
// mtOut.majortype = MEDIATYPE_Stream;
mtOut.subtype = /*MEDIASUBTYPE_RGB32;//*/MEDIASUBTYPE_RGB24;
mtOut.formattype = FORMAT_VideoInfo;
VIDEOINFOHEADER format;
format.bmiHeader.biHeight = 288;
format.bmiHeader.biWidth = 352;
format.bmiHeader.biBitCount = 24;
mtOut.pbFormat = (BYTE*)&format;
ChangeColorspace(mtOut.subtype, mtOut.formattype, mtOut.pbFormat);
// ChangeColorspace(MEDIASUBTYPE_RGB24,FORMAT_VideoInfo,);
BYTE *pbuffer = new BYTE[20*1024*1024];
BYTE *pbufferout = new BYTE[20*1024*1024];
memset(pbuffer,0,20*1024*1024);
memset(pbufferout,0,20*1024*1024);
CFile bmpFile("D:\\1.dbt",CFile::modeReadWrite);
bmpFile.Read(pbuffer,2*1024*1024);
bmpFile.Close();
m_frame.length = 2*1024*1024;
m_frame.bitstream = pbuffer;
m_frame.output.plane[0] = pbufferout;
m_frame.general = XVID_LOWDELAY;
m_frame.general |= XVID_DISCONTINUITY;
m_frame.brightness = g_config.nBrightness;
m_frame.output.csp &= ~XVID_CSP_VFLIP;
m_frame.output.csp |= rgb_flip^(g_config.nFlipVideo ? XVID_CSP_VFLIP : 0);
//////////////////////////////////////////////////////////////////////////
repeat :
// memset(pbuffer,0,20*1024*1024);
// memset(pbufferout,0,20*1024*1024);
length = xvid_decore_func(m_create.handle, XVID_DEC_DECODE, &m_frame, &stats);
// if (length < 0)
// {
// return ;
// }
// else if (g_config.aspect_ratio == 0 || g_config.aspect_ratio == 1 && forced_ar == false)
// {
// }
if(stats.type == XVID_TYPE_BVOP)
AfxMessageBox("BBB");
if(stats.type == XVID_TYPE_IVOP || stats.type == XVID_TYPE_BVOP || stats.type == XVID_TYPE_PVOP)
{
BITMAPFILEHEADER hdr;
BITMAPINFOHEADER bi;
memset(&hdr,0,sizeof(BITMAPFILEHEADER));
memset(&bi,0,sizeof(BITMAPINFOHEADER));
bi.biPlanes = 1;
bi.biCompression = BI_RGB;
bi.biBitCount = 24;
bi.biHeight = 288;
bi.biWidth = 352;
bi.biSize = sizeof(BITMAPINFOHEADER);
bi.biSizeImage = 0;
hdr.bfType = ((WORD)('M'<<8)|'B');
hdr.bfSize = 3*352*288 + sizeof(hdr)+sizeof(bi);
hdr.bfReserved1 = 0;
hdr.bfReserved2 = 0;
CFile outFile("D:\\out.bmp",CFile::modeCreate|CFile::modeReadWrite);
outFile.Write(&hdr,sizeof(BITMAPFILEHEADER));
outFile.Write(&bi,sizeof(BITMAPINFOHEADER));
outFile.Write(pbufferout,3*352*288);
outFile.Close();
}
delete[] pbuffer;
delete []pbufferout;
解决VC6.0用opencv无法打开avi文件的方法
刚开始接触OpenCV,开始用的是1.0版本,支持VC6.0,如果想了解opencv1.0如何... opencv1.0似乎只能打开avi格式的视频文件,而且对avi格式的视频文件也有严格的编码要求,这可能是opencv1.0的一个小小的缺陷,呵呵……
Google VP8 Code 首次深入技术分析 1
记住,
编码器
和规范是两个不同的东西:可能存在根据差的规范写出好的
编码器
实现,也可能反过来!所以为什么一个很好的MPEG – 1
编码器
可以击败一个差劲的H.264
编码器
。 But first, a comment on the spec ...
Opencv1.0出现播放视频是一闪而过的情况分析
刚开始接触OpenCV,开始用的是1.0版本,支持VC6.0,如果想了解opencv1.0如何在VC6.0... opencv1.0似乎只能打开avi格式的视频文件,而且对avi格式的视频文件也有严格的编码要求,这可能是opencv1.0的一个小小的缺陷,呵
H264 常见问题(zz from chinavideo)
编码器
实现是各公司自己的事,只要形成的码流符合标准就行 解码器必须按照这个格式来,这样任何符合标准的码流都可以解出来 肃明智 11.19 08:46 Q:What is R VLC ? A:It is a VLC method which...
H264解码器源码(Android 1.6 版)
H264解码器源码,移植ffmpeg中的H264解码部分到Android,深度删减优化,在模拟器(320x480)中验证通过。 程序的采用jni架构。界面部分,文件读取,视频显示都是用java做的,底层的视频解码用C来做满足速度的要求。...
多媒体/流媒体开发
2,553
社区成员
20,277
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章