When producing an invisible ARF, the time stamp counters aren't updated since the last time stamp is seen by the codec twice. The prior code was trapping this case with refresh_alt_ref, but this isn't correct for other uses of the ARF. Instead, use the show_frame flag.
Unified · Split
| @@ -4807,7 +4807,7 @@ int vp8_get_compressed_data(VP8_COMP *cpi, unsigned int *frame_flags, unsigned l · 4806 unmodified lines | |||
| 4807 | } | 4807 | } |
| 4808 | 4808 | ||
| 4809 | // adjust frame rates based on timestamps given | 4809 | // adjust frame rates based on timestamps given |
| 4810 | if (!cm->refresh_alt_ref_frame || (cpi->oxcf.number_of_layers > 1)) | 4810 | if (cm->show_frame) |
| 4811 | { | 4811 | { |
| 4812 | int64_t this_duration; | 4812 | int64_t this_duration; |
| 4813 | int step = 0; | 4813 | int step = 0; |