diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-09-22 10:12:15 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-09-26 21:10:45 +0200 |
commit | a162e78cd5f6cf3d8fc30169fc7df482905df01b (patch) | |
tree | 8cf64d2fbbcd9ef1d9577ede5fa4df04e16d05d9 | |
parent | bc6838deb99ecd649ed483ed1ce657c70830b0af (diff) | |
download | ffmpeg-a162e78cd5f6cf3d8fc30169fc7df482905df01b.tar.gz |
avcodec/fraps: Use cached bitstream reader
This proved beneficial for performance: For the sample [1] the number
of decicycles in one decode call decreased from 155851561 to 108158037
for Clang 10 and from 168270467 to 128847479 for GCC 9.3. For x86-32
compiled with GCC 9.3 and run on an x64 Haswell the number increased
from 158405517 to 202215769, so that the cached bitstream reader is only
enabled if HAVE_FAST_64BIT is set. These values are the average of 10
runs each looping five times over the input.
[1]: samples.ffmpeg.org/ffmpeg-bugs/trac/ticket2593/fraps_flv1_decoding_errors.avi
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavcodec/fraps.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c index 00fd63ffec..8d01b44f11 100644 --- a/libavcodec/fraps.c +++ b/libavcodec/fraps.c @@ -31,6 +31,9 @@ * Version 2 files support by Konstantin Shishkov */ +#include "config.h" + +#define CACHED_BITSTREAM_READER HAVE_FAST_64BIT #define UNCHECKED_BITSTREAM_READER 1 #include "avcodec.h" #include "get_bits.h" |