Commit cf5aed5b authored by Michael Niedermayer's avatar Michael Niedermayer

simplify

Originally committed as revision 6020 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent b4902c11
...@@ -504,56 +504,44 @@ static always_inline void fdct_row_mmx(const int16_t *in, int16_t *out, const in ...@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment