Commit dbb5ee8e authored by Mans Rullgard's avatar Mans Rullgard

simple_idct: remove code for DCTELEM != int16

DCTELEM can never be changed to anything else, too much code
depends on it.
Signed-off-by: 's avatarMans Rullgard <mans@mansr.com>
parent 3f5dcde7
...@@ -59,39 +59,24 @@ static inline void idctRowCondDC (DCTELEM * row) ...@@ -59,39 +59,24 @@ static inline void idctRowCondDC (DCTELEM * row)
#else #else
#define ROW0_MASK 0xffffLL #define ROW0_MASK 0xffffLL
#endif #endif
if(sizeof(DCTELEM)==2){ if (((((uint64_t *)row)[0] & ~ROW0_MASK) | ((uint64_t *)row)[1]) == 0) {
if ( ((((uint64_t *)row)[0] & ~ROW0_MASK) | temp = (row[0] << 3) & 0xffff;
((uint64_t *)row)[1]) == 0) { temp += temp << 16;
temp = (row[0] << 3) & 0xffff; temp += temp << 32;
temp += temp << 16; ((uint64_t *)row)[0] = temp;
temp += temp << 32; ((uint64_t *)row)[1] = temp;
((uint64_t *)row)[0] = temp; return;
((uint64_t *)row)[1] = temp;
return;
}
}else{
if (!(row[1]|row[2]|row[3]|row[4]|row[5]|row[6]|row[7])) {
row[0]=row[1]=row[2]=row[3]=row[4]=row[5]=row[6]=row[7]= row[0] << 3;
return;
}
} }
#else #else
if(sizeof(DCTELEM)==2){ if (!(((uint32_t*)row)[1] |
if (!(((uint32_t*)row)[1] | ((uint32_t*)row)[2] |
((uint32_t*)row)[2] | ((uint32_t*)row)[3] |
((uint32_t*)row)[3] | row[1])) {
row[1])) { temp = (row[0] << 3) & 0xffff;
temp = (row[0] << 3) & 0xffff; temp += temp << 16;
temp += temp << 16; ((uint32_t*)row)[0]=((uint32_t*)row)[1] =
((uint32_t*)row)[0]=((uint32_t*)row)[1] =
((uint32_t*)row)[2]=((uint32_t*)row)[3] = temp; ((uint32_t*)row)[2]=((uint32_t*)row)[3] = temp;
return; return;
}
}else{
if (!(row[1]|row[2]|row[3]|row[4]|row[5]|row[6]|row[7])) {
row[0]=row[1]=row[2]=row[3]=row[4]=row[5]=row[6]=row[7]= row[0] << 3;
return;
}
} }
#endif #endif
......
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