Unified · Split
| @@ -3372,7 +3372,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ · 3371 unmodified lines | |||
| 3372 | int i; | 3372 | int i; |
| 3373 | uint64_t maxClipped; | 3373 | uint64_t maxClipped; |
| 3374 | uint64_t clipped; | 3374 | uint64_t clipped; |
| 3375 | double scale; | 3375 | AVRational scale; |
| 3376 | 3376 | ||
| 3377 | c.frameNum++; | 3377 | c.frameNum++; |
| 3378 | // first frame is fscked so we ignore it | 3378 | // first frame is fscked so we ignore it |
| @@ -3397,13 +3397,13 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ · 18 unmodified lines | |||
| 3397 | clipped-= yHistogram[white]; | 3397 | clipped-= yHistogram[white]; |
| 3398 | } | 3398 | } |
| 3399 | 3399 | ||
| 3400 | scale= (double)(c.ppMode.maxAllowedY - c.ppMode.minAllowedY) / (double)(white-black); | 3400 | scale = (AVRational){c.ppMode.maxAllowedY - c.ppMode.minAllowedY, white - black}; |
| 3401 | 3401 | ||
| 3402 | #if TEMPLATE_PP_MMXEXT | 3402 | #if TEMPLATE_PP_MMXEXT |
| 3403 | c.packedYScale= (uint16_t)(scale*256.0 + 0.5); | 3403 | c.packedYScale = (uint16_t)av_rescale(scale.num, 256, scale.den); |
| 3404 | c.packedYOffset= (((black*c.packedYScale)>>8) - c.ppMode.minAllowedY) & 0xFFFF; | 3404 | c.packedYOffset= (((black*c.packedYScale)>>8) - c.ppMode.minAllowedY) & 0xFFFF; |
| 3405 | #else | 3405 | #else |
| 3406 | c.packedYScale= (uint16_t)(scale*1024.0 + 0.5); | 3406 | c.packedYScale = (uint16_t)av_rescale(scale.num, 1024, scale.den); |
| 3407 | c.packedYOffset= (black - c.ppMode.minAllowedY) & 0xFFFF; | 3407 | c.packedYOffset= (black - c.ppMode.minAllowedY) & 0xFFFF; |
| 3408 | #endif | 3408 | #endif |
| 3409 | 3409 | ||
| @@ -3413,7 +3413,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ · 3 unmodified lines | |||
| 3413 | c.packedYScale|= c.packedYScale<<32; | 3413 | c.packedYScale|= c.packedYScale<<32; |
| 3414 | c.packedYScale|= c.packedYScale<<16; | 3414 | c.packedYScale|= c.packedYScale<<16; |
| 3415 | 3415 | ||
| 3416 | if(mode & LEVEL_FIX) QPCorrecture= (int)(scale*256*256 + 0.5); | 3416 | if(mode & LEVEL_FIX) QPCorrecture= (int)av_rescale(scale.num, 256*256, scale.den); |
| 3417 | else QPCorrecture= 256*256; | 3417 | else QPCorrecture= 256*256; |
| 3418 | }else{ | 3418 | }else{ |
| 3419 | c.packedYScale= 0x0100010001000100LL; | 3419 | c.packedYScale= 0x0100010001000100LL; |