summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2013-02-01 10:31:59 +0100
committerDiego Biurrun <diego@biurrun.de>2013-05-04 21:09:45 +0200
commit6fee1b90ce3bf4fbdfde7016e0890057c9000487 (patch)
treec1b37ab53c8caab6b47702ec4451038c5d2882e4
parent72e228b274a98af1aba9588415d0cd87fde44663 (diff)
avcodec: Add av_cold attributes to init functions missing them
-rw-r--r--libavcodec/aacpsy.c4
-rw-r--r--libavcodec/ac3enc.c3
-rw-r--r--libavcodec/atrac3.c3
-rw-r--r--libavcodec/audio_frame_queue.c3
-rw-r--r--libavcodec/avfft.c1
-rw-r--r--libavcodec/bgmc.c8
-rw-r--r--libavcodec/bink.c5
-rw-r--r--libavcodec/binkdsp.c3
-rw-r--r--libavcodec/dcadsp.c3
-rw-r--r--libavcodec/dnxhdenc.c9
-rw-r--r--libavcodec/dsputil.c9
-rw-r--r--libavcodec/dvdsubdec.c3
-rw-r--r--libavcodec/eac3enc.c4
-rw-r--r--libavcodec/ffv1.c3
-rw-r--r--libavcodec/ffv1enc.c3
-rw-r--r--libavcodec/flac_parser.c3
-rw-r--r--libavcodec/h261enc.c3
-rw-r--r--libavcodec/h264_parser.c3
-rw-r--r--libavcodec/h264chroma.c3
-rw-r--r--libavcodec/h264dsp.c5
-rw-r--r--libavcodec/h264pred.c6
-rw-r--r--libavcodec/h264qpel.c3
-rw-r--r--libavcodec/iirfilter.c16
-rw-r--r--libavcodec/ituh263dec.c3
-rw-r--r--libavcodec/ituh263enc.c9
-rw-r--r--libavcodec/ivi_common.c2
-rw-r--r--libavcodec/libschroedinger.c5
-rw-r--r--libavcodec/libschroedingerenc.c3
-rw-r--r--libavcodec/libxvid_rc.c4
-rw-r--r--libavcodec/mlpdsp.c3
-rw-r--r--libavcodec/mpc.c3
-rw-r--r--libavcodec/mpeg12.c5
-rw-r--r--libavcodec/mpeg12enc.c6
-rw-r--r--libavcodec/mpeg4videoenc.c7
-rw-r--r--libavcodec/mpegaudiodec.c3
-rw-r--r--libavcodec/mpegaudiodsp.c3
-rw-r--r--libavcodec/mpegaudiodsp_template.c3
-rw-r--r--libavcodec/mpegvideo.c7
-rw-r--r--libavcodec/msmpeg4enc.c3
-rw-r--r--libavcodec/pngdsp.c3
-rw-r--r--libavcodec/proresdsp.c5
-rw-r--r--libavcodec/ralf.c3
-rw-r--r--libavcodec/rangecoder.c6
-rw-r--r--libavcodec/ratecontrol.c5
-rw-r--r--libavcodec/roqvideoenc.c3
-rw-r--r--libavcodec/sipr16k.c3
-rw-r--r--libavcodec/utils.c5
-rw-r--r--libavcodec/vc1.c3
-rw-r--r--libavcodec/vc1_parser.c3
-rw-r--r--libavcodec/videodsp.c3
-rw-r--r--libavcodec/vorbisdsp.c3
-rw-r--r--libavcodec/vp56dsp.c4
-rw-r--r--libavcodec/wma.c9
-rw-r--r--libavcodec/wmadec.c5
-rw-r--r--libavcodec/wmaenc.c4
-rw-r--r--libavcodec/x86/h264chroma_init.c3
-rw-r--r--libavcodec/x86/proresdsp_init.c3
57 files changed, 161 insertions, 87 deletions
diff --git a/libavcodec/aacpsy.c b/libavcodec/aacpsy.c
index ec889d7e3d..6f1ac05bff 100644
--- a/libavcodec/aacpsy.c
+++ b/libavcodec/aacpsy.c
@@ -24,6 +24,7 @@
* AAC encoder psychoacoustic model
*/
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "aactab.h"
#include "psymodel.h"
@@ -248,7 +249,8 @@ static float lame_calc_attack_threshold(int bitrate)
/**
* LAME psy model specific initialization
*/
-static void lame_window_init(AacPsyContext *ctx, AVCodecContext *avctx) {
+static av_cold void lame_window_init(AacPsyContext *ctx, AVCodecContext *avctx)
+{
int i, j;
for (i = 0; i < avctx->channels; i++) {
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index df86f0bd94..d372028bfe 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -30,6 +30,7 @@
#include <stdint.h>
+#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
@@ -754,7 +755,7 @@ static void count_frame_bits_fixed(AC3EncodeContext *s)
* Initialize bit allocation.
* Set default parameter codes and calculate parameter values.
*/
-static void bit_alloc_init(AC3EncodeContext *s)
+static av_cold void bit_alloc_init(AC3EncodeContext *s)
{
int ch;
diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c
index a52c5c618a..bfc26fc027 100644
--- a/libavcodec/atrac3.c
+++ b/libavcodec/atrac3.c
@@ -36,6 +36,7 @@
#include <stddef.h>
#include <stdio.h>
+#include "libavutil/attributes.h"
#include "libavutil/float_dsp.h"
#include "avcodec.h"
#include "bytestream.h"
@@ -839,7 +840,7 @@ static int atrac3_decode_frame(AVCodecContext *avctx, void *data,
return avctx->block_align;
}
-static void atrac3_init_static_data(AVCodec *codec)
+static av_cold void atrac3_init_static_data(AVCodec *codec)
{
int i;
diff --git a/libavcodec/audio_frame_queue.c b/libavcodec/audio_frame_queue.c
index 80f31008b0..0a8b25c6e3 100644
--- a/libavcodec/audio_frame_queue.c
+++ b/libavcodec/audio_frame_queue.c
@@ -19,12 +19,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "libavutil/mathematics.h"
#include "internal.h"
#include "audio_frame_queue.h"
-void ff_af_queue_init(AVCodecContext *avctx, AudioFrameQueue *afq)
+av_cold void ff_af_queue_init(AVCodecContext *avctx, AudioFrameQueue *afq)
{
afq->avctx = avctx;
afq->next_pts = AV_NOPTS_VALUE;
diff --git a/libavcodec/avfft.c b/libavcodec/avfft.c
index 9ed06fbeb5..8ef57974b6 100644
--- a/libavcodec/avfft.c
+++ b/libavcodec/avfft.c
@@ -16,6 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "libavutil/mem.h"
#include "avfft.h"
#include "fft.h"
diff --git a/libavcodec/bgmc.c b/libavcodec/bgmc.c
index ec8cf9bc0a..b8f4bee2aa 100644
--- a/libavcodec/bgmc.c
+++ b/libavcodec/bgmc.c
@@ -25,6 +25,7 @@
* @author Thilo Borgmann <thilo.borgmann _at_ googlemail.com>
*/
+#include "libavutil/attributes.h"
#include "bgmc.h"
#define FREQ_BITS 14 // bits used by frequency counters
@@ -456,7 +457,8 @@ static uint8_t *bgmc_lut_getp(uint8_t *lut, int *lut_status, int delta)
/** Initialize the lookup table arrays */
-int ff_bgmc_init(AVCodecContext *avctx, uint8_t **cf_lut, int **cf_lut_status)
+av_cold int ff_bgmc_init(AVCodecContext *avctx,
+ uint8_t **cf_lut, int **cf_lut_status)
{
*cf_lut = av_malloc(sizeof(*cf_lut) * LUT_BUFF * 16 * LUT_SIZE);
*cf_lut_status = av_malloc(sizeof(*cf_lut_status) * LUT_BUFF);
@@ -483,8 +485,8 @@ void ff_bgmc_end(uint8_t **cf_lut, int **cf_lut_status)
/** Initialize decoding and reads the first value */
-void ff_bgmc_decode_init(GetBitContext *gb, unsigned int *h, unsigned int *l,
- unsigned int *v)
+av_cold void ff_bgmc_decode_init(GetBitContext *gb, unsigned int *h,
+ unsigned int *l, unsigned int *v)
{
*h = TOP_VALUE;
*l = 0;
diff --git a/libavcodec/bink.c b/libavcodec/bink.c
index 33feb42a44..7ec0cabaed 100644
--- a/libavcodec/bink.c
+++ b/libavcodec/bink.c
@@ -20,6 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "avcodec.h"
@@ -524,14 +525,14 @@ static inline int get_value(BinkContext *c, int bundle)
return ret;
}
-static void binkb_init_bundle(BinkContext *c, int bundle_num)
+static av_cold void binkb_init_bundle(BinkContext *c, int bundle_num)
{
c->bundle[bundle_num].cur_dec =
c->bundle[bundle_num].cur_ptr = c->bundle[bundle_num].data;
c->bundle[bundle_num].len = 13;
}
-static void binkb_init_bundles(BinkContext *c)
+static av_cold void binkb_init_bundles(BinkContext *c)
{
int i;
for (i = 0; i < BINKB_NB_SRC; i++)
diff --git a/libavcodec/binkdsp.c b/libavcodec/binkdsp.c
index 1f7855b30b..a73c1481a0 100644
--- a/libavcodec/binkdsp.c
+++ b/libavcodec/binkdsp.c
@@ -24,6 +24,7 @@
* Bink DSP routines
*/
+#include "libavutil/attributes.h"
#include "dsputil.h"
#include "binkdsp.h"
@@ -128,7 +129,7 @@ static void scale_block_c(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align
}
}
-void ff_binkdsp_init(BinkDSPContext *c)
+av_cold void ff_binkdsp_init(BinkDSPContext *c)
{
c->idct_add = bink_idct_add_c;
c->idct_put = bink_idct_put_c;
diff --git a/libavcodec/dcadsp.c b/libavcodec/dcadsp.c
index 14932e6786..8b2dd42f10 100644
--- a/libavcodec/dcadsp.c
+++ b/libavcodec/dcadsp.c
@@ -20,6 +20,7 @@
*/
#include "config.h"
+#include "libavutil/attributes.h"
#include "dcadsp.h"
static void dca_lfe_fir_c(float *out, const float *in, const float *coefs,
@@ -44,7 +45,7 @@ static void dca_lfe_fir_c(float *out, const float *in, const float *coefs,
}
}
-void ff_dcadsp_init(DCADSPContext *s)
+av_cold void ff_dcadsp_init(DCADSPContext *s)
{
s->lfe_fir = dca_lfe_fir_c;
if (ARCH_ARM) ff_dcadsp_init_arm(s);
diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c
index 4ea3709b08..5b59e643d1 100644
--- a/libavcodec/dnxhdenc.c
+++ b/libavcodec/dnxhdenc.c
@@ -26,6 +26,7 @@
//#define DEBUG
#define RC_VARIANCE 1 // use variance or ssd for fast rc
+#include "libavutil/attributes.h"
#include "libavutil/internal.h"
#include "libavutil/opt.h"
#include "avcodec.h"
@@ -100,7 +101,7 @@ static int dnxhd_10bit_dct_quantize(MpegEncContext *ctx, int16_t *block,
return last_non_zero;
}
-static int dnxhd_init_vlc(DNXHDEncContext *ctx)
+static av_cold int dnxhd_init_vlc(DNXHDEncContext *ctx)
{
int i, j, level, run;
int max_level = 1<<(ctx->cid_table->bit_depth+2);
@@ -155,7 +156,7 @@ static int dnxhd_init_vlc(DNXHDEncContext *ctx)
return -1;
}
-static int dnxhd_init_qmat(DNXHDEncContext *ctx, int lbias, int cbias)
+static av_cold int dnxhd_init_qmat(DNXHDEncContext *ctx, int lbias, int cbias)
{
// init first elem to 1 to avoid div by 0 in convert_matrix
uint16_t weight_matrix[64] = {1,}; // convert_matrix needs uint16_t*
@@ -214,7 +215,7 @@ static int dnxhd_init_qmat(DNXHDEncContext *ctx, int lbias, int cbias)
return -1;
}
-static int dnxhd_init_rc(DNXHDEncContext *ctx)
+static av_cold int dnxhd_init_rc(DNXHDEncContext *ctx)
{
FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->mb_rc, 8160*ctx->m.avctx->qmax*sizeof(RCEntry), fail);
if (ctx->m.avctx->mb_decision != FF_MB_DECISION_RD)
@@ -228,7 +229,7 @@ static int dnxhd_init_rc(DNXHDEncContext *ctx)
return -1;
}
-static int dnxhd_encode_init(AVCodecContext *avctx)
+static av_cold int dnxhd_encode_init(AVCodecContext *avctx)
{
DNXHDEncContext *ctx = avctx->priv_data;
int i, index, bit_depth;
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index 97a79b4e58..3c7579d72c 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -27,6 +27,7 @@
* DSP utils
*/
+#include "libavutil/attributes.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "avcodec.h"
@@ -106,7 +107,9 @@ static const uint8_t simple_mmx_permutation[64]={
static const uint8_t idct_sse2_row_perm[8] = {0, 4, 1, 5, 2, 6, 3, 7};
-void ff_init_scantable(uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable){
+av_cold void ff_init_scantable(uint8_t *permutation, ScanTable *st,
+ const uint8_t *src_scantable)
+{
int i;
int end;
@@ -127,8 +130,8 @@ void ff_init_scantable(uint8_t *permutation, ScanTable *st, const uint8_t *src_s
}
}
-void ff_init_scantable_permutation(uint8_t *idct_permutation,
- int idct_permutation_type)
+av_cold void ff_init_scantable_permutation(uint8_t *idct_permutation,
+ int idct_permutation_type)
{
int i;
diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
index cf4524ef92..970da86895 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
@@ -21,6 +21,7 @@
#include "avcodec.h"
#include "get_bits.h"
#include "dsputil.h"
+#include "libavutil/attributes.h"
#include "libavutil/colorspace.h"
#include "libavutil/imgutils.h"
#include "libavutil/avstring.h"
@@ -501,7 +502,7 @@ static int dvdsub_decode(AVCodecContext *avctx,
return buf_size;
}
-static int dvdsub_init(AVCodecContext *avctx)
+static av_cold int dvdsub_init(AVCodecContext *avctx)
{
DVDSubContext *ctx = avctx->priv_data;
char *data, *cur;
diff --git a/libavcodec/eac3enc.c b/libavcodec/eac3enc.c
index 3c7a611e87..69777fed11 100644
--- a/libavcodec/eac3enc.c
+++ b/libavcodec/eac3enc.c
@@ -25,6 +25,8 @@
*/
#define CONFIG_AC3ENC_FLOAT 1
+
+#include "libavutil/attributes.h"
#include "ac3enc.h"
#include "eac3enc.h"
#include "eac3_data.h"
@@ -43,7 +45,7 @@ static const AVClass eac3enc_class = { "E-AC-3 Encoder", av_default_item_name,
static int8_t eac3_frame_expstr_index_tab[3][4][4][4][4][4];
-void ff_eac3_exponent_init(void)
+av_cold void ff_eac3_exponent_init(void)
{
int i;
diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c
index 81c684c2fe..378b55b236 100644
--- a/libavcodec/ffv1.c
+++ b/libavcodec/ffv1.c
@@ -25,6 +25,7 @@
* FF Video Codec 1 (a lossless codec)
*/
+#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "get_bits.h"
@@ -130,7 +131,7 @@ const uint8_t ffv1_ver2_state[256] = {
};
-int ffv1_common_init(AVCodecContext *avctx)
+av_cold int ffv1_common_init(AVCodecContext *avctx)
{
FFV1Context *s = avctx->priv_data;
diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c
index 34191b7d84..b7a2b22e1e 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -25,6 +25,7 @@
* FF Video Codec 1 (a lossless codec) encoder
*/
+#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/pixdesc.h"
#include "libavutil/crc.h"
@@ -544,7 +545,7 @@ static int sort_stt(FFV1Context *s, uint8_t stt[256])
return print;
}
-static int init_slices_state(FFV1Context *f)
+static av_cold int init_slices_state(FFV1Context *f)
{
int i, ret;
for (i = 0; i < f->slice_count; i++) {
diff --git a/libavcodec/flac_parser.c b/libavcodec/flac_parser.c
index 155162ad80..bf2c11821b 100644
--- a/libavcodec/flac_parser.c
+++ b/libavcodec/flac_parser.c
@@ -32,6 +32,7 @@
* The parser returns the frame with the highest score.
**/
+#include "libavutil/attributes.h"
#include "libavutil/crc.h"
#include "libavutil/fifo.h"
#include "bytestream.h"
@@ -653,7 +654,7 @@ handle_error:
return read_end - buf;
}
-static int flac_parse_init(AVCodecParserContext *c)
+static av_cold int flac_parse_init(AVCodecParserContext *c)
{
FLACParseContext *fpc = c->priv_data;
fpc->pc = c;
diff --git a/libavcodec/h261enc.c b/libavcodec/h261enc.c
index 3ef7a7c6e1..6a8d993abf 100644
--- a/libavcodec/h261enc.c
+++ b/libavcodec/h261enc.c
@@ -25,6 +25,7 @@
* H.261 encoder.
*/
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "mpegvideo.h"
#include "h263.h"
@@ -311,7 +312,7 @@ void ff_h261_encode_mb(MpegEncContext *s, int16_t block[6][64],
}
}
-void ff_h261_encode_init(MpegEncContext *s)
+av_cold void ff_h261_encode_init(MpegEncContext *s)
{
ff_h261_common_init();
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
index aa930d9e82..e5d2c03f8a 100644
--- a/libavcodec/h264_parser.c
+++ b/libavcodec/h264_parser.c
@@ -25,6 +25,7 @@
* @author Michael Niedermayer <michaelni@gmx.at>
*/
+#include "libavutil/attributes.h"
#include "parser.h"
#include "h264data.h"
#include "golomb.h"
@@ -333,7 +334,7 @@ static void close(AVCodecParserContext *s)
ff_h264_free_context(h);
}
-static int init(AVCodecParserContext *s)
+static av_cold int init(AVCodecParserContext *s)
{
H264Context *h = s->priv_data;
h->thread_context[0] = h;
diff --git a/libavcodec/h264chroma.c b/libavcodec/h264chroma.c
index 6194c4d1bd..8aa5e93e0d 100644
--- a/libavcodec/h264chroma.c
+++ b/libavcodec/h264chroma.c
@@ -17,6 +17,7 @@
*/
#include "config.h"
+#include "libavutil/attributes.h"
#include "h264chroma.h"
#define BIT_DEPTH 8
@@ -35,7 +36,7 @@
c->avg_h264_chroma_pixels_tab[1] = avg_h264_chroma_mc4_ ## depth ## _c; \
c->avg_h264_chroma_pixels_tab[2] = avg_h264_chroma_mc2_ ## depth ## _c; \
-void ff_h264chroma_init(H264ChromaContext *c, int bit_depth)
+av_cold void ff_h264chroma_init(H264ChromaContext *c, int bit_depth)
{
if (bit_depth > 8 && bit_depth <= 16) {
SET_CHROMA(16);
diff --git a/libavcodec/h264dsp.c b/libavcodec/h264dsp.c
index 6ba465bced..3ca6abefda 100644
--- a/libavcodec/h264dsp.c
+++ b/libavcodec/h264dsp.c
@@ -26,6 +26,8 @@
*/
#include <stdint.h>
+
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "h264dsp.h"
#include "h264idct.h"
@@ -51,7 +53,8 @@
#include "h264addpx_template.c"
#undef BIT_DEPTH
-void ff_h264dsp_init(H264DSPContext *c, const int bit_depth, const int chroma_format_idc)
+av_cold void ff_h264dsp_init(H264DSPContext *c, const int bit_depth,
+ const int chroma_format_idc)
{
#undef FUNC
#define FUNC(a, depth) a ## _ ## depth ## _c
diff --git a/libavcodec/h264pred.c b/libavcodec/h264pred.c
index 6825cf27c3..2c991fd414 100644
--- a/libavcodec/h264pred.c
+++ b/libavcodec/h264pred.c
@@ -25,6 +25,7 @@
* @author Michael Niedermayer <michaelni@gmx.at>
*/
+#include "libavutil/attributes.h"
#include "dsputil.h"
#include "h264pred.h"
@@ -397,8 +398,9 @@ static void pred8x8_tm_vp8_c(uint8_t *src, ptrdiff_t stride)
/**
* Set the intra prediction function pointers.
*/
-void ff_h264_pred_init(H264PredContext *h, int codec_id, const int bit_depth,
- const int chroma_format_idc)
+av_cold void ff_h264_pred_init(H264PredContext *h, int codec_id,
+ const int bit_depth,
+ const int chroma_format_idc)
{
#undef FUNC
#undef FUNCC
diff --git a/libavcodec/h264qpel.c b/libavcodec/h264qpel.c
index 1bf31688f5..24c9299786 100644
--- a/libavcodec/h264qpel.c
+++ b/libavcodec/h264qpel.c
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "h264qpel.h"
#define BIT_DEPTH 8
@@ -33,7 +34,7 @@
#include "h264qpel_template.c"
#undef BIT_DEPTH
-void ff_h264qpel_init(H264QpelContext *c, int bit_depth)
+av_cold void ff_h264qpel_init(H264QpelContext *c, int bit_depth)
{
#undef FUNCC
#define FUNCC(f, depth) f ## _ ## depth ## _c
diff --git a/libavcodec/iirfilter.c b/libavcodec/iirfilter.c
index acfa9048b4..40a543da4c 100644
--- a/libavcodec/iirfilter.c
+++ b/libavcodec/iirfilter.c
@@ -26,6 +26,7 @@
#include "iirfilter.h"
#include <math.h>
+#include "libavutil/attributes.h"
#include "libavutil/common.h"
/**
@@ -48,10 +49,11 @@ typedef struct FFIIRFilterState{
/// maximum supported filter order
#define MAXORDER 30
-static int butterworth_init_coeffs(void *avc, struct FFIIRFilterCoeffs *c,
- enum IIRFilterMode filt_mode,
- int order, float cutoff_ratio,
- float stopband)
+static av_cold int butterworth_init_coeffs(void *avc,
+ struct FFIIRFilterCoeffs *c,
+ enum IIRFilterMode filt_mode,
+ int order, float cutoff_ratio,
+ float stopband)
{
int i, j;
double wa;
@@ -113,9 +115,9 @@ static int butterworth_init_coeffs(void *avc, struct FFIIRFilterCoeffs *c,
return 0;
}
-static int biquad_init_coeffs(void *avc, struct FFIIRFilterCoeffs *c,
- enum IIRFilterMode filt_mode, int order,
- float cutoff_ratio, float stopband)
+static av_cold int biquad_init_coeffs(void *avc, struct FFIIRFilterCoeffs *c,
+ enum IIRFilterMode filt_mode, int order,
+ float cutoff_ratio, float stopband)
{
double cos_w0, sin_w0;
double a0, x0, x1;
diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c
index 9a42c2d767..b528f2fd37 100644
--- a/libavcodec/ituh263dec.c
+++ b/libavcodec/ituh263dec.c
@@ -30,6 +30,7 @@
//#define DEBUG
#include <limits.h>
+#include "libavutil/attributes.h"
#include "libavutil/internal.h"
#include "libavutil/mathematics.h"
#include "avcodec.h"
@@ -101,7 +102,7 @@ static VLC cbpc_b_vlc;
/* init vlcs */
/* XXX: find a better solution to handle static init */
-void ff_h263_decode_init_vlc(void)
+av_cold void ff_h263_decode_init_vlc(void)
{
static int done = 0;
diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c
index eb91142bd5..54629a2807 100644
--- a/libavcodec/ituh263enc.c
+++ b/libavcodec/ituh263enc.c
@@ -30,6 +30,7 @@
//#define DEBUG
#include <limits.h>
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "mpegvideo.h"
#include "h263.h"
@@ -682,7 +683,7 @@ void ff_h263_encode_motion(MpegEncContext * s, int val, int f_code)
}
}
-static void init_mv_penalty_and_fcode(MpegEncContext *s)
+static av_cold void init_mv_penalty_and_fcode(MpegEncContext *s)
{
int f_code;
int mv;
@@ -724,7 +725,9 @@ static void init_mv_penalty_and_fcode(MpegEncContext *s)
}
}
-static void init_uni_h263_rl_tab(RLTable *rl, uint32_t *bits_tab, uint8_t *len_tab){
+static av_cold void init_uni_h263_rl_tab(RLTable *rl, uint32_t *bits_tab,
+ uint8_t *len_tab)
+{
int slevel, run, last;
assert(MAX_LEVEL >= 64);
@@ -767,7 +770,7 @@ static void init_uni_h263_rl_tab(RLTable *rl, uint32_t *bits_tab, uint8_t *len_t
}
}
-void ff_h263_encode_init(MpegEncContext *s)
+av_cold void ff_h263_encode_init(MpegEncContext *s)
{
static int done = 0;
diff --git a/libavcodec/ivi_common.c b/libavcodec/ivi_common.c
index f068e45e89..f11b7292ef 100644
--- a/libavcodec/ivi_common.c
+++ b/libavcodec/ivi_common.c
@@ -100,7 +100,7 @@ static int ivi_create_huff_from_desc(const IVIHuffDesc *cb, VLC *vlc, int flag)
(flag ? INIT_VLC_USE_NEW_STATIC : 0) | INIT_VLC_LE);
}
-void ff_ivi_init_static_vlc(void)
+av_cold void ff_ivi_init_static_vlc(void)
{
int i;
static VLC_TYPE table_data[8192 * 16][2];
diff --git a/libavcodec/libschroedinger.c b/libavcodec/libschroedinger.c
index 2aa5eb9fa1..fc9188cb8a 100644
--- a/libavcodec/libschroedinger.c
+++ b/libavcodec/libschroedinger.c
@@ -23,8 +23,9 @@
* function definitions common to libschroedinger decoder and encoder
*/
-#include "libschroedinger.h"
+#include "libavutil/attributes.h"
#include "libavutil/mem.h"
+#include "libschroedinger.h"
static const SchroVideoFormatInfo ff_schro_video_format_info[] = {
{ 640, 480, 24000, 1001},
@@ -66,7 +67,7 @@ static unsigned int get_video_format_idx(AVCodecContext *avctx)
return ret_idx;
}
-void ff_schro_queue_init(FFSchroQueue *queue)
+av_cold void ff_schro_queue_init(FFSchroQueue *queue)
{
queue->p_head = queue->p_tail = NULL;
queue->size = 0;
diff --git a/libavcodec/libschroedingerenc.c b/libavcodec/libschroedingerenc.c
index 596a8bda64..210dd342b5 100644
--- a/libavcodec/libschroedingerenc.c
+++ b/libavcodec/libschroedingerenc.c
@@ -34,6 +34,7 @@
#include <schroedinger/schrodebug.h>
#include <schroedinger/schrovideoformat.h>
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "internal.h"
#include "libschroedinger.h"
@@ -102,7 +103,7 @@ static int set_chroma_format(AVCodecContext *avctx)
return -1;
}
-static int libschroedinger_encode_init(AVCodecContext *avctx)
+static av_cold int libschroedinger_encode_init(AVCodecContext *avctx)
{
SchroEncoderParams *p_schro_params = avctx->priv_data;
SchroVideoFormatEnum preset;
diff --git a/libavcodec/libxvid_rc.c b/libavcodec/libxvid_rc.c
index dd4cff274e..9c45804679 100644
--- a/libavcodec/libxvid_rc.c
+++ b/libavcodec/libxvid_rc.c
@@ -27,6 +27,7 @@
#include <fcntl.h>
#endif
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "libxvid.h"
#include "mpegvideo.h"
@@ -70,7 +71,8 @@ int ff_tempfile(const char *prefix, char **filename) {
return fd; /* success */
}
-int ff_xvid_rate_control_init(MpegEncContext *s){
+av_cold int ff_xvid_rate_control_init(MpegEncContext *s)
+{
char *tmp_name;
int fd, i;
xvid_plg_create_t xvid_plg_create = { 0 };
diff --git a/libavcodec/mlpdsp.c b/libavcodec/mlpdsp.c
index 7e6da6e470..b96200ef97 100644
--- a/libavcodec/mlpdsp.c
+++ b/libavcodec/mlpdsp.c
@@ -20,6 +20,7 @@
*/
#include "config.h"
+#include "libavutil/attributes.h"
#include "mlpdsp.h"
#include "mlp.h"
@@ -56,7 +57,7 @@ static void mlp_filter_channel(int32_t *state, const int32_t *coeff,
}
}
-void ff_mlpdsp_init(MLPDSPContext *c)
+av_cold void ff_mlpdsp_init(MLPDSPContext *c)
{
c->mlp_filter_channel = mlp_filter_channel;
if (ARCH_X86)
diff --git a/libavcodec/mpc.c b/libavcodec/mpc.c
index 97b405f42c..763ea2c058 100644
--- a/libavcodec/mpc.c
+++ b/libavcodec/mpc.c
@@ -26,6 +26,7 @@
* divided into 32 subbands.
*/
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "get_bits.h"
#include "mpegaudiodsp.h"
@@ -34,7 +35,7 @@
#include "mpc.h"
#include "mpcdata.h"
-void ff_mpc_init(void)
+av_cold void ff_mpc_init(void)
{
ff_mpa_synth_init_fixed(ff_mpa_synth_window_fixed);
}
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index aa0b4d542f..8bc56973ed 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -26,6 +26,7 @@
*/
//#define DEBUG
+#include "libavutil/attributes.h"
#include "internal.h"
#include "avcodec.h"
#include "dsputil.h"
@@ -55,7 +56,7 @@ uint8_t ff_mpeg12_static_rl_table_store[2][2][2*MAX_RUN + MAX_LEVEL + 3];
init_2d_vlc_rl(&rl);\
}
-static void init_2d_vlc_rl(RLTable *rl)
+static av_cold void init_2d_vlc_rl(RLTable *rl)
{
int i;
@@ -88,7 +89,7 @@ static void init_2d_vlc_rl(RLTable *rl)
}
}
-void ff_mpeg12_common_init(MpegEncContext *s)
+av_cold void ff_mpeg12_common_init(MpegEncContext *s)
{
s->y_dc_scale_table =
diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c
index 348d535565..91077e7c57 100644
--- a/libavcodec/mpeg12enc.c
+++ b/libavcodec/mpeg12enc.c
@@ -33,6 +33,7 @@
#include "mpeg12data.h"
#include "bytestream.h"
+#include "libavutil/attributes.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
@@ -67,7 +68,8 @@ static uint32_t mpeg1_chr_dc_uni[512];
static uint8_t mpeg1_index_run[2][64];
static int8_t mpeg1_max_level[2][64];
-static void init_uni_ac_vlc(RLTable *rl, uint8_t *uni_ac_vlc_len){
+static av_cold void init_uni_ac_vlc(RLTable *rl, uint8_t *uni_ac_vlc_len)
+{
int i;
for(i=0; i<128; i++){
@@ -702,7 +704,7 @@ static void mpeg1_encode_motion(MpegEncContext *s, int val, int f_or_b_code)
}
}
-void ff_mpeg1_encode_init(MpegEncContext *s)
+av_cold void ff_mpeg1_encode_init(MpegEncContext *s)
{
static int done=0;
diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c
index fb4d7a8743..fd39b3f8d7 100644
--- a/libavcodec/mpeg4videoenc.c
+++ b/libavcodec/mpeg4videoenc.c
@@ -20,6 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "mpegvideo.h"
@@ -1083,7 +1084,7 @@ void ff_mpeg4_encode_picture_header(MpegEncContext * s, int picture_number)
}
-static void init_uni_dc_tab(void)
+static av_cold void init_uni_dc_tab(void)
{
int level, uni_code, uni_len;
@@ -1135,7 +1136,9 @@ static void init_uni_dc_tab(void)
}
}
-static void init_uni_mpeg4_rl_tab(RLTable *rl, uint32_t *bits_tab, uint8_t *len_tab){
+static av_cold void init_uni_mpeg4_rl_tab(RLTable *rl, uint32_t *bits_tab,
+ uint8_t *len_tab)
+{
int slevel, run, last;
assert(MAX_LEVEL >= 64);
diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c
index fa6ac04785..c18f433b4b 100644
--- a/libavcodec/mpegaudiodec.c
+++ b/libavcodec/mpegaudiodec.c
@@ -24,6 +24,7 @@
* MPEG Audio decoder
*/
+#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "libavutil/float_dsp.h"
@@ -1820,7 +1821,7 @@ static av_cold int decode_close_mp3on4(AVCodecContext * avctx)
}
-static int decode_init_mp3on4(AVCodecContext * avctx)
+static av_cold int decode_init_mp3on4(AVCodecContext * avctx)
{
MP3On4DecodeContext *s = avctx->priv_data;
MPEG4AudioConfig cfg;
diff --git a/libavcodec/mpegaudiodsp.c b/libavcodec/mpegaudiodsp.c
index 461a9efce1..342ed16ea3 100644
--- a/libavcodec/mpegaudiodsp.c
+++ b/libavcodec/mpegaudiodsp.c
@@ -19,11 +19,12 @@
*/
#include "config.h"
+#include "libavutil/attributes.h"
#include "mpegaudiodsp.h"
#include "dct.h"
#include "dct32.h"
-void ff_mpadsp_init(MPADSPContext *s)
+av_cold void ff_mpadsp_init(MPADSPContext *s)
{
DCTContext dct;
diff --git a/libavcodec/mpegaudiodsp_template.c b/libavcodec/mpegaudiodsp_template.c
index e7a7656a3f..621bbd4eba 100644
--- a/libavcodec/mpegaudiodsp_template.c
+++ b/libavcodec/mpegaudiodsp_template.c
@@ -20,6 +20,7 @@
#include <stdint.h>
+#include "libavutil/attributes.h"
#include "libavutil/mem.h"
#include "dct32.h"
#include "mathops.h"
@@ -220,7 +221,7 @@ av_cold void RENAME(ff_mpa_synth_init)(MPA_INT *window)
window[512+128+16*i+j] = window[64*i+48-j];
}
-void RENAME(ff_init_mpadsp_tabs)(void)
+av_cold void RENAME(ff_init_mpadsp_tabs)(void)
{
int i, j;
/* compute mdct windows */
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 06278cd1e8..2ab32946fe 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -27,6 +27,7 @@
* The simplest mpeg encoder (well, it was the simplest!).
*/
+#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/imgutils.h"
#include "avcodec.h"
@@ -1303,8 +1304,8 @@ void ff_MPV_common_end(MpegEncContext *s)
s->linesize = s->uvlinesize = 0;
}
-void ff_init_rl(RLTable *rl,
- uint8_t static_store[2][2 * MAX_RUN + MAX_LEVEL + 3])
+av_cold void ff_init_rl(RLTable *rl,
+ uint8_t static_store[2][2 * MAX_RUN + MAX_LEVEL + 3])
{
int8_t max_level[MAX_RUN + 1], max_run[MAX_LEVEL + 1];
uint8_t index_run[MAX_RUN + 1];
@@ -1355,7 +1356,7 @@ void ff_init_rl(RLTable *rl,
}
}
-void ff_init_vlc_rl(RLTable *rl)
+av_cold void ff_init_vlc_rl(RLTable *rl)
{
int i, q;
diff --git a/libavcodec/msmpeg4enc.c b/libavcodec/msmpeg4enc.c
index 936c7a53dd..45ef208935 100644
--- a/libavcodec/msmpeg4enc.c
+++ b/libavcodec/msmpeg4enc.c
@@ -30,6 +30,7 @@
#include <stdint.h>
#include <string.h>
+#include "libavutil/attributes.h"
#include "libavutil/avutil.h"
#include "libavutil/mem.h"
#include "mpegvideo.h"
@@ -45,7 +46,7 @@
static uint8_t rl_length[NB_RL_TABLES][MAX_LEVEL+1][MAX_RUN+1][2];
/* build the table which associate a (x,y) motion vector to a vlc */
-static void init_mv_table(MVTable *tab)
+static av_cold void init_mv_table(MVTable *tab)
{
int i, x, y;
diff --git a/libavcodec/pngdsp.c b/libavcodec/pngdsp.c
index 00734d7d10..afd9093174 100644
--- a/libavcodec/pngdsp.c
+++ b/libavcodec/pngdsp.c
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "png.h"
#include "pngdsp.h"
@@ -39,7 +40,7 @@ static void add_bytes_l2_c(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
dst[i] = src1[i] + src2[i];
}
-void ff_pngdsp_init(PNGDSPContext *dsp)
+av_cold void ff_pngdsp_init(PNGDSPContext *dsp)
{
dsp->add_bytes_l2 = add_bytes_l2_c;
dsp->add_paeth_prediction = ff_add_png_paeth_prediction;
diff --git a/libavcodec/proresdsp.c b/libavcodec/proresdsp.c
index 6d45def203..1c0f391576 100644
--- a/libavcodec/proresdsp.c
+++ b/libavcodec/proresdsp.c
@@ -20,11 +20,12 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
+#include "libavutil/common.h"
#include "dct.h"
#include "dsputil.h"
#include "proresdsp.h"
#include "simple_idct.h"
-#include "libavutil/common.h"
#define BIAS (1 << (PRORES_BITS_PER_SAMPLE - 1)) ///< bias value for converting signed pixels into unsigned ones
#define CLIP_MIN (1 << (PRORES_BITS_PER_SAMPLE - 8)) ///< minimum value for clipping resulting pixels
@@ -71,7 +72,7 @@ static void prores_fdct_c(const uint16_t *src, int linesize, int16_t *block)
}
#endif
-void ff_proresdsp_init(ProresDSPContext *dsp)
+av_cold void ff_proresdsp_init(ProresDSPContext *dsp)
{
#if CONFIG_PRORES_DECODER
dsp->idct_put = prores_idct_put_c;
diff --git a/libavcodec/ralf.c b/libavcodec/ralf.c
index e02289ccf3..e78a9d442d 100644
--- a/libavcodec/ralf.c
+++ b/libavcodec/ralf.c
@@ -26,6 +26,7 @@
* Dedicated to the mastermind behind it, Ralph Wiggum.
*/
+#include "libavutil/attributes.h"
#include "libavutil/channel_layout.h"
#include "avcodec.h"
#include "get_bits.h"
@@ -72,7 +73,7 @@ typedef struct RALFContext {
#define MAX_ELEMS 644 // no RALF table uses more than that
-static int init_ralf_vlc(VLC *vlc, const uint8_t *data, int elems)
+static av_cold int init_ralf_vlc(VLC *vlc, const uint8_t *data, int elems)
{
uint8_t lens[MAX_ELEMS];
uint16_t codes[MAX_ELEMS];
diff --git a/libavcodec/rangecoder.c b/libavcodec/rangecoder.c
index fcadfe47d1..af0a8c009e 100644
--- a/libavcodec/rangecoder.c
+++ b/libavcodec/rangecoder.c
@@ -33,11 +33,12 @@
#include <string.h>
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "rangecoder.h"
#include "bytestream.h"
-void ff_init_range_encoder(RangeCoder *c, uint8_t *buf, int buf_size)
+av_cold void ff_init_range_encoder(RangeCoder *c, uint8_t *buf, int buf_size)
{
c->bytestream_start =
c->bytestream = buf;
@@ -48,7 +49,8 @@ void ff_init_range_encoder(RangeCoder *c, uint8_t *buf, int buf_size)
c->outstanding_byte = -1;
}
-void ff_init_range_decoder(RangeCoder *c, const uint8_t *buf, int buf_size)
+av_cold void ff_init_range_decoder(RangeCoder *c, const uint8_t *buf,
+ int buf_size)
{
/* cast to avoid compiler warning */
ff_init_range_encoder(c, (uint8_t *)buf, buf_size);
diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c
index 21fc8c5b23..5aaf151b98 100644
--- a/libavcodec/ratecontrol.c
+++ b/libavcodec/ratecontrol.c
@@ -25,6 +25,7 @@
* Rate control for video encoders.
*/
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "ratecontrol.h"
#include "mpegvideo.h"
@@ -78,7 +79,7 @@ static inline double bits2qp(RateControlEntry *rce, double bits)
return rce->qscale * (double)(rce->i_tex_bits + rce->p_tex_bits + 1) / bits;
}
-int ff_rate_control_init(MpegEncContext *s)
+av_cold int ff_rate_control_init(MpegEncContext *s)
{
RateControlContext *rcc = &s->rc_context;
int i, res;
@@ -282,7 +283,7 @@ int ff_rate_control_init(MpegEncContext *s)
return 0;
}
-void ff_rate_control_uninit(MpegEncContext *s)
+av_cold void ff_rate_control_uninit(MpegEncContext *s)
{
RateControlContext *rcc = &s->rc_context;
emms_c();
diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c
index 636418a5d9..db95282ff8 100644
--- a/libavcodec/roqvideoenc.c
+++ b/libavcodec/roqvideoenc.c
@@ -56,6 +56,7 @@
#include <string.h>
+#include "libavutil/attributes.h"
#include "roqvideo.h"
#include "bytestream.h"
#include "elbg.h"
@@ -952,7 +953,7 @@ static int roq_encode_end(AVCodecContext *avctx)
return 0;
}
-static int roq_encode_init(AVCodecContext *avctx)
+static av_cold int roq_encode_init(AVCodecContext *avctx)
{
RoqContext *enc = avctx->priv_data;
diff --git a/libavcodec/sipr16k.c b/libavcodec/sipr16k.c
index a472dfd59a..f7fcb34315 100644
--- a/libavcodec/sipr16k.c
+++ b/libavcodec/sipr16k.c
@@ -24,6 +24,7 @@
#include <math.h>
#include "sipr.h"
+#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "libavutil/float_dsp.h"
#include "libavutil/mathematics.h"
@@ -268,7 +269,7 @@ void ff_sipr_decode_frame_16k(SiprContext *ctx, SiprParameters *params,
memcpy(ctx->iir_mem, Az[1], LP_FILTER_ORDER_16k * sizeof(float));
}
-void ff_sipr_init_16k(SiprContext *ctx)
+av_cold void ff_sipr_init_16k(SiprContext *ctx)
{
int i;
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 0d621449f2..df4e30524d 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -26,6 +26,7 @@
*/
#include "config.h"
+#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
@@ -109,7 +110,7 @@ AVCodec *av_codec_next(const AVCodec *c)
return first_avcodec;
}
-static void avcodec_init(void)
+static av_cold void avcodec_init(void)
{
static int initialized = 0;
@@ -131,7 +132,7 @@ int av_codec_is_decoder(const AVCodec *codec)
return codec && codec->decode;
}
-void avcodec_register(AVCodec *codec)
+av_cold void avcodec_register(AVCodec *codec)
{
AVCodec **p;
avcodec_init();
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index e93ccc46ea..719c28d746 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -27,6 +27,7 @@
*
*/
+#include "libavutil/attributes.h"
#include "internal.h"
#include "avcodec.h"
#include "mpegvideo.h"
@@ -1484,7 +1485,7 @@ static const uint16_t vlc_offs[] = {
* @param v The VC1Context to initialize
* @return Status
*/
-int ff_vc1_init_common(VC1Context *v)
+av_cold int ff_vc1_init_common(VC1Context *v)
{
static int done = 0;
int i = 0;
diff --git a/libavcodec/vc1_parser.c b/libavcodec/vc1_parser.c
index a6363d9a90..1bedd986b4 100644
--- a/libavcodec/vc1_parser.c
+++ b/libavcodec/vc1_parser.c
@@ -25,6 +25,7 @@
* VC-1 and WMV3 parser
*/
+#include "libavutil/attributes.h"
#include "parser.h"
#include "vc1.h"
#include "get_bits.h"
@@ -189,7 +190,7 @@ static int vc1_split(AVCodecContext *avctx,
return 0;
}
-static int vc1_parse_init(AVCodecParserContext *s)
+static av_cold int vc1_parse_init(AVCodecParserContext *s)
{
VC1ParseContext *vpc = s->priv_data;
vpc->v.s.slice_context_count = 1;
diff --git a/libavcodec/videodsp.c b/libavcodec/videodsp.c
index d14b0a13f1..a6a1d3753a 100644
--- a/libavcodec/videodsp.c
+++ b/libavcodec/videodsp.c
@@ -18,6 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "videodsp.h"
@@ -33,7 +34,7 @@ static void just_return(uint8_t *buf, ptrdiff_t stride, int h)
{
}
-void ff_videodsp_init(VideoDSPContext *ctx, int bpc)
+av_cold void ff_videodsp_init(VideoDSPContext *ctx, int bpc)
{
ctx->prefetch = just_return;
if (bpc <= 8) {
diff --git a/libavcodec/vorbisdsp.c b/libavcodec/vorbisdsp.c
index 1764438001..34cfe3275a 100644
--- a/libavcodec/vorbisdsp.c
+++ b/libavcodec/vorbisdsp.c
@@ -17,10 +17,11 @@
*/
#include "config.h"
+#include "libavutil/attributes.h"
#include "vorbisdsp.h"
#include "vorbis.h"
-void ff_vorbisdsp_init(VorbisDSPContext *dsp)
+av_cold void ff_vorbisdsp_init(VorbisDSPContext *dsp)
{
dsp->vorbis_inverse_coupling = ff_vorbis_inverse_coupling;
diff --git a/libavcodec/vp56dsp.c b/libavcodec/vp56dsp.c
index 5a36e52df6..9929530221 100644
--- a/libavcodec/vp56dsp.c
+++ b/libavcodec/vp56dsp.c
@@ -20,6 +20,8 @@
*/
#include <stdint.h>
+
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "vp56dsp.h"
#include "libavutil/common.h"
@@ -75,7 +77,7 @@ VP56_EDGE_FILTER(vp5, ver, stride, 1)
VP56_EDGE_FILTER(vp6, hor, 1, stride)
VP56_EDGE_FILTER(vp6, ver, stride, 1)
-void ff_vp56dsp_init(VP56DSPContext *s, enum AVCodecID codec)
+av_cold void ff_vp56dsp_init(VP56DSPContext *s, enum AVCodecID codec)
{
if (codec == AV_CODEC_ID_VP5) {
s->edge_filter_hor = vp5_edge_filter_hor;
diff --git a/libavcodec/wma.c b/libavcodec/wma.c
index 03e310bc94..db276461a7 100644
--- a/libavcodec/wma.c
+++ b/libavcodec/wma.c
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "sinewin.h"
#include "wma.h"
@@ -30,9 +31,9 @@
/* XXX: use same run/length optimization as mpeg decoders */
//FIXME maybe split decode / encode or pass flag
-static void init_coef_vlc(VLC *vlc, uint16_t **prun_table,
- float **plevel_table, uint16_t **pint_table,
- const CoefVLCTable *vlc_table)
+static av_cold void init_coef_vlc(VLC *vlc, uint16_t **prun_table,
+ float **plevel_table, uint16_t **pint_table,
+ const CoefVLCTable *vlc_table)
{
int n = vlc_table->n;
const uint8_t *table_bits = vlc_table->huffbits;
@@ -68,7 +69,7 @@ static void init_coef_vlc(VLC *vlc, uint16_t **prun_table,
av_free(level_table);
}
-int ff_wma_init(AVCodecContext *avctx, int flags2)
+av_cold int ff_wma_init(AVCodecContext *avctx, int flags2)
{
WMACodecContext *s = avctx->priv_data;
int i;
diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c
index dbefbe0886..b9b176eeae 100644
--- a/libavcodec/wmadec.c
+++ b/libavcodec/wmadec.c
@@ -33,6 +33,7 @@
* should be 4 extra bytes for v1 data and 6 extra bytes for v2 data.
*/
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "internal.h"
#include "wma.h"
@@ -66,7 +67,7 @@ static void dump_floats(WMACodecContext *s, const char *name, int prec, const fl
}
#endif
-static int wma_decode_init(AVCodecContext * avctx)
+static av_cold int wma_decode_init(AVCodecContext * avctx)
{
WMACodecContext *s = avctx->priv_data;
int i, flags2;
@@ -143,7 +144,7 @@ static inline float pow_m1_4(WMACodecContext *s, float x)
return s->lsp_pow_e_table[e] * (a + b * t.f);
}
-static void wma_lsp_to_curve_init(WMACodecContext *s, int frame_len)
+static av_cold void wma_lsp_to_curve_init(WMACodecContext *s, int frame_len)
{
float wdel, a, b;
int i, e, m;
diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c
index adaa7b37e2..f5bdb678e2 100644
--- a/libavcodec/wmaenc.c
+++ b/libavcodec/wmaenc.c
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "avcodec.h"
#include "internal.h"
#include "wma.h"
@@ -27,7 +28,8 @@
#include <assert.h>
-static int encode_init(AVCodecContext * avctx){
+static av_cold int encode_init(AVCodecContext *avctx)
+{
WMACodecContext *s = avctx->priv_data;
int i, flags1, flags2, block_align;
uint8_t *extradata;
diff --git a/libavcodec/x86/h264chroma_init.c b/libavcodec/x86/h264chroma_init.c
index bdbbafdaa5..1ed34c0da8 100644
--- a/libavcodec/x86/h264chroma_init.c
+++ b/libavcodec/x86/h264chroma_init.c
@@ -19,6 +19,7 @@
#include <stdint.h>
#include "config.h"
+#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/h264chroma.h"
@@ -66,7 +67,7 @@ CHROMA_MC(avg, 8, 10, sse2)
CHROMA_MC(put, 8, 10, avx)
CHROMA_MC(avg, 8, 10, avx)
-void ff_h264chroma_init_x86(H264ChromaContext *c, int bit_depth)
+av_cold void ff_h264chroma_init_x86(H264ChromaContext *c, int bit_depth)
{
#if HAVE_YASM
int high_bit_depth = bit_depth > 8;
diff --git a/libavcodec/x86/proresdsp_init.c b/libavcodec/x86/proresdsp_init.c
index 9df69b62ab..8bff85fbe8 100644
--- a/libavcodec/x86/proresdsp_init.c
+++ b/libavcodec/x86/proresdsp_init.c
@@ -20,6 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/attributes.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/dsputil.h"
#include "libavcodec/proresdsp.h"
@@ -31,7 +32,7 @@ void ff_prores_idct_put_10_sse4(uint16_t *dst, int linesize,
void ff_prores_idct_put_10_avx (uint16_t *dst, int linesize,
int16_t *block, const int16_t *qmat);
-void ff_proresdsp_x86_init(ProresDSPContext *dsp)
+av_cold void ff_proresdsp_x86_init(ProresDSPContext *dsp)
{
#if ARCH_X86_64
int flags = av_get_cpu_flags();