2009-06-26 21 views
7

Obecnie próbuję odczytać ramki wideo za pomocą FFMPEG. Format to PIX_FMT_RGB24; Dla każdej ramki wartości RGB są łączone razem w ramce-> dane [0] (gdzie ramka jest typu AVFrame).Wyodrębnij wartości RGB z ramki AVFrame (FFMPEG) w C++

Jak wyodrębnić poszczególne wartości R, G i B dla każdej klatki? To jest do przetwarzania wideo. Myślę, że działałoby to tak samo, jak wyodrębnianie wartości RGB z bitmapy. Dzięki!

+0

Po prostu wyjaśnienie - potrzebuję niezależnej wartości R, G i B; Powinienem już mieć surowe dane RGB z AvFrame – Extrakun

Odpowiedz

4

Zgaduję:

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]; 

mógłbym R, G, i b tyłu. I jest dużo miejsca na przyspieszenie.

+0

Powiązana odpowiedź: http://stackoverflow.com/questions/9912873/ffmpeg-avframe-get-full-decoded-data-to-char – Nav

Powiązane problemy