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
d07ff3cd
Commit
d07ff3cd
authored
Jul 27, 2012
by
Ronald S. Bultje
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
h264_chromamc_10bit: port x86 simd to cpuflags.
parent
4a26fdd8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
28 deletions
+28
-28
dsputil_mmx.c
libavcodec/x86/dsputil_mmx.c
+8
-8
h264_chromamc_10bit.asm
libavcodec/x86/h264_chromamc_10bit.asm
+20
-20
No files found.
libavcodec/x86/dsputil_mmx.c
View file @
d07ff3cd
...
...
@@ -2117,10 +2117,10 @@ void ff_ ## OP ## _h264_chroma_mc ## NUM ## _ ## DEPTH ## _ ## OPT \
(uint8_t *dst, uint8_t *src, \
int stride, int h, int x, int y);
CHROMA_MC
(
put
,
2
,
10
,
mmx
ext
)
CHROMA_MC
(
avg
,
2
,
10
,
mmx
ext
)
CHROMA_MC
(
put
,
4
,
10
,
mmx
ext
)
CHROMA_MC
(
avg
,
4
,
10
,
mmx
ext
)
CHROMA_MC
(
put
,
2
,
10
,
mmx
2
)
CHROMA_MC
(
avg
,
2
,
10
,
mmx
2
)
CHROMA_MC
(
put
,
4
,
10
,
mmx
2
)
CHROMA_MC
(
avg
,
4
,
10
,
mmx
2
)
CHROMA_MC
(
put
,
8
,
10
,
sse2
)
CHROMA_MC
(
avg
,
8
,
10
,
sse2
)
CHROMA_MC
(
put
,
8
,
10
,
avx
)
...
...
@@ -2740,10 +2740,10 @@ static void dsputil_init_mmx2(DSPContext *c, AVCodecContext *avctx,
c
->
put_h264_chroma_pixels_tab
[
2
]
=
ff_put_h264_chroma_mc2_mmx2
;
}
if
(
bit_depth
==
10
&&
CONFIG_H264CHROMA
)
{
c
->
put_h264_chroma_pixels_tab
[
2
]
=
ff_put_h264_chroma_mc2_10_mmx
ext
;
c
->
avg_h264_chroma_pixels_tab
[
2
]
=
ff_avg_h264_chroma_mc2_10_mmx
ext
;
c
->
put_h264_chroma_pixels_tab
[
1
]
=
ff_put_h264_chroma_mc4_10_mmx
ext
;
c
->
avg_h264_chroma_pixels_tab
[
1
]
=
ff_avg_h264_chroma_mc4_10_mmx
ext
;
c
->
put_h264_chroma_pixels_tab
[
2
]
=
ff_put_h264_chroma_mc2_10_mmx
2
;
c
->
avg_h264_chroma_pixels_tab
[
2
]
=
ff_avg_h264_chroma_mc2_10_mmx
2
;
c
->
put_h264_chroma_pixels_tab
[
1
]
=
ff_put_h264_chroma_mc4_10_mmx
2
;
c
->
avg_h264_chroma_pixels_tab
[
1
]
=
ff_avg_h264_chroma_mc4_10_mmx
2
;
}
c
->
add_hfyu_median_prediction
=
ff_add_hfyu_median_prediction_mmx2
;
...
...
libavcodec/x86/h264_chromamc_10bit.asm
View file @
d07ff3cd
...
...
@@ -60,10 +60,10 @@ SECTION .text
;-----------------------------------------------------------------------------
; void put/avg_h264_chroma_mc8(pixel *dst, pixel *src, int stride, int h, int mx, int my)
;-----------------------------------------------------------------------------
%macro
CHROMA_MC8
2
%macro
CHROMA_MC8
1
; put/avg_h264_chroma_mc8_*(uint8_t *dst /*align 8*/, uint8_t *src /*align 1*/,
; int stride, int h, int mx, int my)
cglobal
%1
_h264_chroma_mc8_10
_
%2
,
6
,
7
,
8
cglobal
%1
_h264_chroma_mc8_10
,
6
,
7
,
8
movsxdifnidn
r2
,
r2d
mov
r6d
,
r5d
or
r6d
,
r4d
...
...
@@ -173,8 +173,8 @@ cglobal %1_h264_chroma_mc8_10_%2, 6,7,8
add
r0
,
r2
%endmacro
%macro
CHROMA_MC4
2
cglobal
%1
_h264_chroma_mc4_10
_
%2
,
6
,
6
,
7
%macro
CHROMA_MC4
1
cglobal
%1
_h264_chroma_mc4_10
,
6
,
6
,
7
movsxdifnidn
r2
,
r2d
movd
m2
,
r4m
; x
movd
m3
,
r5m
; y
...
...
@@ -203,8 +203,8 @@ cglobal %1_h264_chroma_mc4_10_%2, 6,6,7
;-----------------------------------------------------------------------------
; void put/avg_h264_chroma_mc2(pixel *dst, pixel *src, int stride, int h, int mx, int my)
;-----------------------------------------------------------------------------
%macro
CHROMA_MC2
2
cglobal
%1
_h264_chroma_mc2_10
_
%2
,
6
,
7
%macro
CHROMA_MC2
1
cglobal
%1
_h264_chroma_mc2_10
,
6
,
7
movsxdifnidn
r2
,
r2d
mov
r6d
,
r4d
shl
r4d
,
16
...
...
@@ -250,24 +250,24 @@ cglobal %1_h264_chroma_mc2_10_%2, 6,7
%endmacro
%define
CHROMAMC_AVG
NOTHING
INIT_XMM
CHROMA_MC8
put
,
sse2
INIT_XMM
sse2
CHROMA_MC8
put
%if
HAVE_AVX
INIT_
AVX
CHROMA_MC8
put
,
avx
INIT_
XMM
avx
CHROMA_MC8
put
%endif
INIT_MMX
CHROMA_MC4
put
,
mmxext
CHROMA_MC2
put
,
mmxext
INIT_MMX
mmx2
CHROMA_MC4
put
CHROMA_MC2
put
%define
CHROMAMC_AVG
AVG
%define
PAVG
pavgw
INIT_XMM
CHROMA_MC8
avg
,
sse2
INIT_XMM
sse2
CHROMA_MC8
avg
%if
HAVE_AVX
INIT_
AVX
CHROMA_MC8
avg
,
avx
INIT_
XMM
avx
CHROMA_MC8
avg
%endif
INIT_MMX
CHROMA_MC4
avg
,
mmxext
CHROMA_MC2
avg
,
mmxext
INIT_MMX
mmx2
CHROMA_MC4
avg
CHROMA_MC2
avg
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