Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
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
...
@@ -33,14 +33,14 @@ cextern pw_1
cextern
pw_4
cextern
pw_4
cextern
pw_1019
cextern
pw_1019
; Below are defined in simple_idct10.asm built from selecting idctdsp
; Below are defined in simple_idct10.asm built from selecting idctdsp
cextern
w4_plus_w2
cextern
w4_plus_w2
_hi
cextern
w4_min_w2
cextern
w4_min_w2
_hi
cextern
w4_plus_w6
cextern
w4_plus_w6
_hi
cextern
w4_min_w6
cextern
w4_min_w6
_hi
cextern
w1_plus_w3
cextern
w1_plus_w3
_hi
cextern
w3_min_w1
cextern
w3_min_w1
_hi
cextern
w7_plus_w3
cextern
w7_plus_w3
_hi
cextern
w3_min_w7
cextern
w3_min_w7
_hi
cextern
w1_plus_w5
cextern
w1_plus_w5
cextern
w5_min_w1
cextern
w5_min_w1
cextern
w5_plus_w7
cextern
w5_plus_w7
...
@@ -50,6 +50,8 @@ cextern w7_min_w5
...
@@ -50,6 +50,8 @@ cextern w7_min_w5
SECTION
.
text
SECTION
.
text
define_constants
_hi
%macro
idct_fn
0
%macro
idct_fn
0
cglobal
prores_idct_put_10
,
4
,
4
,
15
,
pixels
,
lsize
,
block
,
qmat
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
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
...
@@ -46,28 +46,41 @@ times 4 dw %2, %3
%define
W2sh2
21407
; W2 = 85627 = 21407<<2 - 1
%define
W2sh2
21407
; W2 = 85627 = 21407<<2 - 1
%define
W3sh2
19265
; W3 = 77062 = 19265<<2 + 2
%define
W3sh2
19265
; W3 = 77062 = 19265<<2 + 2
%define
W4sh2
16384
; W4 = 65535 = 16384<<2 - 1
%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
W5sh2
12873
; W5 = 51491 = 12873<<2 - 1
%define
W6sh2
8867
; W6 = 35468 = 8867<<2
%define
W6sh2
8867
; W6 = 35468 = 8867<<2
%define
W7sh2
4520
; W7 = 18081 = 4520<<2 + 1
%define
W7sh2
4520
; W7 = 18081 = 4520<<2 + 1
CONST_DEC
w4_plus_w2
,
W4sh2
,
+
W2sh2
CONST_DEC
w4_plus_w2
_hi
,
W4sh2
,
+
W2sh2
CONST_DEC
w4_min_w2
,
W4sh2
,
-
W2sh2
CONST_DEC
w4_min_w2
_hi
,
W4sh2
,
-
W2sh2
CONST_DEC
w4_plus_w6
,
W4sh2
,
+
W6sh2
CONST_DEC
w4_plus_w6
_hi
,
W4sh2
,
+
W6sh2
CONST_DEC
w4_min_w6
,
W4sh2
,
-
W6sh2
CONST_DEC
w4_min_w6
_hi
,
W4sh2
,
-
W6sh2
CONST_DEC
w1_plus_w3
,
W1sh2
,
+
W3sh2
CONST_DEC
w1_plus_w3
_hi
,
W1sh2
,
+
W3sh2
CONST_DEC
w3_min_w1
,
W3sh2
,
-
W1sh2
CONST_DEC
w3_min_w1
_hi
,
W3sh2
,
-
W1sh2
CONST_DEC
w7_plus_w3
,
W7sh2
,
+
W3sh2
CONST_DEC
w7_plus_w3
_hi
,
W7sh2
,
+
W3sh2
CONST_DEC
w3_min_w7
,
W3sh2
,
-
W7sh2
CONST_DEC
w3_min_w7
_hi
,
W3sh2
,
-
W7sh2
CONST_DEC
w1_plus_w5
,
W1sh2
,
+
W5sh2
CONST_DEC
w1_plus_w5
,
W1sh2
,
+
W5sh2
CONST_DEC
w5_min_w1
,
W5sh2
,
-
W1sh2
CONST_DEC
w5_min_w1
,
W5sh2
,
-
W1sh2
CONST_DEC
w5_plus_w7
,
W5sh2
,
+
W7sh2
CONST_DEC
w5_plus_w7
,
W5sh2
,
+
W7sh2
CONST_DEC
w7_min_w5
,
W7sh2
,
-
W5sh2
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"
%include
"libavcodec/x86/simple_idct10_template.asm"
SECTION
.
text
SECTION
.
text
%macro
idct_fn
0
%macro
idct_fn
0
define_constants
_hi
cglobal
simple_idct10
,
1
,
1
,
16
,
block
cglobal
simple_idct10
,
1
,
1
,
16
,
block
IDCT_FN
""
,
12
,
""
,
19
,
"store"
IDCT_FN
""
,
12
,
""
,
19
,
"store"
RET
RET
...
...
libavcodec/x86/simple_idct10_template.asm
View file @
8221c717
...
@@ -26,6 +26,25 @@
...
@@ -26,6 +26,25 @@
%if
ARCH_X86_64
%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
; interleave data while maintaining source
; %1=type, %2=dstlo, %3=dsthi, %4=src, %5=interleave
; %1=type, %2=dstlo, %3=dsthi, %4=src, %5=interleave
%macro
SBUTTERFLY3
5
%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