Extraia os valores de RGB de um AVFRAME (FFMPEG) em C ++
Pergunta
Atualmente, estou tentando ler em quadros de vídeo usando o FFMPEG. O formato é pix_fmt_rgb24; Para cada quadro, os valores de RGB são todos combinados em quadros-> dados [0] (onde o quadro é do tipo avframe).
Como extrair os valores individuais de R, G e B para cada quadro? Isto é para processar o vídeo. Eu acho que funcionaria da mesma maneira que extrair os valores RGB de um bitmap também. Obrigado!
Solução
Meu palpite:
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];
Eu posso ter R, G e B para trás. E há muito espaço para aceleração.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow