aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/fraps.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-09-22 08:53:34 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-09-26 21:10:45 +0200
commitbc6838deb99ecd649ed483ed1ce657c70830b0af (patch)
treea796845cb85bc9313d1fd3c18e49f0a26f2db691 /libavcodec/fraps.c
parentbb16dbc0026c43d3aba6d803bb0a968ece25ba2b (diff)
downloadffmpeg-bc6838deb99ecd649ed483ed1ce657c70830b0af.tar.gz
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@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavcodec/fraps.c')
-rw-r--r--libavcodec/fraps.c1
1 files changed, 1 insertions, 0 deletions
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"