26 #include <fvwidgets/image_display.h> 27 #include <fvutils/color/conversions.h> 28 #include <fvutils/color/yuv.h> 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);
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 ) {
YUVSpaceDemo(unsigned char *yuv_buffer)
Constructor.
void brightness_up(unsigned int val=1)
Increase brightness.
void brightness_down(unsigned int val=1)
Decrease brightness.
void show(colorspace_t colorspace, unsigned char *buffer)
Show image from given colorspace.