26 #include <fvwidgets/image_display.h>
27 #include <fvutils/color/conversions.h>
28 #include <fvutils/color/yuv.h>
33 using namespace firevision;
55 unsigned char *yp = buffer;
56 unsigned char *up = YUV422_PLANAR_U_PLANE(buffer, 512, 512);
57 unsigned char *vp = YUV422_PLANAR_V_PLANE(buffer, 512, 512);
59 for (
int v = 255; v >= 0 ; --v) {
60 for (
int u = 0; u < 256; ++u) {
67 memcpy(yp, (yp - 512), 512);
69 memcpy(up, (up - 256), 256);
70 memcpy(vp, (vp - 256), 256);
79 void brightness_up(
unsigned int val = 1)
81 if ( brightness != 255 ) {
82 if ( (brightness + val) < 255 ) {
87 printf(
"New brightness: %i\n", brightness);
96 if ( brightness != 0 ) {
97 if ( (brightness - (
int)val) > 0 ) {
102 printf(
"New brightness: %i\n", brightness);
108 unsigned char *buffer;
115 main(
int argc,
char **argv )
118 unsigned int width = 512;
119 unsigned int height = 512;
121 unsigned char *yuv_buffer = malloc_buffer(YUV422_PLANAR, width, height);
129 <<
" +--> U" << endl << endl;
132 display->
show(yuv_buffer);
134 SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
139 if ( SDL_WaitEvent(&event) ) {
140 switch (event.type) {
145 if ( event.key.keysym.sym == SDLK_UP ) {
147 display->
show(yuv_buffer);
148 }
else if ( event.key.keysym.sym == SDLK_DOWN ) {
150 display->
show(yuv_buffer);
151 }
else if ( event.key.keysym.sym == SDLK_PAGEUP ) {
153 display->
show(yuv_buffer);
154 }
else if ( event.key.keysym.sym == SDLK_PAGEDOWN ) {
156 display->
show(yuv_buffer);
157 }
else if ( event.key.keysym.sym == SDLK_ESCAPE ) {
159 }
else if ( event.key.keysym.sym == SDLK_q ) {