summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2010-03-19 18:18:08 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2010-03-19 19:30:32 +0100
commit46025bbd8f7928c62a2c789ccbd67d074c30307d (patch)
tree011dc89e4d9aa171382aebf234759eaaa3cef56a
parent6b0c535e8dbd71fe4bb496f61d5e993426706cc2 (diff)
alpha: Remove some unneeded calculations and instance struct fields
And document the instance struct fields a bit better
-rw-r--r--gst/alpha/gstalpha.c14
-rw-r--r--gst/alpha/gstalpha.h14
2 files changed, 14 insertions, 14 deletions
diff --git a/gst/alpha/gstalpha.c b/gst/alpha/gstalpha.c
index 1c32cb895..b5cb37e83 100644
--- a/gst/alpha/gstalpha.c
+++ b/gst/alpha/gstalpha.c
@@ -737,17 +737,17 @@ gst_alpha_chroma_key_i420 (const guint8 * src, guint8 * dest, gint width,
static void
gst_alpha_init_params (GstAlpha * alpha)
{
- float kgl;
- float tmp;
- float tmp1, tmp2;
+ gfloat kgl;
+ gfloat tmp;
+ gfloat tmp1, tmp2;
+ gfloat y;
const gint *matrix;
matrix =
(alpha->out_sdtv) ? cog_rgb_to_ycbcr_matrix_8bit_sdtv :
cog_rgb_to_ycbcr_matrix_8bit_hdtv;
- alpha->y =
- (matrix[0] * ((gint) alpha->target_r) +
+ y = (matrix[0] * ((gint) alpha->target_r) +
matrix[1] * ((gint) alpha->target_g) +
matrix[2] * ((gint) alpha->target_b) + matrix[3]) >> 8;
/* Cb,Cr without offset here because the chroma keying
@@ -766,8 +766,6 @@ gst_alpha_init_params (GstAlpha * alpha)
alpha->cb = 127 * (tmp1 / kgl);
alpha->cr = 127 * (tmp2 / kgl);
- alpha->accept_angle_cos = cos (M_PI * alpha->angle / 180);
- alpha->accept_angle_sin = sin (M_PI * alpha->angle / 180);
tmp = 15 * tan (M_PI * alpha->angle / 180);
tmp = MIN (tmp, 255);
alpha->accept_angle_tg = tmp;
@@ -776,7 +774,7 @@ gst_alpha_init_params (GstAlpha * alpha)
alpha->accept_angle_ctg = tmp;
tmp = 1 / (kgl);
alpha->one_over_kc = 255 * 2 * tmp - 255;
- tmp = 15 * (float) (alpha->y) / kgl;
+ tmp = 15 * y / kgl;
tmp = MIN (tmp, 255);
alpha->kfgy_scale = tmp;
alpha->kg = MIN (kgl, 127);
diff --git a/gst/alpha/gstalpha.h b/gst/alpha/gstalpha.h
index 2b116dba7..bc13763c7 100644
--- a/gst/alpha/gstalpha.h
+++ b/gst/alpha/gstalpha.h
@@ -60,11 +60,14 @@ struct _GstAlpha
{
GstVideoFilter parent;
+ /* <private> */
+
/* caps */
GstVideoFormat in_format, out_format;
gint width, height;
gboolean in_sdtv, out_sdtv;
+ /* properties */
gdouble alpha;
guint target_r;
@@ -75,21 +78,20 @@ struct _GstAlpha
gfloat angle;
gfloat noise_level;
- guint noise_level2;
guint black_sensitivity;
guint white_sensitivity;
- gfloat y; /* chroma color */
+ /* processing function */
+ void (*process) (const guint8 *src, guint8 *dest, gint width, gint height, GstAlpha *alpha);
+
+ /* precalculated values for chroma keying */
gint8 cb, cr;
gint8 kg;
- gfloat accept_angle_cos;
- gfloat accept_angle_sin;
guint8 accept_angle_tg;
guint8 accept_angle_ctg;
guint8 one_over_kc;
guint8 kfgy_scale;
-
- void (*process) (const guint8 *src, guint8 *dest, gint width, gint height, GstAlpha *alpha);
+ guint noise_level2;
};
struct _GstAlphaClass