cuvid硬件解码器的一些貌似不合理的设计

作者:罗上文,微信:Loken1,公众号:FFmpeg弦外之音

1,cuvid 解码器内部有不少重复,冗余的字段。

1-1

上图中,AVCodecContext::hw_device_ctxAVCodecContext::priv_data::hwdevice 重复,CuvidContext::cudlAVCUDADeviceContext::cuda_dl 重复。

补充:这个设计不算不合理,因为 FFmpeg 的设计里有两个概念,一个是硬件解码器,一个是硬件加速器

AVCodecContext::hw_device_ctx 字段就是给硬件加速器用的,而 AVCodecContext::priv_data::hwdevice 字段是给硬件解码器用的。


2,cuda_device_init() 被重复调用。

1-3

FFmpeg书籍版权所属@罗上文 2025 all right reserved,powered by Gitbook该文件修订时间: 2026-08-14 16:18:30

results matching ""

    No results matching ""