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