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.
This commit is contained in:
@@ -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);
|
|||||||
|
|
||||||
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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
|
|
||||||
#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, \
|
||||||
|
|||||||
Reference in New Issue
Block a user