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
8221c717
Commit
8221c717
authored
Jun 12, 2017
by
James Darnley
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avcodec/x86: allow future 8-bit simple idct to use slightly different coefficients
parent
9d11fedd
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
16 deletions
+50
-16
proresdsp.asm
libavcodec/x86/proresdsp.asm
+10
-8
simple_idct10.asm
libavcodec/x86/simple_idct10.asm
+21
-8
simple_idct10_template.asm
libavcodec/x86/simple_idct10_template.asm
+19
-0
No files found.
libavcodec/x86/proresdsp.asm
View file @
8221c717
...
...
@@ -33,14 +33,14 @@ cextern pw_1
cextern
pw_4
cextern
pw_1019
; Below are defined in simple_idct10.asm built from selecting idctdsp
cextern
w4_plus_w2
cextern
w4_min_w2
cextern
w4_plus_w6
cextern
w4_min_w6
cextern
w1_plus_w3
cextern
w3_min_w1
cextern
w7_plus_w3
cextern
w3_min_w7
cextern
w4_plus_w2
_hi
cextern
w4_min_w2
_hi
cextern
w4_plus_w6
_hi
cextern
w4_min_w6
_hi
cextern
w1_plus_w3
_hi
cextern
w3_min_w1
_hi
cextern
w7_plus_w3
_hi
cextern
w3_min_w7
_hi
cextern
w1_plus_w5
cextern
w5_min_w1
cextern
w5_plus_w7
...
...
@@ -50,6 +50,8 @@ cextern w7_min_w5
SECTION
.
text
define_constants
_hi
%macro
idct_fn
0
cglobal
prores_idct_put_10
,
4
,
4
,
15
,
pixels
,
lsize
,
block
,
qmat
IDCT_FN
pw_1
,
15
,
pw_88
,
18
,
"put"
,
pw_4
,
pw_1019
,
r3
...
...
libavcodec/x86/simple_idct10.asm
View file @
8221c717
...
...
@@ -46,28 +46,41 @@ times 4 dw %2, %3
%define
W2sh2
21407
; W2 = 85627 = 21407<<2 - 1
%define
W3sh2
19265
; W3 = 77062 = 19265<<2 + 2
%define
W4sh2
16384
; W4 = 65535 = 16384<<2 - 1
%define
W3sh2_lo
19266
%define
W4sh2_lo
16383
%define
W5sh2
12873
; W5 = 51491 = 12873<<2 - 1
%define
W6sh2
8867
; W6 = 35468 = 8867<<2
%define
W7sh2
4520
; W7 = 18081 = 4520<<2 + 1
CONST_DEC
w4_plus_w2
,
W4sh2
,
+
W2sh2
CONST_DEC
w4_min_w2
,
W4sh2
,
-
W2sh2
CONST_DEC
w4_plus_w6
,
W4sh2
,
+
W6sh2
CONST_DEC
w4_min_w6
,
W4sh2
,
-
W6sh2
CONST_DEC
w1_plus_w3
,
W1sh2
,
+
W3sh2
CONST_DEC
w3_min_w1
,
W3sh2
,
-
W1sh2
CONST_DEC
w7_plus_w3
,
W7sh2
,
+
W3sh2
CONST_DEC
w3_min_w7
,
W3sh2
,
-
W7sh2
CONST_DEC
w4_plus_w2
_hi
,
W4sh2
,
+
W2sh2
CONST_DEC
w4_min_w2
_hi
,
W4sh2
,
-
W2sh2
CONST_DEC
w4_plus_w6
_hi
,
W4sh2
,
+
W6sh2
CONST_DEC
w4_min_w6
_hi
,
W4sh2
,
-
W6sh2
CONST_DEC
w1_plus_w3
_hi
,
W1sh2
,
+
W3sh2
CONST_DEC
w3_min_w1
_hi
,
W3sh2
,
-
W1sh2
CONST_DEC
w7_plus_w3
_hi
,
W7sh2
,
+
W3sh2
CONST_DEC
w3_min_w7
_hi
,
W3sh2
,
-
W7sh2
CONST_DEC
w1_plus_w5
,
W1sh2
,
+
W5sh2
CONST_DEC
w5_min_w1
,
W5sh2
,
-
W1sh2
CONST_DEC
w5_plus_w7
,
W5sh2
,
+
W7sh2
CONST_DEC
w7_min_w5
,
W7sh2
,
-
W5sh2
CONST_DEC
w4_plus_w2_lo
,
W4sh2_lo
,
+
W2sh2
CONST_DEC
w4_min_w2_lo
,
W4sh2_lo
,
-
W2sh2
CONST_DEC
w4_plus_w6_lo
,
W4sh2_lo
,
+
W6sh2
CONST_DEC
w4_min_w6_lo
,
W4sh2_lo
,
-
W6sh2
CONST_DEC
w1_plus_w3_lo
,
W1sh2
,
+
W3sh2_lo
CONST_DEC
w3_min_w1_lo
,
W3sh2_lo
,
-
W1sh2
CONST_DEC
w7_plus_w3_lo
,
W7sh2
,
+
W3sh2_lo
CONST_DEC
w3_min_w7_lo
,
W3sh2_lo
,
-
W7sh2
%include
"libavcodec/x86/simple_idct10_template.asm"
SECTION
.
text
%macro
idct_fn
0
define_constants
_hi
cglobal
simple_idct10
,
1
,
1
,
16
,
block
IDCT_FN
""
,
12
,
""
,
19
,
"store"
RET
...
...
libavcodec/x86/simple_idct10_template.asm
View file @
8221c717
...
...
@@ -26,6 +26,25 @@
%if
ARCH_X86_64
%macro
define_constants
1
%
undef
w4_plus_w2
%
undef
w4_min_w2
%
undef
w4_plus_w6
%
undef
w4_min_w6
%
undef
w1_plus_w3
%
undef
w3_min_w1
%
undef
w7_plus_w3
%
undef
w3_min_w7
%
define
w4_plus_w2
w4_plus_w2
%1
%
define
w4_min_w2
w4_min_w2
%1
%
define
w4_plus_w6
w4_plus_w6
%1
%
define
w4_min_w6
w4_min_w6
%1
%
define
w1_plus_w3
w1_plus_w3
%1
%
define
w3_min_w1
w3_min_w1
%1
%
define
w7_plus_w3
w7_plus_w3
%1
%
define
w3_min_w7
w3_min_w7
%1
%endmacro
; interleave data while maintaining source
; %1=type, %2=dstlo, %3=dsthi, %4=src, %5=interleave
%macro
SBUTTERFLY3
5
...
...
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