我正在尝试在Windows应用程序中输出H.264视频。我对FFMPEG非常熟悉,并且我成功地让它在SDL窗口中播放H.264而没有任何问题。不过,我真的会从使用硬件加速(可能通过DXVA2)中受益
我正在阅读原始H264视频,没有容器,没有音频......只是原始视频(没有B帧,只有I和P)。此外,我知道将使用此应用程序的所有系统都具有至少支持VP3的Nvidia GPU。 考虑到这一系列的假设,我希望削减一些角落,让它变得简单而不是一般,只是让它适用于我的特定场景。
到目前为止,我知道我需要通过调用ff_find_hwaccel填充hwaccel成员来在编解码器上下文中设置硬件加速。我的计划是看看Media Player Classic Home Cinema,它在解码H.264时使用FFMPEG支持DXVA2做得相当不错。但是,代码非常大,我不确定在哪里查看。我可以在h264.c中找到调用ff_find_hwaccel的地方,但我想知道我应该在哪里查看。
更具体地说,我想知道为了让DXVA2通过FFMPEG工作,我必须编写的最小步骤是什么?
编辑:如果有人知道我在哪里可以找到可以解决这个问题的“重要”代码,我可以查看VLC或其他任何内容。我刚刚提到MPC-HC,因为我认为在Windows中编译是最容易的。