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
a734fa57
Commit
a734fa57
authored
Apr 29, 2011
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove disabled non-optimized code variants.
parent
e610098e
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
162 deletions
+0
-162
idct_sh4.c
libavcodec/sh4/idct_sh4.c
+0
-151
mpegvideo_mmx_template.c
libavcodec/x86/mpegvideo_mmx_template.c
+0
-11
No files found.
libavcodec/sh4/idct_sh4.c
View file @
a734fa57
...
...
@@ -54,8 +54,6 @@ static const float odd_table[] __attribute__ ((aligned(8))) = {
#undef c6
#undef c7
#if 1
#define load_matrix(table) \
do { \
const float *t = table; \
...
...
@@ -84,52 +82,11 @@ static const float odd_table[] __attribute__ ((aligned(8))) = {
register float fr2 __asm__("fr2"); \
register float fr3 __asm__("fr3")
#else
/* generic C code for check */
static
void
ftrv_
(
const
float
xf
[],
float
fv
[])
{
float
f0
,
f1
,
f2
,
f3
;
f0
=
fv
[
0
];
f1
=
fv
[
1
];
f2
=
fv
[
2
];
f3
=
fv
[
3
];
fv
[
0
]
=
xf
[
0
]
*
f0
+
xf
[
4
]
*
f1
+
xf
[
8
]
*
f2
+
xf
[
12
]
*
f3
;
fv
[
1
]
=
xf
[
1
]
*
f0
+
xf
[
5
]
*
f1
+
xf
[
9
]
*
f2
+
xf
[
13
]
*
f3
;
fv
[
2
]
=
xf
[
2
]
*
f0
+
xf
[
6
]
*
f1
+
xf
[
10
]
*
f2
+
xf
[
14
]
*
f3
;
fv
[
3
]
=
xf
[
3
]
*
f0
+
xf
[
7
]
*
f1
+
xf
[
11
]
*
f2
+
xf
[
15
]
*
f3
;
}
static
void
load_matrix_
(
float
xf
[],
const
float
table
[])
{
int
i
;
for
(
i
=
0
;
i
<
16
;
i
++
)
xf
[
i
]
=
table
[
i
];
}
#define ftrv() ftrv_(xf,fv)
#define load_matrix(table) load_matrix_(xf,table)
#define DEFREG \
float fv[4],xf[16]
#define fr0 fv[0]
#define fr1 fv[1]
#define fr2 fv[2]
#define fr3 fv[3]
#endif
#if 1
#define DESCALE(x,n) (x)*(1.0f/(1<<(n)))
#else
#define DESCALE(x,n) (((int)(x)+(1<<(n-1)))>>(n))
#endif
/* this code work worse on gcc cvs. 3.2.3 work fine */
#if 1
//optimized
void
idct_sh4
(
DCTELEM
*
block
)
...
...
@@ -252,111 +209,3 @@ void idct_sh4(DCTELEM *block)
fp_single_leave
(
fpscr
);
}
#else
void
idct_sh4
(
DCTELEM
*
block
)
{
DEFREG
;
int
i
;
float
tblock
[
8
*
8
],
*
fblock
;
/* row */
/* even part */
load_matrix
(
even_table
);
fblock
=
tblock
;
i
=
8
;
do
{
fr0
=
block
[
0
];
fr1
=
block
[
2
];
fr2
=
block
[
4
];
fr3
=
block
[
6
];
block
+=
8
;
ftrv
();
fblock
[
0
]
=
fr0
;
fblock
[
2
]
=
fr1
;
fblock
[
4
]
=
fr2
;
fblock
[
6
]
=
fr3
;
fblock
+=
8
;
}
while
(
--
i
);
block
-=
8
*
8
;
fblock
-=
8
*
8
;
load_matrix
(
odd_table
);
i
=
8
;
do
{
float
t0
,
t1
,
t2
,
t3
;
fr0
=
block
[
1
];
fr1
=
block
[
3
];
fr2
=
block
[
5
];
fr3
=
block
[
7
];
block
+=
8
;
ftrv
();
t0
=
fblock
[
0
];
t1
=
fblock
[
2
];
t2
=
fblock
[
4
];
t3
=
fblock
[
6
];
fblock
[
0
]
=
t0
+
fr0
;
fblock
[
7
]
=
t0
-
fr0
;
fblock
[
1
]
=
t1
+
fr1
;
fblock
[
6
]
=
t1
-
fr1
;
fblock
[
2
]
=
t2
+
fr2
;
fblock
[
5
]
=
t2
-
fr2
;
fblock
[
3
]
=
t3
+
fr3
;
fblock
[
4
]
=
t3
-
fr3
;
fblock
+=
8
;
}
while
(
--
i
);
block
-=
8
*
8
;
fblock
-=
8
*
8
;
/* col */
/* even part */
load_matrix
(
even_table
);
i
=
8
;
do
{
fr0
=
fblock
[
8
*
0
];
fr1
=
fblock
[
8
*
2
];
fr2
=
fblock
[
8
*
4
];
fr3
=
fblock
[
8
*
6
];
ftrv
();
fblock
[
8
*
0
]
=
fr0
;
fblock
[
8
*
2
]
=
fr1
;
fblock
[
8
*
4
]
=
fr2
;
fblock
[
8
*
6
]
=
fr3
;
fblock
++
;
}
while
(
--
i
);
fblock
-=
8
;
load_matrix
(
odd_table
);
i
=
8
;
do
{
float
t0
,
t1
,
t2
,
t3
;
fr0
=
fblock
[
8
*
1
];
fr1
=
fblock
[
8
*
3
];
fr2
=
fblock
[
8
*
5
];
fr3
=
fblock
[
8
*
7
];
ftrv
();
t0
=
fblock
[
8
*
0
];
t1
=
fblock
[
8
*
2
];
t2
=
fblock
[
8
*
4
];
t3
=
fblock
[
8
*
6
];
fblock
++
;
block
[
8
*
0
]
=
DESCALE
(
t0
+
fr0
,
3
);
block
[
8
*
7
]
=
DESCALE
(
t0
-
fr0
,
3
);
block
[
8
*
1
]
=
DESCALE
(
t1
+
fr1
,
3
);
block
[
8
*
6
]
=
DESCALE
(
t1
-
fr1
,
3
);
block
[
8
*
2
]
=
DESCALE
(
t2
+
fr2
,
3
);
block
[
8
*
5
]
=
DESCALE
(
t2
-
fr2
,
3
);
block
[
8
*
3
]
=
DESCALE
(
t3
+
fr3
,
3
);
block
[
8
*
4
]
=
DESCALE
(
t3
-
fr3
,
3
);
block
++
;
}
while
(
--
i
);
}
#endif
libavcodec/x86/mpegvideo_mmx_template.c
View file @
a734fa57
...
...
@@ -116,22 +116,11 @@ static int RENAME(dct_quantize)(MpegEncContext *s,
q
=
s
->
c_dc_scale
;
/* note: block[0] is assumed to be positive */
if
(
!
s
->
h263_aic
)
{
#if 1
__asm__
volatile
(
"mul %%ecx
\n\t
"
:
"=d"
(
level
),
"=a"
(
dummy
)
:
"a"
((
block
[
0
]
>>
2
)
+
q
),
"c"
(
ff_inverse
[
q
<<
1
])
);
#else
__asm__
volatile
(
"xorl %%edx, %%edx
\n\t
"
"divw %%cx
\n\t
"
"movzwl %%ax, %%eax
\n\t
"
:
"=a"
(
level
)
:
"a"
((
block
[
0
]
>>
2
)
+
q
),
"c"
(
q
<<
1
)
:
"%edx"
);
#endif
}
else
/* For AIC we skip quant/dequant of INTRADC */
level
=
(
block
[
0
]
+
4
)
>>
3
;
...
...
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