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

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


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Tue Sep 22 08:53:34 2020 +0200| [bc6838deb99ecd649ed483ed1ce657c70830b0af] | committer: Andreas Rheinhardt

avcodec/fraps: Use unchecked bitstream reader

The fraps decoder already checked for overreads manually (and errored
out in this scenario), yet it still enabled implicit checks, leading to
worse performance and more code size.

This commit disables the implicit bitstream reader checks. For the
sample [1] this improves performance from 195105896 to 155851561
decicycles for Clang 10 and from 222801887 to 168270467 decicycles when
compiled with GCC 9.3. These values are the average of 10 runs each
looping ten 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=bc6838deb99ecd649ed483ed1ce657c70830b0af
---

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

diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c
index 7a7673f73f..00fd63ffec 100644
--- a/libavcodec/fraps.c
+++ b/libavcodec/fraps.c
@@ -31,6 +31,7 @@
  * Version 2 files support by Konstantin Shishkov
  */
 
+#define UNCHECKED_BITSTREAM_READER 1
 #include "avcodec.h"
 #include "get_bits.h"
 #include "huffman.h"



More information about the ffmpeg-cvslog mailing list