Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
8200575d
Commit
8200575d
authored
Mar 14, 2015
by
Christophe Gisquet
Committed by
Michael Niedermayer
Mar 14, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x86: dct-test: evaluate prores idct avx version
Signed-off-by:
Michael Niedermayer
<
michaelni@gmx.at
>
parent
4eb4451b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
13 deletions
+26
-13
dct-test.c
libavcodec/x86/dct-test.c
+26
-13
No files found.
libavcodec/x86/dct-test.c
View file @
8200575d
...
...
@@ -26,21 +26,31 @@
void
ff_prores_idct_put_10_sse2
(
uint16_t
*
dst
,
int
linesize
,
int16_t
*
block
,
int16_t
*
qmat
);
static
void
ff_prores_idct_put_10_sse2_wrap
(
int16_t
*
dst
){
DECLARE_ALIGNED
(
16
,
static
int16_t
,
qmat
)[
64
];
DECLARE_ALIGNED
(
16
,
static
int16_t
,
tmp
)[
64
];
int
i
;
#define PR_WRAP(INSN) \
static void ff_prores_idct_put_10_##INSN##_wrap(int16_t *dst){ \
DECLARE_ALIGNED(16, static int16_t, qmat)[64]; \
DECLARE_ALIGNED(16, static int16_t, tmp)[64]; \
int i; \
\
for(i=0; i<64; i++){ \
qmat[i]=4; \
tmp[i]= dst[i]; \
} \
ff_prores_idct_put_10_##INSN (dst, 16, tmp, qmat); \
\
for(i=0; i<64; i++) { \
dst[i] -= 512; \
} \
}
for
(
i
=
0
;
i
<
64
;
i
++
){
qmat
[
i
]
=
4
;
tmp
[
i
]
=
dst
[
i
];
}
ff_prores_idct_put_10_sse2
(
dst
,
16
,
tmp
,
qmat
);
PR_WRAP
(
sse2
)
# if HAVE_AVX_EXTERNAL
void
ff_prores_idct_put_10_avx
(
uint16_t
*
dst
,
int
linesize
,
int16_t
*
block
,
int16_t
*
qmat
);
PR_WRAP
(
avx
)
# endif
for
(
i
=
0
;
i
<
64
;
i
++
)
{
dst
[
i
]
-=
512
;
}
}
#endif
static
const
struct
algo
fdct_tab_arch
[]
=
{
...
...
@@ -71,6 +81,9 @@ static const struct algo idct_tab_arch[] = {
#endif
/* CONFIG_MPEG4_DECODER && HAVE_YASM */
#if (CONFIG_PRORES_DECODER || CONFIG_PRORES_LGPL_DECODER) && ARCH_X86_64 && HAVE_YASM
{
"PR-SSE2"
,
ff_prores_idct_put_10_sse2_wrap
,
FF_IDCT_PERM_TRANSPOSE
,
AV_CPU_FLAG_SSE2
,
1
},
# if HAVE_AVX_EXTERNAL
{
"PR-AVX"
,
ff_prores_idct_put_10_avx_wrap
,
FF_IDCT_PERM_TRANSPOSE
,
AV_CPU_FLAG_AVX
,
1
},
# endif
#endif
{
0
}
};
...
...
Write
Preview
Markdown
is supported
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