从C++中的AVFrame(FFMPEG)中提取RGB值

Ext*_*kun 7 c++ ffmpeg bitmap

我目前正在尝试使用FFMPEG读取视频帧.格式为PIX_FMT_RGB24; 对于每个帧,RGB值都在frame-> data [0]中组合在一起(其中frame是AVFrame类型).

如何为每个帧提取单独的R,G和B值?这是用于处理视频.我认为它的工作方式与从位图中提取RGB值的方式相同.谢谢!

Dav*_*vid 5

我猜:

int p=x*3+y*frame->linesize[0];
r=frame->data[0][p];
g=frame->data[0][p+1];
b=frame->data[0][p+2];
Run Code Online (Sandbox Code Playgroud)

我可能把 r、g 和 b 倒过来了。而且还有很大的加速空间。