[FFmpeg-cvslog] avcodec/fraps: Use cached bitstream reader

Andreas Rheinhardt git at videolan.org
Sat Sep 26 22:12:54 EEST 2020


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Tue Sep 22 10:12:15 2020 +0200| [a162e78cd5f6cf3d8fc30169fc7df482905df01b] | committer: Andreas Rheinhardt

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 at gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a162e78cd5f6cf3d8fc30169fc7df482905df01b
---

 libavcodec/fraps.c | 3 +++
 1 file changed, 3 insertions(+)

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"



More information about the ffmpeg-cvslog mailing list