projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add alpha to bluebananna, add unicode Ctl/Shft/U textbox input, bluray presets
[goodguy/history.git]
/
cinelerra-5.1
/
plugins
/
bluebanana
/
bluebananacolor.c
diff --git
a/cinelerra-5.1/plugins/bluebanana/bluebananacolor.c
b/cinelerra-5.1/plugins/bluebanana/bluebananacolor.c
index 0de216de661580925b992bb469c7782188d7af13..357518aee8216155a953abded8cff5eece219a47 100644
(file)
--- a/
cinelerra-5.1/plugins/bluebanana/bluebananacolor.c
+++ b/
cinelerra-5.1/plugins/bluebanana/bluebananacolor.c
@@
-225,6
+225,16
@@
static inline void RGB_to_rgb8(float *R, float *G, float *B, float *S, float F,
}
}
}
}
+static inline void Aal_to_alp8(float *S, float F, unsigned char *row, int w, int bpp){
+ F = 1.f - F;
+ while(w--){
+ float a = (1 - *S*F)*255.f +.5f;
+ row[3] = CLAMP(a,0,255);
+ row+=bpp; ++S;
+ }
+}
+
+
static inline void RGB_to_rgbF(float *R, float *G, float *B, float *S, float F, float *row, int w, int bpp){
if(F>SELECT_THRESH){
if(S){
static inline void RGB_to_rgbF(float *R, float *G, float *B, float *S, float F, float *row, int w, int bpp){
if(F>SELECT_THRESH){
if(S){
@@
-264,6
+274,16
@@
static inline void RGB_to_rgbF(float *R, float *G, float *B, float *S, float F,
}
}
}
}
+static inline void Aal_to_alpF(float *S, float F, float *row, int w, int bpp){
+ F = 1.f - F;
+ while(w--){
+ float a = 1.f - *S*F;
+ row[3] = a;
+ row+=bpp;
+ }
+}
+
+
static inline void unmask_rgba8(unsigned char *row,int w){
while(w--){
row[3] = 255;
static inline void unmask_rgba8(unsigned char *row,int w){
while(w--){
row[3] = 255;