Mercurial > libavcodec.hg
changeset 12030:22da8afd75a5 libavcodec
Add more int packing macros, name them consistently
author | mru |
---|---|
date | Wed, 30 Jun 2010 22:33:38 +0000 |
parents | 934968bd410d |
children | 5578dcdf030c |
files | h264pred.c mathops.h |
diffstat | 2 files changed, 30 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/h264pred.c Wed Jun 30 22:05:29 2010 +0000 +++ b/h264pred.c Wed Jun 30 22:33:38 2010 +0000 @@ -109,7 +109,7 @@ const int lt= src[-1-1*stride]; LOAD_TOP_EDGE LOAD_TOP_RIGHT_EDGE - uint32_t v = PACK4UINT8((lt + 2*t0 + t1 + 2) >> 2, + uint32_t v = PACK_4U8((lt + 2*t0 + t1 + 2) >> 2, (t0 + 2*t1 + t2 + 2) >> 2, (t1 + 2*t2 + t3 + 2) >> 2, (t2 + 2*t3 + t4 + 2) >> 2);
--- a/mathops.h Wed Jun 30 22:05:29 2010 +0000 +++ b/mathops.h Wed Jun 30 22:33:38 2010 +0000 @@ -146,12 +146,36 @@ # define NEG_USR32(a,s) (((uint32_t)(a))>>(32-(s))) #endif -#ifndef PACK4x8 -# if HAVE_BIGENDIAN -# define PACK4UINT8(a,b,c,d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d)) -# else -# define PACK4UINT8(a,b,c,d) (((d) << 24) | ((c) << 16) | ((b) << 8) | (a)) +#if HAVE_BIGENDIAN +# ifndef PACK_2U8 +# define PACK_2U8(a,b) (((a) << 8) | (b)) +# endif +# ifndef PACK_4U8 +# define PACK_4U8(a,b,c,d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d)) +# endif +# ifndef PACK_2U16 +# define PACK_2U16(a,b) (((a) << 16) | (b)) +# endif +#else +# ifndef PACK_2U8 +# define PACK_2U8(a,b) (((b) << 8) | (a)) # endif +# ifndef PACK_4U2 +# define PACK_4U8(a,b,c,d) (((d) << 24) | ((c) << 16) | ((b) << 8) | (a)) +# endif +# ifndef PACK_2U16 +# define PACK_2U16(a,b) (((b) << 16) | (a)) +# endif +#endif + +#ifndef PACK_2S8 +# define PACK_2S8(a,b) PACK_2U8((a)&255, (b)&255) +#endif +#ifndef PACK_4S8 +# define PACK_4S8(a,b,c,d) PACK_4U8((a)&255, (b)&255, (c)&255, (d)&255) +#endif +#ifndef PACK_2S16 +# define PACK_2S16(a,b) PACK_2U16((a)&0xffff, (b)&0xffff) #endif #endif /* AVCODEC_MATHOPS_H */