社区
图象工具使用
帖子详情
YV12序列如何让directshow直接播放?
nodirection
2012-11-01 03:30:37
在不对YV12序列进行变换的前提下如何才能让VMR直接播放出正常的视频?
调试发现在Graph Run之后改变了之前连接时协商好的媒体类型(图像尺寸变了),导致最终播放出来的现象是条纹.
输出是YV12,开始协商的媒体类型是352x288,等Run之后,媒体类型就变成了:384x-288,图像就是条纹,如果是YUY2输出的话,就会变成:512x-288
各位大牛,怎么办啊。
...全文
409
15
打赏
收藏
YV12序列如何让directshow直接播放?
在不对YV12序列进行变换的前提下如何才能让VMR直接播放出正常的视频? 调试发现在Graph Run之后改变了之前连接时协商好的媒体类型(图像尺寸变了),导致最终播放出来的现象是条纹. 输出是YV12,开始协商的媒体类型是352x288,等Run之后,媒体类型就变成了:384x-288,图像就是条纹,如果是YUY2输出的话,就会变成:512x-288 各位大牛,怎么办啊。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rageliu
2012-11-23
打赏
举报
回复
就是一个格式动态变化的问题. 你在filter里响应它的新格式请求,按新格式排列就行了 或是直接向上游filter递交新格式请求,让它直接按新格式给你传数据,这样你都不用自己排列
nodirection
2012-11-13
打赏
举报
回复
非常感谢guyue6670大哥,他告诉我数据对齐的问题。 无意中发现了一个帖子,里面有一个对齐算法。一试竟然成功显示了。 代码: if(nWidth == nWidthRender) { memcpy(pOutData, pData, lOutLen); } else { for(int i = 0; i < nHeight; i++) { memcpy(pOutData, pData, nWidth); pData += nWidth; pOutData += nWidthRender; } for(int i = 0; i < (nHeight >> 1) * 2; i++) { memcpy(pOutData, pData, nWidth >> 1); pData += nWidth >> 1; pOutData += nWidthRender >> 1; } } 我是在我source filter里的fillbuffer里加这段代码 谢谢这个帖子:http://blog.csdn.net/xuxinhua/article/details/6858304
jjjweiren
2012-11-13
打赏
举报
回复
为了将结果告诉大家,只好用另一个号回复一下。
nodirection
2012-11-05
打赏
举报
回复
继续在线等。
nodirection
2012-11-05
打赏
举报
回复
我的代码,大牛帮我看看啊。我真的好急啊。 HRESULT CBallStream::GetMediaType(int iPosition, CMediaType *pmt) { CheckPointer(pmt,E_POINTER); CAutoLock cAutoLock(m_pFilter->pStateLock()); if(iPosition < 0) { return E_INVALIDARG; } // Have we run off the end of types? if(iPosition > 0) { return VFW_S_NO_MORE_ITEMS; } pmt->InitMediaType(); pmt->SetType(&MEDIATYPE_Video); pmt->SetSubtype(&MEDIASUBTYPE_YV12); pmt->SetFormatType(&FORMAT_VideoInfo2); //pmt-> SetType (&MEDIATYPE_Video); //pmt-> SetSubtype (&MEDIASUBTYPE_RGB24); //pmt-> SetFormatType(&FORMAT_VideoInfo); pmt->SetTemporalCompression(false); VIDEOINFOHEADER2 *pvi = (VIDEOINFOHEADER2 *)pmt->AllocFormatBuffer(sizeof(VIDEOINFOHEADER2)); ZeroMemory(pvi, sizeof(VIDEOINFOHEADER2)); pvi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); pvi->bmiHeader.biPlanes = 1; pvi->bmiHeader.biBitCount = 24; pvi->bmiHeader.biWidth = 704; pvi->bmiHeader.biHeight = 576; pvi->bmiHeader.biSizeImage = DIBSIZE(pvi->bmiHeader); pvi->bmiHeader.biCompression = MAKEFOURCC('Y','V','1','2'); pvi->AvgTimePerFrame = /*10000000 / 60;*/333667; pvi->dwInterlaceFlags = 0; //AMINTERLACE_IsInterlaced | AMINTERLACE_Field1First; // | AMINTERLACE_FieldPatBothIrregular | AMINTERLACE_DisplayModeBobOnly; pvi->dwCopyProtectFlags = AMCOPYPROTECT_RestrictDuplication; pvi->dwPictAspectRatioX = (DWORD)pvi->bmiHeader.biWidth; pvi->dwPictAspectRatioY = (DWORD)pvi->bmiHeader.biHeight; pmt->SetSampleSize(pvi->bmiHeader.biSizeImage); SetRect(&pvi->rcSource, 0, 0, 704, 576); SetRect(&pvi->rcTarget, 0, 0, 704, 576); return NOERROR; } // GetMediaType
nodirection
2012-11-02
打赏
举报
回复
谢谢,谢谢sure
帅惊联合国
2012-11-02
打赏
举报
回复
有心无力。。。 不过帮顶 !
nodirection
2012-11-02
打赏
举报
回复
自己顶一下。
nodirection
2012-11-02
打赏
举报
回复
难得的友情哦。呵呵
nodirection
2012-11-02
打赏
举报
回复
感谢顶我。
nanjun520
2012-11-02
打赏
举报
回复
汗 真心的不懂 顶一下
nodirection
2012-11-02
打赏
举报
回复
回帖都有分,谢谢。
mindsky
2012-11-02
打赏
举报
回复
不懂,但是路过帮顶!
nodirection
2012-11-01
打赏
举报
回复
好无助啊。
Elecard StreamEye Studio 3.1(含2.9.0)
Elecard.Streameye.v3.1,是一个强大的视频
序列
或码流分析软件,YUV分析,264文件分析软件,H.264视频编解码学习必备的东西,Elecard StreamEye Suite是一套用于专业视频压缩领域的功能强大的工具 ,能够帮助用户...
DirectShow
过滤器开发-H264解码器
输出引脚标识:Out 输出引脚媒体类型: 主要类型:MEDIATYPE_Video 子类型: MEDIASUBTYPE_I420 MEDIASUBTYPE_IYUV MEDIASUBTYPE_NV12 MEDIASUBTYPE_YUY2 MEDIASUBTYPE_
YV12
格式类型:FORMAT_VideoInfo2 样本为...
视频基础知识汇总
(4)
YV12
,YU12格式(属于YUV420) YU12和
YV12
属于YUV420格式,也是一种Plane模式,将Y、U、V分量分别打包,依次存储。其每一个像素点的YUV数据提取遵循YUV420格式的提取方式,即4个Y分量共用一组UV。注意,上图中...
DirectShow
过滤器开发-H264编码器
下载本过滤器DLL 本过滤器将IYUV,NV12,YUY2,
YV12
视频流,编码为H264视频流。 过滤器信息 过滤器名称:H264编码器 过滤器GUID:{00A42985-2231-4AFC-8563-001F520E6BA6} DLL注册函数名:DllRegisterServer 删除...
FFmpeg学习(音视频理论知识)
什么是
YV12
,什么是YUY2? YUV 格式通常有两大类:打包( packed )格式和平面( planar )格式。前者将 YUV分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素( macro-pixel );而后者使用三个数组...
图象工具使用
1,451
社区成员
24,332
社区内容
发帖
与我相关
我的任务
图象工具使用
多媒体/设计/Flash/Silverlight 开发 图象工具使用
复制链接
扫一扫
分享
社区描述
多媒体/设计/Flash/Silverlight 开发 图象工具使用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章