一、数据结构
struct AVD3D11VAContext{
ID3D11VideoDecoder * decoder; //D3D11解码器对象。
ID3D11VideoContext * video_context; //D3D11视频上下文
D3D11_VIDEO_DECODER_CONFIG * cfg //D3D11配置用于创建解码器。
unsigned surface_count //表面阵列中的表面数组。
ID3D11VideoDecoderOutputView ** surface; //用于创建解码器的Direct3D曲面阵列。
uint64_t workaround; //配置使用解码器所需的解决方法的一个字段。
unsigned report_id; //专用于FFmpeg AVHWAccel实现。
HANDLE context_mutex; //互斥体访问video_context。
}
二、宏
#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1
适用于Direct3D11和旧的UVD / UVD + ATI显卡。
#define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2
解决Direct3D11和具有ClearVideo界面的旧Intel GPU。
三、函数
AVD3D11VAContext * av_d3d11va_alloc_context (void)
解析:分配一个AVD3D11VAContext。
本文介绍了Direct3D11 (D3D11) 视频解码上下文的数据结构,包括解码器对象、视频上下文、配置参数等关键组成部分,并列举了针对特定硬件平台的宏定义,以及分配此类上下文的函数。
1万+

被折叠的 条评论
为什么被折叠?



