Merge commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487'

* commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487':
  avcodec: Add av_cold attributes to init functions missing them

Conflicts:
	libavcodec/aacpsy.c
	libavcodec/atrac3.c
	libavcodec/dvdsubdec.c
	libavcodec/ffv1.c
	libavcodec/ffv1enc.c
	libavcodec/h261enc.c
	libavcodec/h264_parser.c
	libavcodec/h264dsp.c
	libavcodec/h264pred.c
	libavcodec/libschroedingerenc.c
	libavcodec/libxvid_rc.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/proresdsp.c
	libavcodec/rangecoder.c
	libavcodec/videodsp.c
	libavcodec/x86/proresdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-05-05 11:34:29 +02:00
commit 0aa095483d
57 changed files with 162 additions and 87 deletions

View File

@ -24,6 +24,7 @@
* AAC encoder psychoacoustic model
*/
#include "libavutil/attributes.h"
#include "libavutil/libm.h"
#include "avcodec.h"
@ -254,7 +255,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++) {

View File

@ -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;

View File

@ -36,6 +36,7 @@
#include <stddef.h>
#include <stdio.h>
#include "libavutil/attributes.h"
#include "libavutil/float_dsp.h"
#include "libavutil/libm.h"
#include "avcodec.h"
@ -838,7 +839,7 @@ static int atrac3_decode_frame(AVCodecContext *avctx, void *data,
return avctx->block_align;
}
static void atrac3_init_static_data(void)
static av_cold void atrac3_init_static_data(void)
{
int i;

View File

@ -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 "audio_frame_queue.h"
#include "internal.h"
#include "libavutil/avassert.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->remaining_delay = avctx->delay;

View File

@ -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"

View File

@ -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;

View File

@ -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"
@ -528,14 +529,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++)

View File

@ -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;

View File

@ -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);

View File

@ -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"
@ -115,7 +116,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);
@ -170,7 +171,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*
@ -234,7 +235,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)
@ -248,7 +249,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;

View File

@ -27,6 +27,7 @@
* DSP utils
*/
#include "libavutil/attributes.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "avcodec.h"
@ -107,7 +108,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;
@ -128,8 +131,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;

View File

@ -21,6 +21,7 @@
#include "avcodec.h"
#include "get_bits.h"
#include "dsputil.h"
#include "libavutil/attributes.h"
#include "libavutil/colorspace.h"
#include "libavutil/opt.h"
#include "libavutil/imgutils.h"
@ -565,7 +566,7 @@ static int dvdsub_parse_extradata(AVCodecContext *avctx)
return 1;
}
static int dvdsub_init(AVCodecContext *avctx)
static int av_cold dvdsub_init(AVCodecContext *avctx)
{
DVDSubContext *ctx = avctx->priv_data;
int ret;

View File

@ -25,6 +25,8 @@
*/
#define CONFIG_AC3ENC_FLOAT 1
#include "libavutil/attributes.h"
#include "ac3enc.h"
#include "eac3enc.h"
#include "eac3_data.h"
@ -47,7 +49,7 @@ static const AVClass eac3enc_class = {
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;

View File

@ -25,6 +25,7 @@
* FF Video Codec 1 (a lossless codec)
*/
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/crc.h"
#include "libavutil/opt.h"
@ -62,7 +63,7 @@ av_cold int ffv1_common_init(AVCodecContext *avctx)
return 0;
}
int ffv1_init_slice_state(FFV1Context *f, FFV1Context *fs)
av_cold int ffv1_init_slice_state(FFV1Context *f, FFV1Context *fs)
{
int j;
@ -96,7 +97,7 @@ int ffv1_init_slice_state(FFV1Context *f, FFV1Context *fs)
return 0;
}
int ffv1_init_slices_state(FFV1Context *f)
av_cold int ffv1_init_slices_state(FFV1Context *f)
{
int i, ret;
for (i = 0; i < f->slice_count; i++) {

View File

@ -25,6 +25,7 @@
* FF Video Codec 1 (a lossless codec) encoder
*/
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/crc.h"
#include "libavutil/opt.h"

View File

@ -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"
@ -658,7 +659,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;

View File

@ -25,6 +25,7 @@
* H.261 encoder.
*/
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "mpegvideo.h"
@ -312,7 +313,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();

View File

@ -27,6 +27,7 @@
#define UNCHECKED_BITSTREAM_READER 1
#include "libavutil/attributes.h"
#include "parser.h"
#include "h264data.h"
#include "golomb.h"
@ -381,7 +382,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;

View File

@ -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);

View File

@ -26,7 +26,9 @@
*/
#include <stdint.h>
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "h264dsp.h"
#include "h264idct.h"
@ -60,7 +62,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

View File

@ -25,6 +25,7 @@
* @author Michael Niedermayer <michaelni@gmx.at>
*/
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "dsputil.h"
#include "h264pred.h"
@ -407,8 +408,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,
int chroma_format_idc)
av_cold void ff_h264_pred_init(H264PredContext *h, int codec_id,
const int bit_depth,
int chroma_format_idc)
{
#undef FUNC
#undef FUNCC

View File

@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "libavutil/attributes.h"
#include "h264qpel.h"
#define pixeltmp int16_t
@ -45,7 +46,7 @@
#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

View File

@ -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;

View File

@ -32,6 +32,7 @@
//#define DEBUG
#include <limits.h>
#include "libavutil/attributes.h"
#include "libavutil/internal.h"
#include "libavutil/mathematics.h"
#include "avcodec.h"
@ -100,7 +101,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 volatile int done = 0;

View File

@ -30,6 +30,7 @@
//#define DEBUG
#include <limits.h>
#include "libavutil/attributes.h"
#include "avcodec.h"
#include "mpegvideo.h"
#include "h263.h"
@ -679,7 +680,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;
@ -721,7 +722,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;
av_assert0(MAX_LEVEL >= 64);
@ -764,7 +767,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;

View File

@ -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];

View File

@ -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;

View File

@ -31,6 +31,7 @@
#include <schroedinger/schrodebug.h>
#include <schroedinger/schrovideoformat.h>
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "internal.h"
@ -100,7 +101,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;

View File

@ -23,6 +23,7 @@
#include "config.h"
#include <xvid.h>
#include <unistd.h>
#include "libavutil/attributes.h"
#include "libavutil/file.h"
#include "avcodec.h"
#include "libxvid.h"
@ -31,7 +32,8 @@
#undef NDEBUG
#include <assert.h>
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 };

