#N canvas 693 0 632 558 10; #X obj 9 251 #out window; #X obj 0 0 doc_h; #X obj 3 292 doc_c 0; #X obj 3 332 doc_i 1; #X obj 3 442 doc_o 1; #X obj 14 362 doc_ii 0; #X obj 14 472 doc_oo 0; #X obj 9 112 #rgb_to_yuv; #X obj 9 213 #yuv_to_rgb; #X obj 3 504 doc_also; #X obj 103 504 #rgb_to_yuv; #X obj 0 524 doc_f; #X obj 9 159 # *>>8; #X text 232 362 image in unsigned full-range YUV format. This means that normal black is (0 128 128) and normal white is (255 128 128). ; #X text 232 410 this actually works on any grid of pixels : dim(... \, 3).; #X text 232 472 a grid of the same size as the input \, in RGB format. ; #X obj 97 472 doc_m o0 grid; #X obj 97 362 doc_m i0 grid; #X obj 127 137 #many nbx 1 3; #X obj 9 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 ; #X obj 9 93 #store; #X obj 75 38 loadbang; #X obj 9 74 metro 50; #X obj 9 232 #clip; #X obj 9 140 # - 128; #X obj 9 178 # + 128; #X obj 127 99 loadbang; #X msg 127 118 1 3 # 256 256 256; #X msg 75 57 load colorpanorama.jpg; #X obj 75 76 #in; #X msg 99 76 load pure-data.jpg; #X text 107 166 control contrast of individual Y \, U \, V channels relatively to the middle of their ranges.; #X connect 7 0 24 0; #X connect 8 0 23 0; #X connect 9 1 10 0; #X connect 12 0 25 0; #X connect 16 1 15 0; #X connect 17 1 13 0; #X connect 17 1 14 0; #X connect 18 0 12 1; #X connect 19 0 22 0; #X connect 20 0 7 0; #X connect 21 0 28 0; #X connect 22 0 20 0; #X connect 23 0 0 0; #X connect 24 0 12 0; #X connect 25 0 8 0; #X connect 26 0 27 0; #X connect 27 0 18 0; #X connect 28 0 29 0; #X connect 29 0 20 1; #X connect 30 0 29 0;