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
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
Hide 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))) = {
...
@@ -54,8 +54,6 @@ static const float odd_table[] __attribute__ ((aligned(8))) = {
#undef c6
#undef c6
#undef c7
#undef c7
#if 1
#define load_matrix(table) \
#define load_matrix(table) \
do { \
do { \
const float *t = table; \
const float *t = table; \
...
@@ -84,52 +82,11 @@ static const float odd_table[] __attribute__ ((aligned(8))) = {
...
@@ -84,52 +82,11 @@ static const float odd_table[] __attribute__ ((aligned(8))) = {
register float fr2 __asm__("fr2"); \
register float fr2 __asm__("fr2"); \
register float fr3 __asm__("fr3")
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)))
#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 */
/* this code work worse on gcc cvs. 3.2.3 work fine */
#if 1
//optimized
//optimized
void
idct_sh4
(
DCTELEM
*
block
)
void
idct_sh4
(
DCTELEM
*
block
)
...
@@ -252,111 +209,3 @@ void idct_sh4(DCTELEM *block)
...
@@ -252,111 +209,3 @@ void idct_sh4(DCTELEM *block)
fp_single_leave
(
fpscr
);
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,
...
@@ -116,22 +116,11 @@ static int RENAME(dct_quantize)(MpegEncContext *s,
q
=
s
->
c_dc_scale
;
q
=
s
->
c_dc_scale
;
/* note: block[0] is assumed to be positive */
/* note: block[0] is assumed to be positive */
if
(
!
s
->
h263_aic
)
{
if
(
!
s
->
h263_aic
)
{
#if 1
__asm__
volatile
(
__asm__
volatile
(
"mul %%ecx
\n\t
"
"mul %%ecx
\n\t
"
:
"=d"
(
level
),
"=a"
(
dummy
)
:
"=d"
(
level
),
"=a"
(
dummy
)
:
"a"
((
block
[
0
]
>>
2
)
+
q
),
"c"
(
ff_inverse
[
q
<<
1
])
:
"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
}
else
/* For AIC we skip quant/dequant of INTRADC */
/* For AIC we skip quant/dequant of INTRADC */
level
=
(
block
[
0
]
+
4
)
>>
3
;
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