View File

@ -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)

View File

@ -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);
}

View File

@ -28,6 +28,7 @@
#define UNCHECKED_BITSTREAM_READER 1
//#define DEBUG
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/timecode.h"
@ -58,7 +59,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;
@ -91,7 +92,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 =

View File

@ -32,6 +32,8 @@
#include "mpeg12.h"
#include "mpeg12data.h"
#include "bytestream.h"
#include "libavutil/attributes.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "libavutil/avassert.h"
@ -68,7 +70,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++){
@ -741,7 +744,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;

View File

@ -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"
@ -1095,7 +1096,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;
@ -1147,7 +1148,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;
av_assert0(MAX_LEVEL >= 64);

View File

@ -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"
@ -1846,7 +1847,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;

View File

@ -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;

View File

@ -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 */

View File

@ -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"
@ -1301,8 +1302,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];
@ -1353,7 +1354,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;

View File

@ -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;

View File

@ -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;

View File

@ -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, AVCodecContext *avctx)
av_cold void ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx)
{
#if CONFIG_PRORES_DECODER | CONFIG_PRORES_LGPL_DECODER
dsp->idct_put = prores_idct_put_c;

View File

@ -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];

View File

@ -33,12 +33,13 @@
#include <string.h>
#include "libavutil/attributes.h"
#include "libavutil/avassert.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;
@ -49,7 +50,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);

View File

@ -25,6 +25,7 @@
* Rate control for video encoders.
*/
#include "libavutil/attributes.h"
#include "avcodec.h"
#include "ratecontrol.h"
#include "mpegvideo.h"
@ -83,7 +84,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;
@ -296,7 +297,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();

View File

@ -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;

View File

@ -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;

View File

@ -26,6 +26,7 @@
*/
#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
@ -133,7 +134,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;
@ -155,7 +156,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();

View File

@ -27,6 +27,7 @@
*
*/
#include "libavutil/attributes.h"
#include "internal.h"
#include "avcodec.h"
#include "mpegvideo.h"
@ -1575,7 +1576,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;

View File

@ -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;

View File

@ -18,6 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "videodsp.h"
@ -34,7 +35,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) {

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;
@ -150,7 +151,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;

View File

@ -19,13 +19,15 @@
* 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"
#include "libavutil/avassert.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;

View File

@ -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;

View File

@ -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, AVCodecContext *avctx)
av_cold void ff_proresdsp_x86_init(ProresDSPContext *dsp, AVCodecContext *avctx)
{
#if ARCH_X86_64
int flags = av_get_cpu_flags();