summaryrefslogtreecommitdiffstats
path: root/vobsub.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-01 12:54:08 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-01 12:54:08 +0000
commit8e7945155c8d3e02d69afe2686fbaa9f66b8aef7 (patch)
treee0db603ce4689be600381763d3b6bd2a23dae36b /vobsub.c
parent7e316c542e314efd7d24909e02215a1da40e757c (diff)
downloadmpv-8e7945155c8d3e02d69afe2686fbaa9f66b8aef7.tar.bz2
mpv-8e7945155c8d3e02d69afe2686fbaa9f66b8aef7.tar.xz
Use libavutil's av_clip* instead of unreadable MIN/MAX chaos.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22395 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vobsub.c')
-rw-r--r--vobsub.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/vobsub.c b/vobsub.c
index 61c51c2706..13b8efc5e5 100644
--- a/vobsub.c
+++ b/vobsub.c
@@ -23,9 +23,7 @@
#ifdef USE_UNRARLIB
#include "unrarlib.h"
#endif
-
-#define MIN(a, b) ((a)<(b)?(a):(b))
-#define MAX(a, b) ((a)>(b)?(a):(b))
+#include "libavutil/common.h"
extern int vobsub_id;
@@ -820,9 +818,9 @@ vobsub_parse_palette(vobsub_t *vob, const char *line)
r = tmp >> 16 & 0xff;
g = tmp >> 8 & 0xff;
b = tmp & 0xff;
- y = MIN(MAX((int)(0.1494 * r + 0.6061 * g + 0.2445 * b), 0), 0xff);
- u = MIN(MAX((int)(0.6066 * r - 0.4322 * g - 0.1744 * b) + 128, 0), 0xff);
- v = MIN(MAX((int)(-0.08435 * r - 0.3422 * g + 0.4266 * b) + 128, 0), 0xff);
+ y = av_clip_uint8( 0.1494 * r + 0.6061 * g + 0.2445 * b);
+ u = av_clip_uint8( 0.6066 * r - 0.4322 * g - 0.1744 * b + 128);
+ v = av_clip_uint8(-0.08435 * r - 0.3422 * g + 0.4266 * b + 128);
vob->palette[n++] = y << 16 | u << 8 | v;
if (n == 16)
break;
@@ -1332,9 +1330,9 @@ create_idx(vobsub_out_t *me, const unsigned int *palette, unsigned int orig_widt
if (i)
putc(',', me->fidx);
fprintf(me->fidx, " %02x%02x%02x",
- MIN(MAX((int)(y + 1.4022 * u), 0), 0xff),
- MIN(MAX((int)(y - 0.3456 * u - 0.7145 * v), 0), 0xff),
- MIN(MAX((int)(y + 1.7710 * v), 0), 0xff));
+ av_clip_uint8(y + 1.4022 * u),
+ av_clip_uint8(y - 0.3456 * u - 0.7145 * v),
+ av_clip_uint8(y + 1.7710 * v));
}
putc('\n', me->fidx);
}