Video Programm

C

cobol

Jungspund
Hallo alle zusammen,

mein Problem ist das ich gerne die Matrix die zur Bildwiedergabe von einer Kamera , die an einen Framegrabber angeschlossen ist mir anzeigen oder auch spiechern möchte.
Es handelt sich um ein bestehendes Programm und ich aheb bisher nur sehr wenig Erfahrung mit Video-Porgrammen.

Dies ist, so denke ich, die Stelle an der ich das abgreifen und anzeigen bzw. speichern kann aber bin mir nicht sicher und auch nicht sicher wie ich das am besten löse. Also nun das Stück aus dem Code (falls es erforderlich sein sollte kann ich auch den ganzen Code posten, ist aber dann etwas länger):

static int load_png_to_packed4444( uint8_t *buffer, int *active,
int width, int height, int stride,
double pixel_aspect, pnginput_t *pngin )
{
int has_alpha = pnginput_has_alpha( pngin );
int pngwidth, pngheight;
uint8_t *cb444;
uint8_t *curout;
int i;

pngwidth = pnginput_get_width( pngin );
pngheight = pnginput_get_height( pngin );

cb444 = malloc( pngwidth * 3 );
if( !cb444 ) return 0;

curout = malloc( pngwidth * 4 );
if( !curout ) {
free( cb444 );
return 0;
}

for( i = 0; i < height; i++ ) {
uint8_t *scanline = pnginput_get_scanline( pngin, i );
uint8_t *outputscanline = buffer + (stride * i);

if( has_alpha ) {
rgba32_to_packed4444_rec601_scanline( curout, scanline, pngwidth );
premultiply_packed4444_scanline( curout, curout, pngwidth );
} else {
rgb24_to_packed444_rec601_scanline( cb444, scanline, pngwidth );
packed444_to_nonpremultiplied_packed4444_scanline( curout, cb444, pngwidth, 255 );
}

aspect_adjust_packed4444_scanline( outputscanline, curout, pngwidth, pixel_aspect );
if( active ) {
int x;

active[ i ] = 0;
for( x = 0; x < width; x++ ) {
if( outputscanline[ (x * 4) ] ) {
active[ i ] = 1;
break;
}
}
}
}

free( curout );
free( cb444 );

return 1;
}


Kann mir da jemand vielleicht dann etwas weiterhelfen?

MfG
Cobol
 

Ähnliche Themen

NagiosGrapher 1.7.1 funktioniert nicht

Displayport + externer Monitor zeigt bei startx nichts erst bei DVI

Festplatte stirbt, dd funktioniert nicht

GB-errinerung in QT hat Speicherzugrifsfehler

Ubuntu X / dbus problem

Zurück
Oben