avcodec_parameters_from_context和avcodec_parameters_from_context有啥区别
时间: 2023-10-06 12:13:25 浏览: 162
我想你可能是打错了,正确的应该是 `avcodec_parameters_copy` 和 `avcodec_parameters_from_context`。
`avcodec_parameters_copy` 是将一个 `AVCodecParameters` 结构体从一个 `AVCodecContext` 结构体中复制到另一个 `AVCodecParameters` 结构体中。这个函数的作用是将编码器的参数(例如编码器类型、帧率、分辨率等)从一个编码器上下文复制到另一个编码器上下文中。
`avcodec_parameters_from_context` 是将一个 `AVCodecParameters` 结构体从一个 `AVCodecContext` 结构体中初始化。这个函数的作用是将编码器上下文中的参数(例如编码器类型、帧率、分辨率等)初始化到一个编码器参数结构体中。
它们的区别在于 `avcodec_parameters_copy` 是将一个编码器参数复制到另一个编码器参数中,而 `avcodec_parameters_from_context` 则是将编码器上下文中的参数初始化到一个编码器参数中。
相关问题
avcodec_parameters_from_context要放在avcodec_open2函数前面么
是的,通常情况下,应该先调用`avcodec_parameters_from_context()`函数来将编解码器上下文中的参数复制到编解码器参数中,然后再使用`avcodec_open2()`函数打开编解码器。这是因为在调用`avcodec_open2()`之前,必须将编解码器参数设置为正确的值,以确保编解码器能够正确地初始化。`avcodec_parameters_from_context()`函数可以将编解码器上下文中的参数复制到编解码器参数中,以确保它们匹配。
avcodec_parameters_from_context要放在avcodec_open2函数后面么
是的,通常情况下,avcodec_parameters_from_context函数应该在avcodec_open2函数之后调用。这是因为在调用avcodec_open2函数之后,视频解码器的参数已经被设置,而avcodec_parameters_from_context函数将从解码器的上下文中读取这些参数并将它们存储在AVCodecParameters结构体中。因此,如果在avcodec_open2函数之前调用avcodec_parameters_from_context函数,那么可能会导致一些参数没有被正确设置,从而导致解码出错。
阅读全文
相关推荐
















