1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00

mpeg2 QP clamping fix

Originally committed as revision 2663 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2004-01-04 17:29:51 +00:00
parent 0982834b04
commit 2e90b37c5e
3 changed files with 5 additions and 5 deletions

View File

@ -943,10 +943,10 @@ for(y=0; y<mbHeight; y++){
int i;
const int count= mbHeight * QPStride;
for(i=0; i<(count>>2); i++){
((uint32_t*)c->nonBQPTable)[i] = ((uint32_t*)QP_store)[i] & 0x1F1F1F1F;
((uint32_t*)c->nonBQPTable)[i] = ((uint32_t*)QP_store)[i] & 0x3F3F3F3F;
}
for(i<<=2; i<count; i++){
c->nonBQPTable[i] = QP_store[i] & 0x1F;
c->nonBQPTable[i] = QP_store[i] & 0x3F;
}
}

View File

@ -134,8 +134,8 @@ typedef struct PPContext{
uint64_t __attribute__((aligned(8))) pQPb;
uint64_t __attribute__((aligned(8))) pQPb2;
uint64_t __attribute__((aligned(8))) mmxDcOffset[32];
uint64_t __attribute__((aligned(8))) mmxDcThreshold[32];
uint64_t __attribute__((aligned(8))) mmxDcOffset[64];
uint64_t __attribute__((aligned(8))) mmxDcThreshold[64];
QP_STORE_T *stdQPTable; ///< used to fix MPEG2 style qscale
QP_STORE_T *nonBQPTable;

View File

@ -2792,7 +2792,7 @@ static void RENAME(postProcess)(uint8_t src[], int srcStride, uint8_t dst[], int
const int mbWidth= isColor ? (width+7)>>3 : (width+15)>>4;
#ifdef HAVE_MMX
for(i=0; i<32; i++){
for(i=0; i<57; i++){
int offset= ((i*c.ppMode.baseDcDiff)>>8) + 1;
int threshold= offset*2 + 1;
c.mmxDcOffset[i]= 0x7F - offset;