From 92968aae5d263a87ce59a987ae962df9e2f12a03 Mon Sep 17 00:00:00 2001 From: Jamie Tittle Date: Tue, 12 Apr 2005 03:34:40 +0000 Subject: added colorspace message which allows us to select the destination colorspace (YUV, RGB/BGR, RGBA/BGRA); now uses GemPixUtils color conversions to centralize the code svn path=/trunk/externals/gem2pdp/; revision=2714 --- README | 12 +++- help-pdp2gem.pd | 216 +++++++++++++++++++++++++++++++------------------------- 2 files changed, 128 insertions(+), 100 deletions(-) diff --git a/README b/README index f632113..dacd778 100644 --- a/README +++ b/README @@ -1,7 +1,8 @@ ***************************************************************************** -copyleft 2003 by Yves Degoyon ( ydegoyon@free.fr ) +copyleft 2003-2005 by Yves Degoyon ( ydegoyon@free.fr ) -tarballs and updates available @ http://ydegoyon.free.fr +tarballs and updates available @ http://ydegoyon.free.fr +osx versions available @ http://homepage.mac.com/tigital gemp2pdp : GEM to PDP bridge @@ -18,3 +19,10 @@ patents. ***************************************************************************** +notes: + +- now allows you to select the colorspace that pdp's yv12 image format is converted to. This means we can now request a YUV colorspace, which is computationally much faster than yv12 to RGB or RGBA (so much so that it is the default). Colorspace can be indicated on object creation (ie. [pdp2gem RGB]) or by message (ie. [colorspace YUV<) + +- now uses standardized color conversions found in GemPixUtil.cpp, which includes altivec speedups! These use formulae from http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC30 + +- please note that colorspace switching between objects is handled automatically by GEM unless specifically stated (ie. by [pix_yuv], [pix_rgba], [pix_grey]) \ No newline at end of file diff --git a/help-pdp2gem.pd b/help-pdp2gem.pd index d2b5253..2b1f8eb 100644 --- a/help-pdp2gem.pd +++ b/help-pdp2gem.pd @@ -1,107 +1,127 @@ -#N canvas 222 41 827 508 12; -#X obj 526 366 gemwin; -#X msg 523 304 create; -#X msg 530 329 destroy; -#X obj 608 334 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 -1; -#X obj 90 391 pix_texture2; -#X obj 90 297 pix_rgba; -#X msg 231 321 -1 -2 -1 -2 8 -2 1 -2 1; -#X obj 90 358 pix_convolve 3 3; -#X obj 91 272 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1 -; -#X floatatom 153 440 5 0 0 0 - - -; -#X obj 72 201 gemhead; -#X text 67 230 ============================================================ -; -#X text 69 178 ============================================================ -; -#X text 365 449 pdp2gem : pdp to gem bridge; -#X text 365 467 written by Yves Degoyon (ydegoyon@free.fr); -#X text 369 278 GEM field; +#N canvas 100 128 824 539 10; +#X obj 30 6 cnv 15 740 120 empty empty empty 20 12 0 14 -233017 -66577 +0; #X obj 132 67 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 -1; -#X msg 118 102 loop \$1; -#X obj 96 105 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1 +#X msg 136 100 loop \$1; +#X obj 117 99 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1 ; -#X msg 194 39 open \$1; -#X obj 106 38 openpanel; -#X obj 77 39 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 +#X msg 197 58 open \$1; +#X obj 197 38 openpanel; +#X obj 176 38 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 -1; -#X floatatom 284 71 5 0 0 0 - - -; +#X floatatom 268 67 5 0 0 0 - - -; #X msg 156 68 stop; -#X obj 202 68 metro 70; -#X obj 637 119 pdp_v4l; -#X obj 637 93 metro 70; -#X obj 688 61 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X msg 637 61 stop; -#X obj 197 100 pdp_yqt; -#X obj 267 100 dac~; -#X text 653 37 Live; -#X text 322 9 PDP field; -#X text 368 202 pdp2gem must be inserted in GEM's rendering chain; -#X obj 287 202 pdp2gem; -#X obj 475 130 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X obj 501 131 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +#X obj 198 79 metro 70; +#X text 40 9 PDP field; +#X text 146 16 Play a movie (.mov); +#X text 75 64 Start; +#X obj 197 100 pdp_qt; +#X obj 30 255 cnv 15 740 250 empty empty empty 20 12 0 14 -101120 -66577 +0; +#X msg 304 293 -1 -2 -1 -2 8 -2 1 -2 1; +#X obj 197 317 pix_convolve 3 3; +#X floatatom 232 448 5 0 0 0 - - -; +#X text 365 449 pdp2gem : pdp to gem bridge; +#X text 365 467 written by Yves Degoyon (ydegoyon@free.fr); +#X text 41 267 GEM field; +#X obj 197 375 rotateXYZ; +#X obj 325 358 metro 10; +#X obj 292 379 + 1; +#X obj 291 359 f; +#X msg 325 379 bang; +#X obj 198 446 cube; +#X obj 197 350 pix_texture; +#X obj 173 301 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; -#X obj 525 131 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +#X obj 326 339 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; -#X text 81 12 Play a movie (.mov); -#X text 75 64 Start; -#X obj 450 156 pdp_cycle; -#X floatatom 185 416 0 0 0 0 - - -; -#X obj 90 416 rotateXYZ; -#X obj 298 414 metro 10; -#X obj 223 415 + 1; -#X obj 264 415 f; -#X msg 383 414 bang; -#X obj 436 414 loadbang; -#X obj 90 440 cube; -#X obj 449 95 pdp_spigot; -#X obj 539 71 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +#X obj 197 422 translateXYZ; +#X floatatom 219 399 5 0 0 0 - - -; +#X floatatom 292 424 5 0 0 0 - - -; +#X floatatom 265 398 5 0 0 0 - - -; +#X obj 656 271 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 +0; +#N canvas 0 22 454 304 gemwin 0; +#X obj 131 164 gemwin; +#X obj 67 89 outlet; +#X obj 67 10 inlet; +#X obj 67 41 route create; +#X msg 67 70 set destroy; +#X msg 142 68 set create; +#X msg 198 112 destroy; +#X msg 131 140 create \, 1 \, lighting 1; +#X obj 298 149 world_light; +#X obj 298 122 gemhead; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 7 0; +#X connect 3 1 5 0; +#X connect 3 1 6 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 9 0 8 0; +#X restore 661 309 pd gemwin; +#X msg 661 290 create; +#X text 657 270 Create window:; +#X obj 30 129 cnv 15 740 120 empty empty empty 20 12 0 14 -260818 -66577 +0; +#X text 67 230 ============================================================ ; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X connect 3 0 0 0; -#X connect 4 0 42 0; -#X connect 5 0 7 0; -#X connect 6 0 7 2; -#X connect 7 0 4 0; -#X connect 8 0 5 0; -#X connect 9 0 48 1; -#X connect 10 0 34 0; -#X connect 16 0 24 0; -#X connect 17 0 29 0; -#X connect 18 0 17 0; -#X connect 19 0 29 0; -#X connect 20 0 19 0; -#X connect 21 0 20 0; -#X connect 22 0 24 1; -#X connect 23 0 24 0; -#X connect 24 0 29 0; -#X connect 25 0 49 0; -#X connect 26 0 25 0; -#X connect 27 0 26 0; -#X connect 28 0 26 0; -#X connect 29 0 49 0; -#X connect 29 3 30 0; -#X connect 29 4 30 1; -#X connect 34 0 5 0; -#X connect 35 0 40 1; -#X connect 36 0 40 2; -#X connect 37 0 40 3; -#X connect 40 0 34 0; -#X connect 41 0 42 1; -#X connect 41 0 42 2; -#X connect 42 0 48 0; -#X connect 43 0 45 0; -#X connect 44 0 45 1; +#X obj 118 177 gemhead; +#X text 370 150 pdp2gem must be inserted in GEM's rendering chain; +#X text 68 137 ============================================================ +; +#X msg 218 197 colorspace YUV; +#X obj 196 215 pdp2gem; +#X msg 214 177 colorspace RGB; +#X msg 209 154 colorspace RGBA; +#X text 369 176 the colorspace indicates what format to transform pdp's +native YV12 to...YUV is default (and fastest); +#X obj 420 98 pdp_v4l; +#X obj 420 72 metro 70; +#X obj 471 40 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 +-1; +#X msg 420 40 stop; +#X text 436 16 Live; +#X text 379 481 and James Tittle (tigital@mac.com); +#X connect 1 0 9 0; +#X connect 2 0 13 0; +#X connect 3 0 2 0; +#X connect 4 0 13 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 9 1; +#X connect 8 0 9 0; +#X connect 9 0 13 0; +#X connect 13 0 44 0; +#X connect 15 0 16 2; +#X connect 16 0 27 0; +#X connect 17 0 26 1; +#X connect 21 0 30 0; +#X connect 22 0 24 0; +#X connect 23 0 24 1; +#X connect 24 0 23 0; +#X connect 24 0 21 2; +#X connect 24 0 21 1; +#X connect 25 0 22 0; +#X connect 27 0 21 0; +#X connect 28 0 16 0; +#X connect 29 0 22 0; +#X connect 30 0 26 0; +#X connect 31 0 30 1; +#X connect 32 0 30 3; +#X connect 33 0 30 2; +#X connect 35 0 36 0; +#X connect 36 0 35 0; +#X connect 40 0 44 0; +#X connect 43 0 44 0; +#X connect 44 0 16 0; #X connect 45 0 44 0; -#X connect 45 0 41 0; -#X connect 46 0 43 0; -#X connect 47 0 46 0; -#X connect 49 0 34 0; -#X connect 49 1 40 0; -#X connect 50 0 49 1; +#X connect 46 0 44 0; +#X connect 48 0 44 0; +#X connect 49 0 48 0; +#X connect 50 0 49 0; +#X connect 51 0 49 0; -- cgit v1.2.1