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
e998b563
Commit
e998b563
authored
Aug 20, 2013
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x86: avcodec: Consistently structure CPU extension initialization
parent
6369ba3c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
197 additions
and
197 deletions
+197
-197
dsputilenc_mmx.c
libavcodec/x86/dsputilenc_mmx.c
+35
-35
fmtconvert_init.c
libavcodec/x86/fmtconvert_init.c
+20
-21
h264dsp_init.c
libavcodec/x86/h264dsp_init.c
+116
-120
mpegaudiodsp.c
libavcodec/x86/mpegaudiodsp.c
+12
-8
mpegvideo.c
libavcodec/x86/mpegvideo.c
+4
-5
rv40dsp_init.c
libavcodec/x86/rv40dsp_init.c
+7
-6
vc1dsp_init.c
libavcodec/x86/vc1dsp_init.c
+3
-2
No files found.
libavcodec/x86/dsputilenc_mmx.c
View file @
e998b563
...
...
@@ -997,63 +997,63 @@ av_cold void ff_dsputilenc_init_mmx(DSPContext *c, AVCodecContext *avctx)
c
->
add_8x8basis
=
add_8x8basis_mmx
;
c
->
ssd_int8_vs_int16
=
ssd_int8_vs_int16_mmx
;
}
if
(
INLINE_MMXEXT
(
cpu_flags
))
{
c
->
sum_abs_dctelem
=
sum_abs_dctelem_mmxext
;
c
->
vsad
[
4
]
=
vsad_intra16_mmxext
;
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
)){
c
->
vsad
[
0
]
=
vsad16_mmxext
;
}
if
(
INLINE_MMXEXT
(
cpu_flags
))
{
c
->
sum_abs_dctelem
=
sum_abs_dctelem_mmxext
;
c
->
vsad
[
4
]
=
vsad_intra16_mmxext
;
c
->
sub_hfyu_median_prediction
=
sub_hfyu_median_prediction_mmxext
;
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
)){
c
->
vsad
[
0
]
=
vsad16_mmxext
;
}
if
(
INLINE_SSE2
(
cpu_flags
))
{
c
->
sum_abs_dctelem
=
sum_abs_dctelem_sse2
;
}
c
->
sub_hfyu_median_prediction
=
sub_hfyu_median_prediction_mmxext
;
}
if
(
INLINE_SSE2
(
cpu_flags
))
{
c
->
sum_abs_dctelem
=
sum_abs_dctelem_sse2
;
}
#if HAVE_SSSE3_INLINE
if
(
INLINE_SSSE3
(
cpu_flags
))
{
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
)){
c
->
try_8x8basis
=
try_8x8basis_ssse3
;
}
c
->
add_8x8basis
=
add_8x8basis_ssse3
;
c
->
sum_abs_dctelem
=
sum_abs_dctelem_ssse3
;
if
(
INLINE_SSSE3
(
cpu_flags
))
{
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
))
{
c
->
try_8x8basis
=
try_8x8basis_ssse3
;
}
c
->
add_8x8basis
=
add_8x8basis_ssse3
;
c
->
sum_abs_dctelem
=
sum_abs_dctelem_ssse3
;
}
#endif
if
(
INLINE_AMD3DNOW
(
cpu_flags
))
{
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
)){
c
->
try_8x8basis
=
try_8x8basis_3dnow
;
}
c
->
add_8x8basis
=
add_8x8basis_3dnow
;
if
(
INLINE_AMD3DNOW
(
cpu_flags
))
{
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
))
{
c
->
try_8x8basis
=
try_8x8basis_3dnow
;
}
c
->
add_8x8basis
=
add_8x8basis_3dnow
;
}
#endif
/* HAVE_INLINE_ASM */
if
(
EXTERNAL_MMX
(
cpu_flags
))
{
c
->
hadamard8_diff
[
0
]
=
ff_hadamard8_diff16_mmx
;
c
->
hadamard8_diff
[
1
]
=
ff_hadamard8_diff_mmx
;
}
if
(
EXTERNAL_MMXEXT
(
cpu_flags
))
{
c
->
hadamard8_diff
[
0
]
=
ff_hadamard8_diff16_mmxext
;
c
->
hadamard8_diff
[
1
]
=
ff_hadamard8_diff_mmxext
;
}
if
(
EXTERNAL_MMXEXT
(
cpu_flags
))
{
c
->
hadamard8_diff
[
0
]
=
ff_hadamard8_diff16_mmxext
;
c
->
hadamard8_diff
[
1
]
=
ff_hadamard8_diff_mmxext
;
}
if
(
EXTERNAL_SSE2
(
cpu_flags
))
{
c
->
sse
[
0
]
=
ff_sse16_sse2
;
if
(
EXTERNAL_SSE2
(
cpu_flags
))
{
c
->
sse
[
0
]
=
ff_sse16_sse2
;
#if HAVE_ALIGNED_STACK
c
->
hadamard8_diff
[
0
]
=
ff_hadamard8_diff16_sse2
;
c
->
hadamard8_diff
[
1
]
=
ff_hadamard8_diff_sse2
;
c
->
hadamard8_diff
[
0
]
=
ff_hadamard8_diff16_sse2
;
c
->
hadamard8_diff
[
1
]
=
ff_hadamard8_diff_sse2
;
#endif
}
}
if
(
EXTERNAL_SSSE3
(
cpu_flags
)
&&
HAVE_ALIGNED_STACK
)
{
c
->
hadamard8_diff
[
0
]
=
ff_hadamard8_diff16_ssse3
;
c
->
hadamard8_diff
[
1
]
=
ff_hadamard8_diff_ssse3
;
}
if
(
EXTERNAL_SSSE3
(
cpu_flags
)
&&
HAVE_ALIGNED_STACK
)
{
c
->
hadamard8_diff
[
0
]
=
ff_hadamard8_diff16_ssse3
;
c
->
hadamard8_diff
[
1
]
=
ff_hadamard8_diff_ssse3
;
}
ff_dsputil_init_pix_mmx
(
c
,
avctx
);
...
...
libavcodec/x86/fmtconvert_init.c
View file @
e998b563
...
...
@@ -120,29 +120,28 @@ av_cold void ff_fmt_convert_init_x86(FmtConvertContext *c, AVCodecContext *avctx
if
(
EXTERNAL_MMX
(
cpu_flags
))
{
c
->
float_interleave
=
float_interleave_mmx
;
if
(
EXTERNAL_AMD3DNOW
(
cpu_flags
))
{
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
)){
c
->
float_to_int16
=
ff_float_to_int16_3dnow
;
c
->
float_to_int16_interleave
=
float_to_int16_interleave_3dnow
;
}
}
if
(
EXTERNAL_AMD3DNOWEXT
(
cpu_flags
))
{
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
)){
c
->
float_to_int16_interleave
=
float_to_int16_interleave_3dnowext
;
}
}
if
(
EXTERNAL_SSE
(
cpu_flags
))
{
c
->
int32_to_float_fmul_scalar
=
ff_int32_to_float_fmul_scalar_sse
;
c
->
float_to_int16
=
ff_float_to_int16_sse
;
c
->
float_to_int16_interleave
=
float_to_int16_interleave_sse
;
c
->
float_interleave
=
float_interleave_sse
;
}
if
(
EXTERNAL_AMD3DNOW
(
cpu_flags
))
{
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
))
{
c
->
float_to_int16
=
ff_float_to_int16_3dnow
;
c
->
float_to_int16_interleave
=
float_to_int16_interleave_3dnow
;
}
if
(
EXTERNAL_SSE2
(
cpu_flags
))
{
c
->
int32_to_float_fmul_scalar
=
ff_int32_to_float_fmul_scalar_sse2
;
c
->
float_to_int16
=
ff_float_to_int16_sse2
;
c
->
float_to_int16_interleave
=
float_to_int16_interleave_
sse2
;
}
if
(
EXTERNAL_AMD3DNOWEXT
(
cpu_flags
))
{
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
))
{
c
->
float_to_int16_interleave
=
float_to_int16_interleave_
3dnowext
;
}
}
if
(
EXTERNAL_SSE
(
cpu_flags
))
{
c
->
int32_to_float_fmul_scalar
=
ff_int32_to_float_fmul_scalar_sse
;
c
->
float_to_int16
=
ff_float_to_int16_sse
;
c
->
float_to_int16_interleave
=
float_to_int16_interleave_sse
;
c
->
float_interleave
=
float_interleave_sse
;
}
if
(
EXTERNAL_SSE2
(
cpu_flags
))
{
c
->
int32_to_float_fmul_scalar
=
ff_int32_to_float_fmul_scalar_sse2
;
c
->
float_to_int16
=
ff_float_to_int16_sse2
;
c
->
float_to_int16_interleave
=
float_to_int16_interleave_sse2
;
}
#endif
/* HAVE_YASM */
}
libavcodec/x86/h264dsp_init.c
View file @
e998b563
This diff is collapsed.
Click to expand it.
libavcodec/x86/mpegaudiodsp.c
View file @
e998b563
...
...
@@ -249,16 +249,20 @@ av_cold void ff_mpadsp_init_x86(MPADSPContext *s)
#endif
/* HAVE_SSE2_INLINE */
#if HAVE_YASM
if
(
EXTERNAL_SSE
(
cpu_flags
))
{
s
->
imdct36_blocks_float
=
imdct36_blocks_sse
;
}
if
(
EXTERNAL_SSE2
(
cpu_flags
))
{
s
->
imdct36_blocks_float
=
imdct36_blocks_sse2
;
}
if
(
EXTERNAL_SSE3
(
cpu_flags
))
{
s
->
imdct36_blocks_float
=
imdct36_blocks_sse3
;
}
if
(
EXTERNAL_SSSE3
(
cpu_flags
))
{
s
->
imdct36_blocks_float
=
imdct36_blocks_ssse3
;
}
if
(
EXTERNAL_AVX
(
cpu_flags
))
{
s
->
imdct36_blocks_float
=
imdct36_blocks_avx
;
}
else
if
(
EXTERNAL_SSSE3
(
cpu_flags
))
{
s
->
imdct36_blocks_float
=
imdct36_blocks_ssse3
;
}
else
if
(
EXTERNAL_SSE3
(
cpu_flags
))
{
s
->
imdct36_blocks_float
=
imdct36_blocks_sse3
;
}
else
if
(
EXTERNAL_SSE2
(
cpu_flags
))
{
s
->
imdct36_blocks_float
=
imdct36_blocks_sse2
;
}
else
if
(
EXTERNAL_SSE
(
cpu_flags
))
{
s
->
imdct36_blocks_float
=
imdct36_blocks_sse
;
}
#endif
/* HAVE_YASM */
}
libavcodec/x86/mpegvideo.c
View file @
e998b563
...
...
@@ -568,11 +568,10 @@ av_cold void ff_MPV_common_init_x86(MpegEncContext *s)
if
(
!
(
s
->
flags
&
CODEC_FLAG_BITEXACT
))
s
->
dct_unquantize_mpeg2_intra
=
dct_unquantize_mpeg2_intra_mmx
;
s
->
dct_unquantize_mpeg2_inter
=
dct_unquantize_mpeg2_inter_mmx
;
if
(
INLINE_SSE2
(
cpu_flags
))
{
s
->
denoise_dct
=
denoise_dct_sse2
;
}
else
{
s
->
denoise_dct
=
denoise_dct_mmx
;
}
s
->
denoise_dct
=
denoise_dct_mmx
;
}
if
(
INLINE_SSE2
(
cpu_flags
))
{
s
->
denoise_dct
=
denoise_dct_sse2
;
}
#endif
/* HAVE_INLINE_ASM */
}
libavcodec/x86/rv40dsp_init.c
View file @
e998b563
...
...
@@ -230,6 +230,13 @@ av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c)
c
->
put_chroma_pixels_tab
[
1
]
=
ff_put_rv40_chroma_mc4_mmx
;
#if ARCH_X86_32
QPEL_MC_SET
(
put_
,
_mmx
)
#endif
}
if
(
EXTERNAL_AMD3DNOW
(
cpu_flags
))
{
c
->
avg_chroma_pixels_tab
[
0
]
=
ff_avg_rv40_chroma_mc8_3dnow
;
c
->
avg_chroma_pixels_tab
[
1
]
=
ff_avg_rv40_chroma_mc4_3dnow
;
#if ARCH_X86_32
QPEL_MC_SET
(
avg_
,
_3dnow
)
#endif
}
if
(
EXTERNAL_MMXEXT
(
cpu_flags
))
{
...
...
@@ -241,12 +248,6 @@ av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c)
c
->
rv40_weight_pixels_tab
[
1
][
1
]
=
ff_rv40_weight_func_nornd_8_mmxext
;
#if ARCH_X86_32
QPEL_MC_SET
(
avg_
,
_mmxext
)
#endif
}
else
if
(
EXTERNAL_AMD3DNOW
(
cpu_flags
))
{
c
->
avg_chroma_pixels_tab
[
0
]
=
ff_avg_rv40_chroma_mc8_3dnow
;
c
->
avg_chroma_pixels_tab
[
1
]
=
ff_avg_rv40_chroma_mc4_3dnow
;
#if ARCH_X86_32
QPEL_MC_SET
(
avg_
,
_3dnow
)
#endif
}
if
(
EXTERNAL_SSE2
(
cpu_flags
))
{
...
...
libavcodec/x86/vc1dsp_init.c
View file @
e998b563
...
...
@@ -103,13 +103,14 @@ av_cold void ff_vc1dsp_init_x86(VC1DSPContext *dsp)
if
(
EXTERNAL_MMX
(
cpu_flags
))
{
dsp
->
put_no_rnd_vc1_chroma_pixels_tab
[
0
]
=
ff_put_vc1_chroma_mc8_nornd_mmx
;
}
if
(
EXTERNAL_AMD3DNOW
(
cpu_flags
))
{
dsp
->
avg_no_rnd_vc1_chroma_pixels_tab
[
0
]
=
ff_avg_vc1_chroma_mc8_nornd_3dnow
;
}
if
(
EXTERNAL_MMXEXT
(
cpu_flags
))
{
ASSIGN_LF
(
mmxext
);
dsp
->
avg_no_rnd_vc1_chroma_pixels_tab
[
0
]
=
ff_avg_vc1_chroma_mc8_nornd_mmxext
;
dsp
->
avg_vc1_mspel_pixels_tab
[
0
]
=
avg_vc1_mspel_mc00_mmxext
;
}
else
if
(
EXTERNAL_AMD3DNOW
(
cpu_flags
))
{
dsp
->
avg_no_rnd_vc1_chroma_pixels_tab
[
0
]
=
ff_avg_vc1_chroma_mc8_nornd_3dnow
;
}
if
(
EXTERNAL_SSE2
(
cpu_flags
))
{
dsp
->
vc1_v_loop_filter8
=
ff_vc1_v_loop_filter8_sse2
;
...
...
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