Skip to content
Snippets Groups Projects
Commit 10f46815 authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos
Browse files

lavc/sinewin: Do not declare AAC 120/960 tables as const.

ff_sine_window_init() is writing to these tables causing
a crash if compiled with gcc 8 and lto.

Analyzed by Martin Liška in:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85132

Fixes ticket #7491.
parent feb05ffa
No related branches found
No related tags found
No related merge requests found
...@@ -38,6 +38,9 @@ ...@@ -38,6 +38,9 @@
#define SINETABLE(size) \ #define SINETABLE(size) \
SINETABLE_CONST DECLARE_ALIGNED(32, INTFLOAT, AAC_RENAME(ff_sine_##size))[size] SINETABLE_CONST DECLARE_ALIGNED(32, INTFLOAT, AAC_RENAME(ff_sine_##size))[size]
#define SINETABLE120960(size) \
DECLARE_ALIGNED(32, INTFLOAT, AAC_RENAME(ff_sine_##size))[size]
/** /**
* Generate a sine window. * Generate a sine window.
* @param window pointer to half window * @param window pointer to half window
...@@ -52,11 +55,11 @@ void AAC_RENAME(ff_init_ff_sine_windows)(int index); ...@@ -52,11 +55,11 @@ void AAC_RENAME(ff_init_ff_sine_windows)(int index);
extern SINETABLE( 32); extern SINETABLE( 32);
extern SINETABLE( 64); extern SINETABLE( 64);
extern SINETABLE( 120); extern SINETABLE120960(120);
extern SINETABLE( 128); extern SINETABLE( 128);
extern SINETABLE( 256); extern SINETABLE( 256);
extern SINETABLE( 512); extern SINETABLE( 512);
extern SINETABLE( 960); extern SINETABLE120960(960);
extern SINETABLE(1024); extern SINETABLE(1024);
extern SINETABLE(2048); extern SINETABLE(2048);
extern SINETABLE(4096); extern SINETABLE(4096);
......
...@@ -32,8 +32,8 @@ ...@@ -32,8 +32,8 @@
#include "libavutil/common.h" #include "libavutil/common.h"
#if !USE_FIXED #if !USE_FIXED
SINETABLE( 120); SINETABLE120960(120);
SINETABLE( 960); SINETABLE120960(960);
#endif #endif
#if !CONFIG_HARDCODED_TABLES #if !CONFIG_HARDCODED_TABLES
SINETABLE( 32); SINETABLE( 32);
......
...@@ -33,6 +33,8 @@ ...@@ -33,6 +33,8 @@
#define SINETABLE_CONST #define SINETABLE_CONST
#define SINETABLE(size) \ #define SINETABLE(size) \
INTFLOAT AAC_RENAME(ff_sine_##size)[size] INTFLOAT AAC_RENAME(ff_sine_##size)[size]
#define SINETABLE120960(size) \
INTFLOAT AAC_RENAME(ff_sine_##size)[size]
#define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0])) #define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))
#include "sinewin_tablegen.h" #include "sinewin_tablegen.h"
#include "tableprint.h" #include "tableprint.h"
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#define LIBAVCODEC_VERSION_MAJOR 58 #define LIBAVCODEC_VERSION_MAJOR 58
#define LIBAVCODEC_VERSION_MINOR 33 #define LIBAVCODEC_VERSION_MINOR 33
#define LIBAVCODEC_VERSION_MICRO 101 #define LIBAVCODEC_VERSION_MICRO 102
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \ LIBAVCODEC_VERSION_MINOR, \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment