mirror of
https://github.com/librempeg/librempeg
synced 2024-11-23 19:58:59 +00:00
optimized ticker_tick() if num is big - please test it (should reduce CPU usage - this code is temporary before new PTS handling scheme)
Originally committed as revision 681 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
5eb765ef34
commit
d714edf190
12
libav/tick.h
12
libav/tick.h
@ -22,10 +22,20 @@ static inline int ticker_tick(Ticker *tick, int num)
|
||||
int n = num * tick->div;
|
||||
|
||||
tick->value += num * tick->mod;
|
||||
#if 1
|
||||
if (tick->value > 0) {
|
||||
n += (tick->value / tick->inrate);
|
||||
tick->value = tick->value % tick->inrate;
|
||||
if (tick->value > 0) {
|
||||
tick->value -= tick->inrate;
|
||||
n++;
|
||||
}
|
||||
}
|
||||
#else
|
||||
while (tick->value > 0) {
|
||||
tick->value -= tick->inrate;
|
||||
n++;
|
||||
}
|
||||
|
||||
#endif
|
||||
return n;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user