gpt4 book ai didi

video - FFMPEG:解释任何编解码器函数指针的参数

转载 作者:行者123 更新时间:2023-12-04 23:09:29 26 4
gpt4 key购买 nike

我正在浏览这篇文章,How to integrate a codec in FFMPEG multimedia framework .
根据它,每个编解码器都需要定义3个基本函数,并将这些函数分配给结构AVCodec的函数指针。 .

上篇文章中指定的3个函数指针分别是:

.init -> takes care of allocations and other initializations

.close -> freeing the allocated memory and de-initializations

.decode -> frame by frame decoding.

对于函数指针 .decode ,分配的功能是:
static int cook_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
uint8_t *buf, int buf_size) {
...

这些参数的详细信息在上面的文章中指定。但是,在最新的代码中,以同样的函数为例,其声明如下所示:
static int cook_decode_frame(AVCodecContext *avctx, void *data,
int *got_frame_ptr, AVPacket *avpkt)

我需要对内存执行一些映射操作。所以,我请求是否有人可以在函数声明中解释上述参数。另外,哪个参数具有用于解码帧的输入缓冲区?解码一帧后,解码后的帧映射到哪个参数?

最佳答案

来自 this source ,看起来一般的想法是从 avpkt 解码音频/视频帧并将输出放入 data .基本上,您的链接中 API 的最大变化就是 bufbuf_size被卷成 AVPacket .还有 got_frame_ptr作为成功的标志。

关于video - FFMPEG:解释任何编解码器函数指针的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20342921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com