[FFmpeg-user] Bad dst image pointers
李罗
bruce_lee0815 at 163.com
Mon Jul 12 14:08:30 EEST 2021
I have already connected and opened camera successfully. But I can not transfor frame data from AV_PIX_FMT_YUVJ422P to AV_PIX_FMT_BGR24 after decoding. As I call method sws_scale, 'bad dst iamge pointers' shows up. Any help will be appreciate, my code:
AVFrame* pFrame, * pFrameYUV;
pFrame = av_frame_alloc();
pFrameYUV = av_frame_alloc();
int ret, got_picture;
AVPacket* packet = (AVPacket*)av_malloc(sizeof(AVPacket));
struct SwsContext* img_convert_ctx;
img_convert_ctx = sws_getContext(pCodecCtx->width, pCodecCtx->height, pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height, AV_PIX_FMT_BGR24, SWS_BICUBIC, NULL, NULL, NULL);
if (av_read_frame(pFormatCtx, packet) >= 0) {
if (packet->stream_index == videoindex) {
ret = avcodec_decode_video2(pCodecCtx, pFrame, &got_picture, packet);
if (ret < 0) {
return NULL;
}
if (got_picture) {
sws_scale(img_convert_ctx, (const unsigned char* const*)pFrame->data, pFrame->linesize, 0, pCodecCtx->height, pFrameYUV->data, pFrameYUV->linesize);
}
}
av_free_packet(packet);
}
| |
李罗
|
|
邮箱bruce_lee0815 at 163.com
|
签名由 网易邮箱大师 定制
More information about the ffmpeg-user
mailing list