有关SDK里面的两个例子,请大神进来指教下,谢谢了!

我最近在跑样例里面的两个例子,一个是cudaDecodeD3D9,发现没法弹出播放窗口,应该是这段没有执行:

if (!g_bQAReadback && !bTCC)
{
   ShowWindow(hWnd, SW_SHOWDEFAULT);
   UpdateWindow(hWnd);
}

但是程序正常解码了。请问这是为什么?

另外一个例子是cudaDecodeGL,这个里面的播放窗口是白色的,没有视频内容。
请各位大神指教,谢谢了!

LZ您好,方便提供下您的软硬件环境么?

我估计您有可能是telsa卡并运行在TCC驱动模式下,而TCC驱动是不支持CUDA和D3D/OPENGL互操作的,所以如果您使用TCC驱动的话,这里可能有问题。不过我这里没有telsa卡,所以无法试验,仅作推断如此。

此外,您的第一个例子,该程序按照说明需要添加命令行参数“-displayvideo”才能显示视频。如果您已经添加,请无视本条建议。

除此而外,也可能是其他问题,请您继续反馈,也请更为熟悉此问题的网友/版主补充。

祝您编码顺利~

我的显卡是GT240M,很老的卡了。我是在VS里面做的啊?怎么添加那个命令呢?

您好,如果您是GT240M的卡的话,请无需考虑TCC驱动模式的问题,因为那个是telsa卡专有的。

关于“-displayvideo”参数的问题,您可以在用命令行模式执行您的exe的时候,手工打上去。
如果需要在VS里面调试的时候也添加上的话,那么可以在工程名称上右键——属性——配置属性——调试——命令参数 ,在这里添加。如此一来在调试的时候就会自动输入该参数了。

关于CUDA例子的其他问题,我尚不清楚,有待其他人补充。

祝您调试顺利~

太感谢了,没有弹出框的那个已经成功显示了。

有关cudaDecodeGL窗口没有视频内容的问题我再去读读代码和说明。

谢谢您了。

LZ您好,很荣幸能为您解决一个问题。

第二个问题还请其他人继续补充。如果您有任何新的发现,欢迎及时反馈。

祝您编码顺利~

您好,我的第二个问题也解决了。

我仔细看了下视频框的显示和源码,发现是g_bUseDisplay参数的问题。

只要在void computeFPS(int bUseInterop)中,将其设置成true就可以正常显示了。:slight_smile:

谢谢您的支持。

恭喜LZ解决问题,感谢您的反馈!

祝您编码愉快~

您好,我想请教一下,哪里可以找到SDK里面例子的程序说明呢?除了SDK自带的pdf文档以外的。

如果有的话可以给出网络链接么?万分感谢。!

您好,这个好像没有进一步说明的,除了自带的pdf以外,似乎就只能读代码看注释了。

嗯好的,谢谢了。我去阅读源码。

不客气,祝您一切顺利~

嗯好的,我在阅读源码。

现在有一个问题:这个cudaDecodeD3D9为何无法解码mkv格式的文件呢?需要用什么参数么?

LZ您好,我不清楚这个问题,但是考虑到mkv其实是一种“容器格式”。您可以查询下该容器格式是否被支持,以及是否需要其他操作先从容器中分离出所需的数据,再进一步处理。

无责任推测如上,祝您好运~

注释中说了支持mkv的。。但是老是出错。。唉 = =

mkv据我所知是不行的,CUVideoSource貌似不支持这个容器。
实在要解你可以用ffmpeg的demuxer,但是替换掉CUVideoSource的过程有点繁琐。