[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