Diego Biurrun <di...@biurrun.de> writes:

> ---
>  libavutil/lzo.c |   28 ++++++++--------------------
>  1 files changed, 8 insertions(+), 20 deletions(-)
>
> diff --git a/libavutil/lzo.c b/libavutil/lzo.c
> index 0d1ec55..a7fddc5 100644
> --- a/libavutil/lzo.c
> +++ b/libavutil/lzo.c
> @@ -23,6 +23,7 @@
>  
>  #include "avutil.h"
>  #include "common.h"
> +#include "intreadwrite.h"
>  #include "lzo.h"
>  
>  /// Define if we may write up to 12 bytes beyond the output buffer.
> @@ -71,19 +72,6 @@ static inline int get_len(LZOContext *c, int x, int mask)
>      return cnt;
>  }
>  
> -//#define UNALIGNED_LOADSTORE
> -#define BUILTIN_MEMCPY
> -#ifdef UNALIGNED_LOADSTORE
> -#define COPY2(d, s) *(uint16_t *)(d) = *(uint16_t *)(s);
> -#define COPY4(d, s) *(uint32_t *)(d) = *(uint32_t *)(s);
> -#elif defined(BUILTIN_MEMCPY)
> -#define COPY2(d, s) memcpy(d, s, 2);
> -#define COPY4(d, s) memcpy(d, s, 4);
> -#else
> -#define COPY2(d, s) (d)[0] = (s)[0]; (d)[1] = (s)[1];
> -#define COPY4(d, s) (d)[0] = (s)[0]; (d)[1] = (s)[1]; (d)[2] = (s)[2]; 
> (d)[3] = (s)[3];
> -#endif
> -
>  /**
>   * @brief Copies bytes from input to output buffer with checking.
>   * @param cnt number of bytes to copy, must be >= 0
> @@ -101,7 +89,7 @@ static inline void copy(LZOContext *c, int cnt)
>          c->error |= AV_LZO_OUTPUT_FULL;
>      }
>  #if defined(INBUF_PADDED) && defined(OUTBUF_PADDED)
> -    COPY4(dst, src);
> +    AV_COPY32(dst, src);
>      src += 4;
>      dst += 4;
>      cnt -= 4;
> @@ -145,16 +133,16 @@ static inline void memcpy_backptr(uint8_t *dst, int 
> back, int cnt)
>          memset(dst, *src, cnt);
>      } else {
>  #ifdef OUTBUF_PADDED
> -        COPY2(dst, src);
> -        COPY2(dst + 2, src + 2);
> +        AV_COPY16(dst, src);
> +        AV_COPY16(dst + 2, src + 2);

You can't use AV_COPY* here because alignment isn't guaranteed.

-- 
Måns Rullgård
m...@mansr.com
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to