gpt4 book ai didi

ffmpeg libavcodec AVPixelFormat for png

转载 作者:行者123 更新时间:2023-12-04 23:06:31 28 4
gpt4 key购买 nike

什么AvPixelFormat我应该使用 *.png(PNG-24 和 PNG-8)图像吗?
我正在尝试使用 sws_scale 从 png 转换为 PIX_FMT_YUV420P

编辑,代码:

avpicture_fill((AVPicture*)m_encode_inpic, (uint8_t*)imagePixels, <WHAT PNG PIXELS FORMAT?>, m_imgInputWidth, m_imgInputHeight);                   //imagePixels is png bytes 
avpicture_fill((AVPicture*)m_encode_outpic, m_encode_outbuffer, PIX_FMT_YUV420P, m_encode_codec_context->width, m_encode_codec_context->height);

av_image_alloc(m_encode_outpic->data, m_encode_outpic->linesize, m_encode_codec_context->width, m_encode_codec_context->height, m_encode_codec_context->pix_fmt, 1);

struct SwsContext* fooContext = sws_getContext(m_videoOutputWidth, m_videoOutputHeight, PIX_FMT_RGB32, m_encode_codec_context->width, m_encode_codec_context->height, PIX_FMT_YUV420P, SWS_FAST_BILINEAR, NULL, NULL, NULL);
sws_scale(fooContext, m_encode_inpic->data, m_encode_inpic->linesize, 0, m_encode_codec_context->height, m_encode_outpic->data, m_encode_outpic->linesize);

Jpeg 像素格式是 AV_PIX_FMT_YUVJ420P,但是 PNG 是什么格式呢?

最佳答案

您必须先解码 PNG。 SWS 仅适用于原始像素。将压缩图形文件想象成一个 zip 文件。您必须先将其解压缩,然后才能看到里面的内容。通常您的浏览器或其他程序会自动为您执行此操作。您可以使用 libavcodec 解压缩 PNG,然后使用 pix_fmt 形成编解码器上下文。

关于ffmpeg libavcodec AVPixelFormat for png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571230/

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