Я работаю над декодером H264, я хочу декодировать данные в формате родного изображения в RGB565 и визуализировать это изображение в SDL.
struct SwsContext *sws_ctx = NULL;
int frameFinished;
AVPacket packet;
// initialize SWS context for software scaling
sws_ctx = sws_getContext(pCodecCtx->width,
pCodecCtx->height,
pCodecCtx->pix_fmt,
pCodecCtx->width,
pCodecCtx->height,
PIX_FMT_RGB565,
SWS_BILINEAR,
NULL,
NULL,
NULL
);
avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);
// Convert the image from its native format to RGB
sws_scale(sws_ctx, (uint8_t const * const *)pFrame->data,
pFrame->linesize, 0, pCodecCtx->height,
pFrameRGB->data, pFrameRGB->linesize);
Теперь у нас есть данные rgb565 в PFrameRGB . Может ли кто-нибудь помочь мне отобразить эти данные RGB565 в SDL, используя SDL_CreateRGBSurfaceFrom .