Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
VideoLAN
x264
Commits
547a6573
Commit
547a6573
authored
Apr 16, 2013
by
Henrik Gramner
Committed by
Fiona Glaser
Apr 23, 2013
Browse files
x86: AVX memzero_aligned
parent
0f776f63
Changes
4
Hide whitespace changes
Inline
Side-by-side
common/common.h
View file @
547a6573
...
...
@@ -770,8 +770,8 @@ struct x264_t
ALIGNED_16
(
dctcoef
fenc_dct4
[
16
][
16
]
);
/* Psy RD SATD/SA8D scores cache */
ALIGNED_
16
(
uint64_t
fenc_hadamard_cache
[
9
]
);
ALIGNED_
16
(
uint32_t
fenc_satd_cache
[
32
]
);
ALIGNED_
N
(
uint64_t
fenc_hadamard_cache
[
9
]
);
ALIGNED_
N
(
uint32_t
fenc_satd_cache
[
32
]
);
/* pointer over mb of the frame to be compressed */
pixel
*
p_fenc
[
3
];
/* y,u,v */
...
...
common/x86/mc-a2.asm
View file @
547a6573
...
...
@@ -1223,7 +1223,7 @@ MEMCPY
;-----------------------------------------------------------------------------
; void *memzero_aligned( void *dst, size_t n );
;-----------------------------------------------------------------------------
%macro MEMZERO
0
%macro MEMZERO
1
cglobal
memzero_aligned
,
2
,
2
add
r0
,
r1
neg
r1
...
...
@@ -1234,21 +1234,21 @@ cglobal memzero_aligned, 2,2
%endif
.loop:
%assign i 0
%rep
8
%rep
%1
mova
[
r0
+
r1
+
i
],
m0
%assign i i+mmsize
%endrep
add
r1
,
mmsize
*
8
add
r1
,
mmsize
*
%
1
jl
.loop
RET
%endmacro
INIT_MMX
mmx
MEMZERO
MEMZERO
8
INIT_XMM
ss
e
MEMZERO
MEMZERO
8
INIT_YMM
avx
MEMZERO
4
%if HIGH_BIT_DEPTH == 0
;-----------------------------------------------------------------------------
...
...
common/x86/mc-c.c
View file @
547a6573
...
...
@@ -129,6 +129,7 @@ void *x264_memcpy_aligned_mmx( void *dst, const void *src, size_t n );
void
*
x264_memcpy_aligned_sse
(
void
*
dst
,
const
void
*
src
,
size_t
n
);
void
x264_memzero_aligned_mmx
(
void
*
dst
,
size_t
n
);
void
x264_memzero_aligned_sse
(
void
*
dst
,
size_t
n
);
void
x264_memzero_aligned_avx
(
void
*
dst
,
size_t
n
);
void
x264_integral_init4h_sse4
(
uint16_t
*
sum
,
uint8_t
*
pix
,
intptr_t
stride
);
void
x264_integral_init4h_avx2
(
uint16_t
*
sum
,
uint8_t
*
pix
,
intptr_t
stride
);
void
x264_integral_init8h_sse4
(
uint16_t
*
sum
,
uint8_t
*
pix
,
intptr_t
stride
);
...
...
@@ -798,6 +799,7 @@ void x264_mc_init_mmx( int cpu, x264_mc_functions_t *pf )
if
(
!
(
cpu
&
X264_CPU_AVX
)
)
return
;
pf
->
memzero_aligned
=
x264_memzero_aligned_avx
;
pf
->
mbtree_propagate_cost
=
x264_mbtree_propagate_cost_avx
;
if
(
cpu
&
X264_CPU_FMA4
)
...
...
encoder/me.c
View file @
547a6573
...
...
@@ -1058,7 +1058,7 @@ static void ALWAYS_INLINE x264_me_refine_bidir( x264_t *h, x264_me_t *m0, x264_m
uint64_t
bcostrd
=
COST_MAX64
;
uint16_t
amvd
;
/* each byte of visited represents 8 possible m1y positions, so a 4D array isn't needed */
ALIGNED_ARRAY_
16
(
uint8_t
,
visited
,[
8
],[
8
][
8
]
);
ALIGNED_ARRAY_
N
(
uint8_t
,
visited
,[
8
],[
8
][
8
]
);
/* all permutations of an offset in up to 2 of the dimensions */
ALIGNED_4
(
static
const
int8_t
dia4d
[
33
][
4
]
)
=
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment