x86/hevc_mc: use aligned loads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/115/head^2
Mickaël Raulet 10 years ago committed by Michael Niedermayer
parent 383fddeec6
commit 6ecc3fd612
  1. 2
      libavcodec/hevc.h
  2. 6
      libavcodec/x86/hevc_mc.asm

@ -771,7 +771,7 @@ typedef struct HEVCLocalContext {
DECLARE_ALIGNED(32, uint8_t, edge_emu_buffer)[(MAX_PB_SIZE + 7) * EDGE_EMU_BUFFER_STRIDE * 2];
/* The extended size between the new edge emu buffer is abused by SAO */
DECLARE_ALIGNED(32, uint8_t, edge_emu_buffer2)[(MAX_PB_SIZE + 7) * EDGE_EMU_BUFFER_STRIDE * 2];
DECLARE_ALIGNED(16, int16_t, tmp [MAX_PB_SIZE * MAX_PB_SIZE]);
DECLARE_ALIGNED(32, int16_t, tmp [MAX_PB_SIZE * MAX_PB_SIZE]);
int ct_depth;
CodingUnit cu;

@ -103,14 +103,14 @@ QPEL_TABLE 10, 8, w, avx2
%endif ;avx
%elif %1 <= 16
%if cpuflag(avx2)
movu %3, [%2]
mova %3, [%2]
%else
movdqa %3, [%2] ; load data from source2
movdqa %4, [%2+16] ; load data from source2
%endif ; avx
%else ; %1 = 32
movu %3, [%2]
movu %4, [%2+32]
mova %3, [%2]
mova %4, [%2+32]
%endif
%endmacro

Loading…
Cancel
Save