gpt4 book ai didi

c++ - 如何将原始字符 * 放入 AVPacket

转载 作者:太空宇宙 更新时间:2023-11-04 11:35:31 29 4
gpt4 key购买 nike

我有一个存储在 char * 中的压缩图像,我想将它放回 AVPacket,以便我可以将它放入 ffmpeg 解码器。有人可以展示如何做到这一点吗?任何示例或教程将不胜感激。

提前致谢

最佳答案

我向您展示了一个与一些 ffmpeg 编码器相关的示例代码。

static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
const AVFrame *pict, int *got_packet) {
unsigned char *buf;
int ret, bufLen;
int64_t maxsize;

// Store image data to buf variable.
buf = ....
// Calculate buf length.
bufLen = ....

// Allocate AVPacket.
maxsize = FF_MIN_BUFFER_SIZE + avctx->width * avctx->height * 9;
if ((ret = ff_alloc_packet2(avctx, pkt, maxsize)) < 0)
return ret;

// Copy buf to AVPacket.
memcpy(pkt->data, buf, bufLen);
pkt->size = bufLen;

*got_packet = 1;

return 0;
}

关于c++ - 如何将原始字符 * 放入 AVPacket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23186010/

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