mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
simplify
Originally committed as revision 6020 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
b4902c11c1
commit
cf5aed5bad
@ -504,56 +504,44 @@ static always_inline void fdct_row_mmx(const int16_t *in, int16_t *out, const in
|
|||||||
void ff_fdct_mmx(int16_t *block)
|
void ff_fdct_mmx(int16_t *block)
|
||||||
{
|
{
|
||||||
int64_t align_tmp[16] ATTR_ALIGN(8);
|
int64_t align_tmp[16] ATTR_ALIGN(8);
|
||||||
int16_t * const block_tmp= (int16_t*)align_tmp;
|
int16_t * block1= (int16_t*)align_tmp;
|
||||||
int16_t *block1, *out;
|
const int16_t *table= tab_frw_01234567;
|
||||||
const int16_t *table;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
block1 = block_tmp;
|
|
||||||
fdct_col(block, block1, 0);
|
fdct_col(block, block1, 0);
|
||||||
fdct_col(block, block1, 4);
|
fdct_col(block, block1, 4);
|
||||||
|
|
||||||
block1 = block_tmp;
|
|
||||||
table = tab_frw_01234567;
|
|
||||||
out = block;
|
|
||||||
for(i=8;i>0;i--) {
|
for(i=8;i>0;i--) {
|
||||||
fdct_row_mmx(block1, out, table);
|
fdct_row_mmx(block1, block, table);
|
||||||
block1 += 8;
|
block1 += 8;
|
||||||
table += 32;
|
table += 32;
|
||||||
out += 8;
|
block += 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_fdct_mmx2(int16_t *block)
|
void ff_fdct_mmx2(int16_t *block)
|
||||||
{
|
{
|
||||||
int64_t align_tmp[16] ATTR_ALIGN(8);
|
int64_t align_tmp[16] ATTR_ALIGN(8);
|
||||||
int16_t * const block_tmp= (int16_t*)align_tmp;
|
int16_t *block1= (int16_t*)align_tmp;
|
||||||
int16_t *block1, *out;
|
const int16_t *table= tab_frw_01234567;
|
||||||
const int16_t *table;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
block1 = block_tmp;
|
|
||||||
fdct_col(block, block1, 0);
|
fdct_col(block, block1, 0);
|
||||||
fdct_col(block, block1, 4);
|
fdct_col(block, block1, 4);
|
||||||
|
|
||||||
block1 = block_tmp;
|
|
||||||
table = tab_frw_01234567;
|
|
||||||
out = block;
|
|
||||||
for(i=8;i>0;i--) {
|
for(i=8;i>0;i--) {
|
||||||
fdct_row_mmx2(block1, out, table);
|
fdct_row_mmx2(block1, block, table);
|
||||||
block1 += 8;
|
block1 += 8;
|
||||||
table += 32;
|
table += 32;
|
||||||
out += 8;
|
block += 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_fdct_sse2(int16_t *block)
|
void ff_fdct_sse2(int16_t *block)
|
||||||
{
|
{
|
||||||
int64_t align_tmp[16] ATTR_ALIGN(16);
|
int64_t align_tmp[16] ATTR_ALIGN(16);
|
||||||
int16_t * const block_tmp= (int16_t*)align_tmp;
|
int16_t * const block1= (int16_t*)align_tmp;
|
||||||
int16_t *block1;
|
|
||||||
|
|
||||||
block1 = block_tmp;
|
|
||||||
fdct_col(block, block1, 0);
|
fdct_col(block, block1, 0);
|
||||||
fdct_col(block, block1, 4);
|
fdct_col(block, block1, 4);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user