Unified · Split
| @@ -1327,19 +1327,17 @@ static int encode_float32_remap_segment(FFV1SliceContext *sc, · 1326 unmodified lines | ||
| 1327 | 1327 | val = sc->unit[s.p][s.i].val; |
| 1328 | 1328 | |
| 1329 | 1329 | if (s.last_val != val) { |
| 1330 | − int64_t delta = 0; | |
| 1330 | + int64_t delta = val - s.last_val; | |
| 1331 | 1331 | av_assert2(s.last_val < val); |
| 1332 | 1332 | av_assert2(current_mul > 0); |
| 1333 | 1333 | |
| 1334 | − if (current_mul > 1) { | |
| 1335 | − delta = val - s.last_val; | |
| 1336 | − val = FFMAX(1, (delta + current_mul/2) / current_mul); | |
| 1334 | + val = FFMAX(1, (delta + current_mul/2) / current_mul); | |
| 1335 | + | |
| 1336 | + delta -= val*current_mul; | |
| 1337 | + av_assert2(delta <= current_mul/2); | |
| 1338 | + av_assert2(delta > -current_mul); | |
| 1339 | + val += s.last_val; | |
| 1337 | 1340 | |
| 1338 | − delta -= val*current_mul; | |
| 1339 | − av_assert2(delta <= current_mul/2); | |
| 1340 | − av_assert2(delta > -current_mul); | |
| 1341 | − val += s.last_val; | |
| 1342 | − } | |
| 1343 | 1341 | av_assert2(s.last_val < val); |
| 1344 | 1342 | if (s.lu) { |
| 1345 | 1343 | s.index_stack[s.run] = s.current_mul_index; |