changeset 6517:48759bfbd073 libavcodec

Apply 'cold' attribute to init/uninit functions in libavcodec
author zuxy
date Fri, 21 Mar 2008 03:11:20 +0000
parents dbb902bb2347
children 2191d340f80d
files 4xm.c 8bps.c aac_parser.c aasc.c ac3.c ac3_parser.c ac3dec.c ac3enc.c adpcm.c adxenc.c alac.c apedec.c asv1.c avs.c bethsoftvideo.c bmp.c bmpenc.c c93.c cavs.c cinepak.c cljr.c cscd.c cyuv.c dca.c dca_parser.c dnxhddec.c dpcm.c dsicinav.c dv.c dvbsub_parser.c dvbsubdec.c dxa.c ffv1.c flac.c flacenc.c flashsv.c flashsvenc.c flicvideo.c fraps.c g726.c gif.c gifdec.c h261dec.c h263dec.c h264.c huffyuv.c idcinvideo.c imc.c indeo2.c indeo3.c interplayvideo.c jpeglsenc.c kmvc.c lcldec.c lclenc.c liba52.c libfaac.c libfaad.c libgsm.c libmp3lame.c libvorbis.c libx264.c libxvidff.c loco.c lzw.c mace.c mdec.c mimic.c mjpegdec.c mjpegenc.c mmvideo.c mpc7.c mpc8.c mpeg12.c mpeg12enc.c mpegaudioenc.c mpegvideo_enc.c msrle.c msvideo1.c nellymoserdec.c nuv.c pcm.c pcx.c pngdec.c pngenc.c pnmenc.c ptx.c qdrw.c qpeg.c qtrle.c qtrleenc.c rawdec.c rawenc.c roqaudioenc.c roqvideodec.c rpza.c rv10.c rv30.c rv34.c rv40.c sgidec.c sgienc.c shorten.c smacker.c smc.c snow.c sonic.c sunrast.c svq1dec.c svq1enc.c targa.c targaenc.c tiertexseqv.c tiff.c truemotion1.c truemotion2.c truespeech.c tscc.c tta.c txd.c ulti.c vb.c vc1.c vcr1.c vmdav.c vmnc.c vorbis_dec.c vorbis_enc.c vp3.c vp5.c vp56.c vp6.c vqavideo.c wavpack.c wmv2.c wmv2dec.c wmv2enc.c wnv1.c ws-snd1.c xan.c xl.c xsubdec.c zmbv.c zmbvenc.c
diffstat 144 files changed, 288 insertions(+), 288 deletions(-) [+]
line wrap: on
line diff
--- a/4xm.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/4xm.c	Fri Mar 21 03:11:20 2008 +0000
@@ -235,7 +235,7 @@
     }
 }
 
-static void init_vlcs(FourXContext *f){
+static av_cold void init_vlcs(FourXContext *f){
     int i;
 
     for(i=0; i<8; i++){
@@ -792,7 +792,7 @@
     f->avctx= avctx;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
     FourXContext * const f = avctx->priv_data;
 
     if(avctx->extradata_size != 4 || !avctx->extradata) {
@@ -811,7 +811,7 @@
 }
 
 
-static int decode_end(AVCodecContext *avctx){
+static av_cold int decode_end(AVCodecContext *avctx){
     FourXContext * const f = avctx->priv_data;
     int i;
 
--- a/8bps.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/8bps.c	Fri Mar 21 03:11:20 2008 +0000
@@ -148,7 +148,7 @@
  * Init 8BPS decoder
  *
  */
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
         EightBpsContext * const c = avctx->priv_data;
 
@@ -208,7 +208,7 @@
  * Uninit 8BPS decoder
  *
  */
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
         EightBpsContext * const c = avctx->priv_data;
 
--- a/aac_parser.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/aac_parser.c	Fri Mar 21 03:11:20 2008 +0000
@@ -81,7 +81,7 @@
     return size;
 }
 
-static int aac_parse_init(AVCodecParserContext *s1)
+static av_cold int aac_parse_init(AVCodecParserContext *s1)
 {
     AACAC3ParseContext *s = s1->priv_data;
     s->inbuf_ptr = s->inbuf;
--- a/aasc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/aasc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -44,7 +44,7 @@
     } \
     stream_byte = buf[stream_ptr++];
 
-static int aasc_decode_init(AVCodecContext *avctx)
+static av_cold int aasc_decode_init(AVCodecContext *avctx)
 {
     AascContext *s = avctx->priv_data;
 
@@ -150,7 +150,7 @@
     return buf_size;
 }
 
-static int aasc_decode_end(AVCodecContext *avctx)
+static av_cold int aasc_decode_end(AVCodecContext *avctx)
 {
     AascContext *s = avctx->priv_data;
 
--- a/ac3.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/ac3.c	Fri Mar 21 03:11:20 2008 +0000
@@ -223,7 +223,7 @@
  * note: This function must remain thread safe because it is called by the
  *       AVParser init code.
  */
-void ac3_common_init(void)
+av_cold void ac3_common_init(void)
 {
     int i, j, k, l, v;
     /* compute bndtab and masktab from bandsz */
--- a/ac3_parser.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/ac3_parser.c	Fri Mar 21 03:11:20 2008 +0000
@@ -137,7 +137,7 @@
     return hdr.frame_size;
 }
 
-static int ac3_parse_init(AVCodecParserContext *s1)
+static av_cold int ac3_parse_init(AVCodecParserContext *s1)
 {
     AACAC3ParseContext *s = s1->priv_data;
     s->inbuf_ptr = s->inbuf;
--- a/ac3dec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/ac3dec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -207,7 +207,7 @@
 /*
  * Initialize tables at runtime.
  */
-static void ac3_tables_init(void)
+static av_cold void ac3_tables_init(void)
 {
     int i;
 
@@ -260,7 +260,7 @@
 /**
  * AVCodec initialization
  */
-static int ac3_decode_init(AVCodecContext *avctx)
+static av_cold int ac3_decode_init(AVCodecContext *avctx)
 {
     AC3DecodeContext *s = avctx->priv_data;
     s->avctx = avctx;
@@ -1209,7 +1209,7 @@
 /**
  * Uninitialize the AC-3 decoder.
  */
-static int ac3_decode_end(AVCodecContext *avctx)
+static av_cold int ac3_decode_end(AVCodecContext *avctx)
 {
     AC3DecodeContext *s = avctx->priv_data;
     ff_mdct_end(&s->imdct_512);
--- a/ac3enc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/ac3enc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -608,7 +608,7 @@
     return 0;
 }
 
-static int AC3_encode_init(AVCodecContext *avctx)
+static av_cold int AC3_encode_init(AVCodecContext *avctx)
 {
     int freq = avctx->sample_rate;
     int bitrate = avctx->bit_rate;
@@ -1255,7 +1255,7 @@
     return output_frame_end(s);
 }
 
-static int AC3_encode_close(AVCodecContext *avctx)
+static av_cold int AC3_encode_close(AVCodecContext *avctx)
 {
     av_freep(&avctx->coded_frame);
     return 0;
--- a/adpcm.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/adpcm.c	Fri Mar 21 03:11:20 2008 +0000
@@ -663,7 +663,7 @@
 }
 #endif //CONFIG_ENCODERS
 
-static int adpcm_decode_init(AVCodecContext * avctx)
+static av_cold int adpcm_decode_init(AVCodecContext * avctx)
 {
     ADPCMContext *c = avctx->priv_data;
     unsigned int max_channels = 2;
--- a/adxenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/adxenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -110,7 +110,7 @@
     return 0x20+4;
 }
 
-static int adx_encode_init(AVCodecContext *avctx)
+static av_cold int adx_encode_init(AVCodecContext *avctx)
 {
     if (avctx->channels > 2)
         return -1; /* only stereo or mono =) */
@@ -126,7 +126,7 @@
     return 0;
 }
 
-static int adx_encode_close(AVCodecContext *avctx)
+static av_cold int adx_encode_close(AVCodecContext *avctx)
 {
     av_freep(&avctx->coded_frame);
 
--- a/alac.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/alac.c	Fri Mar 21 03:11:20 2008 +0000
@@ -624,7 +624,7 @@
     return input_buffer_size;
 }
 
-static int alac_decode_init(AVCodecContext * avctx)
+static av_cold int alac_decode_init(AVCodecContext * avctx)
 {
     ALACContext *alac = avctx->priv_data;
     alac->avctx = avctx;
@@ -637,7 +637,7 @@
     return 0;
 }
 
-static int alac_decode_close(AVCodecContext *avctx)
+static av_cold int alac_decode_close(AVCodecContext *avctx)
 {
     ALACContext *alac = avctx->priv_data;
 
--- a/apedec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/apedec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -185,7 +185,7 @@
     return res;
 }
 
-static int ape_decode_init(AVCodecContext * avctx)
+static av_cold int ape_decode_init(AVCodecContext * avctx)
 {
     APEContext *s = avctx->priv_data;
     int i;
@@ -224,7 +224,7 @@
     return 0;
 }
 
-static int ape_decode_close(AVCodecContext * avctx)
+static av_cold int ape_decode_close(AVCodecContext * avctx)
 {
     APEContext *s = avctx->priv_data;
     int i;
--- a/asv1.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/asv1.c	Fri Mar 21 03:11:20 2008 +0000
@@ -113,7 +113,7 @@
 static VLC ac_ccp_vlc;
 static VLC asv2_level_vlc;
 
-static void init_vlcs(ASV1Context *a){
+static av_cold void init_vlcs(ASV1Context *a){
     static int done = 0;
 
     if (!done) {
@@ -521,7 +521,7 @@
 }
 #endif /* CONFIG_ENCODERS */
 
-static void common_init(AVCodecContext *avctx){
+static av_cold void common_init(AVCodecContext *avctx){
     ASV1Context * const a = avctx->priv_data;
 
     dsputil_init(&a->dsp, avctx);
@@ -535,7 +535,7 @@
     a->avctx= avctx;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
     ASV1Context * const a = avctx->priv_data;
     AVFrame *p= (AVFrame*)&a->picture;
     int i;
@@ -570,7 +570,7 @@
 }
 
 #ifdef CONFIG_ENCODERS
-static int encode_init(AVCodecContext *avctx){
+static av_cold int encode_init(AVCodecContext *avctx){
     ASV1Context * const a = avctx->priv_data;
     int i;
     const int scale= avctx->codec_id == CODEC_ID_ASV1 ? 1 : 2;
@@ -595,7 +595,7 @@
 }
 #endif
 
-static int decode_end(AVCodecContext *avctx){
+static av_cold int decode_end(AVCodecContext *avctx){
     ASV1Context * const a = avctx->priv_data;
 
     av_freep(&a->bitstream_buffer);
--- a/avs.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/avs.c	Fri Mar 21 03:11:20 2008 +0000
@@ -142,7 +142,7 @@
     return buf_size;
 }
 
-static int avs_decode_init(AVCodecContext * avctx)
+static av_cold int avs_decode_init(AVCodecContext * avctx)
 {
     avctx->pix_fmt = PIX_FMT_PAL8;
     return 0;
--- a/bethsoftvideo.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/bethsoftvideo.c	Fri Mar 21 03:11:20 2008 +0000
@@ -36,7 +36,7 @@
     AVFrame frame;
 } BethsoftvidContext;
 
-static int bethsoftvid_decode_init(AVCodecContext *avctx)
+static av_cold int bethsoftvid_decode_init(AVCodecContext *avctx)
 {
     BethsoftvidContext *vid = avctx->priv_data;
     vid->frame.reference = 1;
@@ -120,7 +120,7 @@
     return buf_size;
 }
 
-static int bethsoftvid_decode_end(AVCodecContext *avctx)
+static av_cold int bethsoftvid_decode_end(AVCodecContext *avctx)
 {
     BethsoftvidContext * vid = avctx->priv_data;
     if(vid->frame.data[0])
--- a/bmp.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/bmp.c	Fri Mar 21 03:11:20 2008 +0000
@@ -23,7 +23,7 @@
 #include "bytestream.h"
 #include "bmp.h"
 
-static int bmp_decode_init(AVCodecContext *avctx){
+static av_cold int bmp_decode_init(AVCodecContext *avctx){
     BMPContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults((AVFrame*)&s->picture);
@@ -231,7 +231,7 @@
     return buf_size;
 }
 
-static int bmp_decode_end(AVCodecContext *avctx)
+static av_cold int bmp_decode_end(AVCodecContext *avctx)
 {
     BMPContext* c = avctx->priv_data;
 
--- a/bmpenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/bmpenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -23,7 +23,7 @@
 #include "bytestream.h"
 #include "bmp.h"
 
-static int bmp_encode_init(AVCodecContext *avctx){
+static av_cold int bmp_encode_init(AVCodecContext *avctx){
     BMPContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults((AVFrame*)&s->picture);
--- a/c93.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/c93.c	Fri Mar 21 03:11:20 2008 +0000
@@ -45,13 +45,13 @@
 #define C93_HAS_PALETTE 0x01
 #define C93_FIRST_FRAME 0x02
 
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     avctx->pix_fmt = PIX_FMT_PAL8;
     return 0;
 }
 
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     C93DecoderContext * const c93 = avctx->priv_data;
 
--- a/cavs.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/cavs.c	Fri Mar 21 03:11:20 2008 +0000
@@ -668,7 +668,7 @@
     h->block        = av_mallocz(64*sizeof(DCTELEM));
 }
 
-int ff_cavs_init(AVCodecContext *avctx) {
+av_cold int ff_cavs_init(AVCodecContext *avctx) {
     AVSContext *h = avctx->priv_data;
     MpegEncContext * const s = &h->s;
 
@@ -699,7 +699,7 @@
     return 0;
 }
 
-int ff_cavs_end(AVCodecContext *avctx) {
+av_cold int ff_cavs_end(AVCodecContext *avctx) {
     AVSContext *h = avctx->priv_data;
 
     av_free(h->top_qp);
--- a/cinepak.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/cinepak.c	Fri Mar 21 03:11:20 2008 +0000
@@ -385,7 +385,7 @@
     return 0;
 }
 
-static int cinepak_decode_init(AVCodecContext *avctx)
+static av_cold int cinepak_decode_init(AVCodecContext *avctx)
 {
     CinepakContext *s = avctx->priv_data;
 
@@ -443,7 +443,7 @@
     return buf_size;
 }
 
-static int cinepak_decode_end(AVCodecContext *avctx)
+static av_cold int cinepak_decode_end(AVCodecContext *avctx)
 {
     CinepakContext *s = avctx->priv_data;
 
--- a/cljr.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/cljr.c	Fri Mar 21 03:11:20 2008 +0000
@@ -105,14 +105,14 @@
 }
 #endif
 
-static void common_init(AVCodecContext *avctx){
+static av_cold void common_init(AVCodecContext *avctx){
     CLJRContext * const a = avctx->priv_data;
 
     avctx->coded_frame= (AVFrame*)&a->picture;
     a->avctx= avctx;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
 
     common_init(avctx);
 
@@ -122,7 +122,7 @@
 }
 
 #if 0
-static int encode_init(AVCodecContext *avctx){
+static av_cold int encode_init(AVCodecContext *avctx){
 
     common_init(avctx);
 
--- a/cscd.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/cscd.c	Fri Mar 21 03:11:20 2008 +0000
@@ -212,7 +212,7 @@
     return buf_size;
 }
 
-static int decode_init(AVCodecContext *avctx) {
+static av_cold int decode_init(AVCodecContext *avctx) {
     CamStudioContext *c = avctx->priv_data;
     if (avcodec_check_dimensions(avctx, avctx->height, avctx->width) < 0) {
         return 1;
@@ -240,7 +240,7 @@
     return 0;
 }
 
-static int decode_end(AVCodecContext *avctx) {
+static av_cold int decode_end(AVCodecContext *avctx) {
     CamStudioContext *c = avctx->priv_data;
     av_freep(&c->decomp_buf);
     if (c->pic.data[0])
--- a/cyuv.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/cyuv.c	Fri Mar 21 03:11:20 2008 +0000
@@ -43,7 +43,7 @@
     AVFrame frame;
 } CyuvDecodeContext;
 
-static int cyuv_decode_init(AVCodecContext *avctx)
+static av_cold int cyuv_decode_init(AVCodecContext *avctx)
 {
     CyuvDecodeContext *s = avctx->priv_data;
 
@@ -163,7 +163,7 @@
     return buf_size;
 }
 
-static int cyuv_decode_end(AVCodecContext *avctx)
+static av_cold int cyuv_decode_end(AVCodecContext *avctx)
 {
 /*    CyuvDecodeContext *s = avctx->priv_data;*/
 
--- a/dca.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/dca.c	Fri Mar 21 03:11:20 2008 +0000
@@ -178,7 +178,7 @@
     DSPContext dsp;
 } DCAContext;
 
-static void dca_init_vlcs(void)
+static av_cold void dca_init_vlcs(void)
 {
     static int vlcs_initialized = 0;
     int i, j;
@@ -1200,7 +1200,7 @@
  * @param s     pointer to the DCAContext
  */
 
-static void pre_calc_cosmod(DCAContext * s)
+static av_cold void pre_calc_cosmod(DCAContext * s)
 {
     int i, j, k;
     static int cosmod_initialized = 0;
@@ -1230,7 +1230,7 @@
  * @param avctx     pointer to the AVCodecContext
  */
 
-static int dca_decode_init(AVCodecContext * avctx)
+static av_cold int dca_decode_init(AVCodecContext * avctx)
 {
     DCAContext *s = avctx->priv_data;
 
--- a/dca_parser.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/dca_parser.c	Fri Mar 21 03:11:20 2008 +0000
@@ -84,7 +84,7 @@
     return END_NOT_FOUND;
 }
 
-static int dca_parse_init(AVCodecParserContext * s)
+static av_cold int dca_parse_init(AVCodecParserContext * s)
 {
     DCAParseContext *pc1 = s->priv_data;
 
--- a/dnxhddec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/dnxhddec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -47,7 +47,7 @@
 #define DNXHD_VLC_BITS 9
 #define DNXHD_DC_VLC_BITS 7
 
-static int dnxhd_decode_init(AVCodecContext *avctx)
+static av_cold int dnxhd_decode_init(AVCodecContext *avctx)
 {
     DNXHDContext *ctx = avctx->priv_data;
 
@@ -320,7 +320,7 @@
     return buf_size;
 }
 
-static int dnxhd_decode_close(AVCodecContext *avctx)
+static av_cold int dnxhd_decode_close(AVCodecContext *avctx)
 {
     DNXHDContext *ctx = avctx->priv_data;
 
--- a/dpcm.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/dpcm.c	Fri Mar 21 03:11:20 2008 +0000
@@ -110,7 +110,7 @@
 
 
 
-static int dpcm_decode_init(AVCodecContext *avctx)
+static av_cold int dpcm_decode_init(AVCodecContext *avctx)
 {
     DPCMContext *s = avctx->priv_data;
     int i;
--- a/dsicinav.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/dsicinav.c	Fri Mar 21 03:11:20 2008 +0000
@@ -86,7 +86,7 @@
 };
 
 
-static int cinvideo_decode_init(AVCodecContext *avctx)
+static av_cold int cinvideo_decode_init(AVCodecContext *avctx)
 {
     CinVideoContext *cin = avctx->priv_data;
     unsigned int i;
@@ -284,7 +284,7 @@
     return buf_size;
 }
 
-static int cinvideo_decode_end(AVCodecContext *avctx)
+static av_cold int cinvideo_decode_end(AVCodecContext *avctx)
 {
     CinVideoContext *cin = avctx->priv_data;
     int i;
@@ -298,7 +298,7 @@
     return 0;
 }
 
-static int cinaudio_decode_init(AVCodecContext *avctx)
+static av_cold int cinaudio_decode_init(AVCodecContext *avctx)
 {
     CinAudioContext *cin = avctx->priv_data;
 
--- a/dv.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/dv.c	Fri Mar 21 03:11:20 2008 +0000
@@ -107,7 +107,7 @@
     }
 }
 
-static int dvvideo_init(AVCodecContext *avctx)
+static av_cold int dvvideo_init(AVCodecContext *avctx)
 {
     DVVideoContext *s = avctx->priv_data;
     DSPContext dsp;
--- a/dvbsub_parser.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/dvbsub_parser.c	Fri Mar 21 03:11:20 2008 +0000
@@ -38,7 +38,7 @@
     int in_packet;
 } DVBSubParseContext;
 
-static int dvbsub_parse_init(AVCodecParserContext *s)
+static av_cold int dvbsub_parse_init(AVCodecParserContext *s)
 {
     DVBSubParseContext *pc = s->priv_data;
     pc->packet_buf = av_malloc(PARSE_BUF_SIZE);
@@ -181,7 +181,7 @@
     return buf_size;
 }
 
-static void dvbsub_parse_close(AVCodecParserContext *s)
+static av_cold void dvbsub_parse_close(AVCodecParserContext *s)
 {
     DVBSubParseContext *pc = s->priv_data;
     av_freep(&pc->packet_buf);
--- a/dvbsubdec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/dvbsubdec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -338,7 +338,7 @@
         av_log(0, AV_LOG_ERROR, "Memory deallocation error!\n");
 }
 
-static int dvbsub_init_decoder(AVCodecContext *avctx)
+static av_cold int dvbsub_init_decoder(AVCodecContext *avctx)
 {
     int i, r, g, b, a = 0;
     DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
@@ -411,7 +411,7 @@
     return 0;
 }
 
-static int dvbsub_close_decoder(AVCodecContext *avctx)
+static av_cold int dvbsub_close_decoder(AVCodecContext *avctx)
 {
     DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
     DVBSubRegionDisplay *display;
--- a/dxa.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/dxa.c	Fri Mar 21 03:11:20 2008 +0000
@@ -285,7 +285,7 @@
     return orig_buf_size;
 }
 
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     DxaDecContext * const c = avctx->priv_data;
 
@@ -305,7 +305,7 @@
     return 0;
 }
 
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     DxaDecContext * const c = avctx->priv_data;
 
--- a/ffv1.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/ffv1.c	Fri Mar 21 03:11:20 2008 +0000
@@ -530,7 +530,7 @@
 }
 #endif /* CONFIG_ENCODERS */
 
-static int common_init(AVCodecContext *avctx){
+static av_cold int common_init(AVCodecContext *avctx){
     FFV1Context *s = avctx->priv_data;
     int width, height;
 
@@ -548,7 +548,7 @@
 }
 
 #ifdef CONFIG_ENCODERS
-static int encode_init(AVCodecContext *avctx)
+static av_cold int encode_init(AVCodecContext *avctx)
 {
     FFV1Context *s = avctx->priv_data;
     int i;
@@ -694,7 +694,7 @@
 }
 #endif /* CONFIG_ENCODERS */
 
-static int common_end(AVCodecContext *avctx){
+static av_cold int common_end(AVCodecContext *avctx){
     FFV1Context *s = avctx->priv_data;
     int i;
 
@@ -927,7 +927,7 @@
     return 0;
 }
 
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
 //    FFV1Context *s = avctx->priv_data;
 
--- a/flac.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/flac.c	Fri Mar 21 03:11:20 2008 +0000
@@ -98,7 +98,7 @@
 static void allocate_buffers(FLACContext *s);
 static int metadata_parse(FLACContext *s);
 
-static int flac_decode_init(AVCodecContext * avctx)
+static av_cold int flac_decode_init(AVCodecContext * avctx)
 {
     FLACContext *s = avctx->priv_data;
     s->avctx = avctx;
@@ -737,7 +737,7 @@
         return i;
 }
 
-static int flac_decode_close(AVCodecContext *avctx)
+static av_cold int flac_decode_close(AVCodecContext *avctx)
 {
     FLACContext *s = avctx->priv_data;
     int i;
--- a/flacenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/flacenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -169,7 +169,7 @@
     return blocksize;
 }
 
-static int flac_encode_init(AVCodecContext *avctx)
+static av_cold int flac_encode_init(AVCodecContext *avctx)
 {
     int freq = avctx->sample_rate;
     int channels = avctx->channels;
@@ -1486,7 +1486,7 @@
     return out_bytes;
 }
 
-static int flac_encode_close(AVCodecContext *avctx)
+static av_cold int flac_encode_close(AVCodecContext *avctx)
 {
     av_freep(&avctx->extradata);
     avctx->extradata_size = 0;
--- a/flashsv.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/flashsv.c	Fri Mar 21 03:11:20 2008 +0000
@@ -79,7 +79,7 @@
 }
 
 
-static int flashsv_decode_init(AVCodecContext *avctx)
+static av_cold int flashsv_decode_init(AVCodecContext *avctx)
 {
     FlashSVContext *s = avctx->priv_data;
     int zret; // Zlib return code
@@ -228,7 +228,7 @@
 }
 
 
-static int flashsv_decode_end(AVCodecContext *avctx)
+static av_cold int flashsv_decode_end(AVCodecContext *avctx)
 {
     FlashSVContext *s = avctx->priv_data;
     inflateEnd(&(s->zstream));
--- a/flashsvenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/flashsvenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -97,7 +97,7 @@
     return 0;
 }
 
-static int flashsv_encode_init(AVCodecContext *avctx)
+static av_cold int flashsv_encode_init(AVCodecContext *avctx)
 {
     FlashSVContext *s = avctx->priv_data;
 
@@ -271,7 +271,7 @@
     return res;
 }
 
-static int flashsv_encode_end(AVCodecContext *avctx)
+static av_cold int flashsv_encode_end(AVCodecContext *avctx)
 {
     FlashSVContext *s = avctx->priv_data;
 
--- a/flicvideo.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/flicvideo.c	Fri Mar 21 03:11:20 2008 +0000
@@ -76,7 +76,7 @@
     int fli_type;  /* either 0xAF11 or 0xAF12, affects palette resolution */
 } FlicDecodeContext;
 
-static int flic_decode_init(AVCodecContext *avctx)
+static av_cold int flic_decode_init(AVCodecContext *avctx)
 {
     FlicDecodeContext *s = avctx->priv_data;
     unsigned char *fli_header = (unsigned char *)avctx->extradata;
@@ -726,7 +726,7 @@
 }
 
 
-static int flic_decode_end(AVCodecContext *avctx)
+static av_cold int flic_decode_end(AVCodecContext *avctx)
 {
     FlicDecodeContext *s = avctx->priv_data;
 
--- a/fraps.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/fraps.c	Fri Mar 21 03:11:20 2008 +0000
@@ -55,7 +55,7 @@
  * @param avctx codec context
  * @return 0 on success or negative if fails
  */
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     FrapsContext * const s = avctx->priv_data;
 
@@ -343,7 +343,7 @@
  * @param avctx codec context
  * @return 0 on success or negative if fails
  */
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     FrapsContext *s = (FrapsContext*)avctx->priv_data;
 
--- a/g726.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/g726.c	Fri Mar 21 03:11:20 2008 +0000
@@ -266,7 +266,7 @@
     return av_clip(re_signal << 2, -0xffff, 0xffff);
 }
 
-static int g726_reset(G726Context* c, int bit_rate)
+static av_cold int g726_reset(G726Context* c, int bit_rate)
 {
     int i;
 
@@ -319,7 +319,7 @@
     int code_size;
 } AVG726Context;
 
-static int g726_init(AVCodecContext * avctx)
+static av_cold int g726_init(AVCodecContext * avctx)
 {
     AVG726Context* c = (AVG726Context*)avctx->priv_data;
 
@@ -346,7 +346,7 @@
     return 0;
 }
 
-static int g726_close(AVCodecContext *avctx)
+static av_cold int g726_close(AVCodecContext *avctx)
 {
     av_freep(&avctx->coded_frame);
     return 0;
--- a/gif.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/gif.c	Fri Mar 21 03:11:20 2008 +0000
@@ -308,7 +308,7 @@
     AVFrame picture;
 } GIFContext;
 
-static int gif_encode_init(AVCodecContext *avctx)
+static av_cold int gif_encode_init(AVCodecContext *avctx)
 {
     GIFContext *s = avctx->priv_data;
 
--- a/gifdec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/gifdec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -269,7 +269,7 @@
     return -1;
 }
 
-static int gif_decode_init(AVCodecContext *avctx)
+static av_cold int gif_decode_init(AVCodecContext *avctx)
 {
     GifState *s = avctx->priv_data;
 
@@ -314,7 +314,7 @@
     return s->bytestream - buf;
 }
 
-static int gif_decode_close(AVCodecContext *avctx)
+static av_cold int gif_decode_close(AVCodecContext *avctx)
 {
     GifState *s = avctx->priv_data;
 
--- a/h261dec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/h261dec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -48,7 +48,7 @@
 
 static int h261_decode_block(H261Context * h, DCTELEM * block, int n, int coded);
 
-static void h261_decode_init_vlc(H261Context *h){
+static av_cold void h261_decode_init_vlc(H261Context *h){
     static int done = 0;
 
     if(!done){
@@ -70,7 +70,7 @@
     }
 }
 
-static int h261_decode_init(AVCodecContext *avctx){
+static av_cold int h261_decode_init(AVCodecContext *avctx){
     H261Context *h= avctx->priv_data;
     MpegEncContext * const s = &h->s;
 
@@ -628,7 +628,7 @@
     return get_consumed_bytes(s, buf_size);
 }
 
-static int h261_decode_end(AVCodecContext *avctx)
+static av_cold int h261_decode_end(AVCodecContext *avctx)
 {
     H261Context *h= avctx->priv_data;
     MpegEncContext *s = &h->s;
--- a/h263dec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/h263dec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -35,7 +35,7 @@
 //#define DEBUG
 //#define PRINT_FRAME_TIME
 
-int ff_h263_decode_init(AVCodecContext *avctx)
+av_cold int ff_h263_decode_init(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
 
@@ -119,7 +119,7 @@
     return 0;
 }
 
-int ff_h263_decode_end(AVCodecContext *avctx)
+av_cold int ff_h263_decode_end(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
 
--- a/h264.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/h264.c	Fri Mar 21 03:11:20 2008 +0000
@@ -1952,7 +1952,7 @@
     prefetch_motion(h, 1);
 }
 
-static void decode_init_vlc(void){
+static av_cold void decode_init_vlc(void){
     static int done = 0;
 
     if (!done) {
@@ -2166,7 +2166,7 @@
     return -1; // free_tables will clean up for us
 }
 
-static void common_init(H264Context *h){
+static av_cold void common_init(H264Context *h){
     MpegEncContext * const s = &h->s;
 
     s->width = s->avctx->width;
@@ -2183,7 +2183,7 @@
     memset(h->pps.scaling_matrix8, 16, 2*64*sizeof(uint8_t));
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
     H264Context *h= avctx->priv_data;
     MpegEncContext * const s = &h->s;
 
@@ -8054,7 +8054,7 @@
 #endif /* TEST */
 
 
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     H264Context *h = avctx->priv_data;
     MpegEncContext *s = &h->s;
--- a/huffyuv.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/huffyuv.c	Fri Mar 21 03:11:20 2008 +0000
@@ -478,7 +478,7 @@
 }
 
 #ifdef CONFIG_DECODERS
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     HYuvContext *s = avctx->priv_data;
 
@@ -599,7 +599,7 @@
     return index;
 }
 
-static int encode_init(AVCodecContext *avctx)
+static av_cold int encode_init(AVCodecContext *avctx)
 {
     HYuvContext *s = avctx->priv_data;
     int i, j;
@@ -1210,7 +1210,7 @@
 }
 
 #ifdef CONFIG_DECODERS
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     HYuvContext *s = avctx->priv_data;
     int i;
@@ -1420,7 +1420,7 @@
     return size*4;
 }
 
-static int encode_end(AVCodecContext *avctx)
+static av_cold int encode_end(AVCodecContext *avctx)
 {
     HYuvContext *s = avctx->priv_data;
 
--- a/idcinvideo.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/idcinvideo.c	Fri Mar 21 03:11:20 2008 +0000
@@ -113,7 +113,7 @@
  *  num_huff_nodes[prev] - contains the index to the root node of the tree.
  *    That is: huff_nodes[prev][num_huff_nodes[prev]] is the root node.
  */
-static void huff_build_tree(IdcinContext *s, int prev) {
+static av_cold void huff_build_tree(IdcinContext *s, int prev) {
     hnode_t *node, *hnodes;
      int num_hnodes, i;
 
@@ -143,7 +143,7 @@
     s->num_huff_nodes[prev] = num_hnodes - 1;
 }
 
-static int idcin_decode_init(AVCodecContext *avctx)
+static av_cold int idcin_decode_init(AVCodecContext *avctx)
 {
     IdcinContext *s = avctx->priv_data;
     int i, j, histogram_index = 0;
@@ -242,7 +242,7 @@
     return buf_size;
 }
 
-static int idcin_decode_end(AVCodecContext *avctx)
+static av_cold int idcin_decode_end(AVCodecContext *avctx)
 {
     IdcinContext *s = avctx->priv_data;
 
--- a/imc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/imc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -90,7 +90,7 @@
 } IMCContext;
 
 
-static int imc_decode_init(AVCodecContext * avctx)
+static av_cold int imc_decode_init(AVCodecContext * avctx)
 {
     int i, j;
     IMCContext *q = avctx->priv_data;
@@ -796,7 +796,7 @@
 }
 
 
-static int imc_decode_close(AVCodecContext * avctx)
+static av_cold int imc_decode_close(AVCodecContext * avctx)
 {
     IMCContext *q = avctx->priv_data;
 
--- a/indeo2.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/indeo2.c	Fri Mar 21 03:11:20 2008 +0000
@@ -188,7 +188,7 @@
     return buf_size;
 }
 
-static int ir2_decode_init(AVCodecContext *avctx){
+static av_cold int ir2_decode_init(AVCodecContext *avctx){
     Ir2Context * const ic = avctx->priv_data;
 
     ic->avctx = avctx;
--- a/indeo3.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/indeo3.c	Fri Mar 21 03:11:20 2008 +0000
@@ -62,7 +62,7 @@
 
 static const int corrector_type_2[8] = { 9, 7, 6, 8, 5, 4, 3, 2 };
 
-static void build_modpred(Indeo3DecodeContext *s)
+static av_cold void build_modpred(Indeo3DecodeContext *s)
 {
   int i, j;
 
@@ -97,7 +97,7 @@
   const unsigned char *buf2, int min_width_160);
 
 /* ---------------------------------------------------------------------- */
-static void iv_alloc_frames(Indeo3DecodeContext *s)
+static av_cold void iv_alloc_frames(Indeo3DecodeContext *s)
 {
   int luma_width, luma_height, luma_pixels, chroma_width, chroma_height,
       chroma_pixels, i;
@@ -155,7 +155,7 @@
 }
 
 /* ---------------------------------------------------------------------- */
-static void iv_free_func(Indeo3DecodeContext *s)
+static av_cold void iv_free_func(Indeo3DecodeContext *s)
 {
   int i;
 
@@ -1048,7 +1048,7 @@
   }
 }
 
-static int indeo3_decode_init(AVCodecContext *avctx)
+static av_cold int indeo3_decode_init(AVCodecContext *avctx)
 {
     Indeo3DecodeContext *s = avctx->priv_data;
 
@@ -1115,7 +1115,7 @@
     return buf_size;
 }
 
-static int indeo3_decode_end(AVCodecContext *avctx)
+static av_cold int indeo3_decode_end(AVCodecContext *avctx)
 {
     Indeo3DecodeContext *s = avctx->priv_data;
 
--- a/interplayvideo.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/interplayvideo.c	Fri Mar 21 03:11:20 2008 +0000
@@ -835,7 +835,7 @@
     }
 }
 
-static int ipvideo_decode_init(AVCodecContext *avctx)
+static av_cold int ipvideo_decode_init(AVCodecContext *avctx)
 {
     IpvideoContext *s = avctx->priv_data;
 
@@ -919,7 +919,7 @@
     return buf_size;
 }
 
-static int ipvideo_decode_end(AVCodecContext *avctx)
+static av_cold int ipvideo_decode_end(AVCodecContext *avctx)
 {
     IpvideoContext *s = avctx->priv_data;
 
--- a/jpeglsenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/jpeglsenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -368,7 +368,7 @@
     return put_bits_count(&pb) >> 3;
 }
 
-static int encode_init_ls(AVCodecContext *ctx) {
+static av_cold int encode_init_ls(AVCodecContext *ctx) {
     JpeglsContext *c = (JpeglsContext*)ctx->priv_data;
 
     c->avctx = ctx;
--- a/kmvc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/kmvc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -338,7 +338,7 @@
 /*
  * Init kmvc decoder
  */
-static int decode_init(AVCodecContext * avctx)
+static av_cold int decode_init(AVCodecContext * avctx)
 {
     KmvcContext *const c = avctx->priv_data;
     int i;
@@ -390,7 +390,7 @@
 /*
  * Uninit kmvc decoder
  */
-static int decode_end(AVCodecContext * avctx)
+static av_cold int decode_end(AVCodecContext * avctx)
 {
     KmvcContext *const c = avctx->priv_data;
 
--- a/lcldec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/lcldec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -514,7 +514,7 @@
  * Init lcl decoder
  *
  */
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     LclDecContext * const c = avctx->priv_data;
     unsigned int basesize = avctx->width * avctx->height;
@@ -673,7 +673,7 @@
  * Uninit lcl decoder
  *
  */
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     LclDecContext * const c = avctx->priv_data;
 
--- a/lclenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/lclenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -139,7 +139,7 @@
  * Init lcl encoder
  *
  */
-static int encode_init(AVCodecContext *avctx)
+static av_cold int encode_init(AVCodecContext *avctx)
 {
     LclEncContext *c = avctx->priv_data;
     int zret; // Zlib return code
@@ -207,7 +207,7 @@
  * Uninit lcl encoder
  *
  */
-static int encode_end(AVCodecContext *avctx)
+static av_cold int encode_end(AVCodecContext *avctx)
 {
     LclEncContext *c = avctx->priv_data;
 
--- a/liba52.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/liba52.c	Fri Mar 21 03:11:20 2008 +0000
@@ -77,7 +77,7 @@
 }
 #endif
 
-static int a52_decode_init(AVCodecContext *avctx)
+static av_cold int a52_decode_init(AVCodecContext *avctx)
 {
     AC3DecodeState *s = avctx->priv_data;
 
@@ -203,7 +203,7 @@
     return len;
 }
 
-static int a52_decode_end(AVCodecContext *avctx)
+static av_cold int a52_decode_end(AVCodecContext *avctx)
 {
     AC3DecodeState *s = avctx->priv_data;
     s->a52_free(s->state);
--- a/libfaac.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/libfaac.c	Fri Mar 21 03:11:20 2008 +0000
@@ -31,7 +31,7 @@
     faacEncHandle faac_handle;
 } FaacAudioContext;
 
-static int Faac_encode_init(AVCodecContext *avctx)
+static av_cold int Faac_encode_init(AVCodecContext *avctx)
 {
     FaacAudioContext *s = avctx->priv_data;
     faacEncConfigurationPtr faac_cfg;
@@ -132,7 +132,7 @@
     return bytes_written;
 }
 
-static int Faac_encode_close(AVCodecContext *avctx)
+static av_cold int Faac_encode_close(AVCodecContext *avctx)
 {
     FaacAudioContext *s = avctx->priv_data;
 
--- a/libfaad.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/libfaad.c	Fri Mar 21 03:11:20 2008 +0000
@@ -209,7 +209,7 @@
 #endif
 }
 
-static int faac_decode_end(AVCodecContext *avctx)
+static av_cold int faac_decode_end(AVCodecContext *avctx)
 {
     FAACContext *s = avctx->priv_data;
 
@@ -219,7 +219,7 @@
     return 0;
 }
 
-static int faac_decode_init(AVCodecContext *avctx)
+static av_cold int faac_decode_init(AVCodecContext *avctx)
 {
     FAACContext *s = avctx->priv_data;
     faacDecConfigurationPtr faac_cfg;
--- a/libgsm.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/libgsm.c	Fri Mar 21 03:11:20 2008 +0000
@@ -35,7 +35,7 @@
 #define GSM_MS_BLOCK_SIZE 65
 #define GSM_FRAME_SIZE 160
 
-static int libgsm_init(AVCodecContext *avctx) {
+static av_cold int libgsm_init(AVCodecContext *avctx) {
     if (avctx->channels > 1 || avctx->sample_rate != 8000 || avctx->bit_rate != 13000)
         return -1;
 
@@ -60,7 +60,7 @@
     return 0;
 }
 
-static int libgsm_close(AVCodecContext *avctx) {
+static av_cold int libgsm_close(AVCodecContext *avctx) {
     gsm_destroy(avctx->priv_data);
     avctx->priv_data = NULL;
     return 0;
--- a/libmp3lame.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/libmp3lame.c	Fri Mar 21 03:11:20 2008 +0000
@@ -36,7 +36,7 @@
     int buffer_index;
 } Mp3AudioContext;
 
-static int MP3lame_encode_init(AVCodecContext *avctx)
+static av_cold int MP3lame_encode_init(AVCodecContext *avctx)
 {
     Mp3AudioContext *s = avctx->priv_data;
 
@@ -198,7 +198,7 @@
             return 0;
 }
 
-static int MP3lame_encode_close(AVCodecContext *avctx)
+static av_cold int MP3lame_encode_close(AVCodecContext *avctx)
 {
     Mp3AudioContext *s = avctx->priv_data;
 
--- a/libvorbis.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/libvorbis.c	Fri Mar 21 03:11:20 2008 +0000
@@ -81,7 +81,7 @@
     return vorbis_encode_setup_init(vi);
 }
 
-static int oggvorbis_encode_init(AVCodecContext *avccontext) {
+static av_cold int oggvorbis_encode_init(AVCodecContext *avccontext) {
     OggVorbisContext *context = avccontext->priv_data ;
     ogg_packet header, header_comm, header_code;
     uint8_t *p;
@@ -191,7 +191,7 @@
 }
 
 
-static int oggvorbis_encode_close(AVCodecContext *avccontext) {
+static av_cold int oggvorbis_encode_close(AVCodecContext *avccontext) {
     OggVorbisContext *context = avccontext->priv_data ;
 /*  ogg_packet op ; */
 
--- a/libx264.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/libx264.c	Fri Mar 21 03:11:20 2008 +0000
@@ -119,7 +119,7 @@
     return bufsize;
 }
 
-static int
+static av_cold int
 X264_close(AVCodecContext *avctx)
 {
     X264Context *x4 = avctx->priv_data;
@@ -130,7 +130,7 @@
     return 0;
 }
 
-static int
+static av_cold int
 X264_init(AVCodecContext *avctx)
 {
     X264Context *x4 = avctx->priv_data;
--- a/libxvidff.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/libxvidff.c	Fri Mar 21 03:11:20 2008 +0000
@@ -81,7 +81,7 @@
  * @param avctx AVCodecContext pointer to context
  * @return Returns 0 on success, -1 on failure
  */
-int ff_xvid_encode_init(AVCodecContext *avctx)  {
+av_cold int ff_xvid_encode_init(AVCodecContext *avctx)  {
     int xerr, i;
     int xvid_flags = avctx->flags;
     xvid_context_t *x = avctx->priv_data;
@@ -461,7 +461,7 @@
  * @param avctx AVCodecContext pointer to context
  * @return Returns 0, success guaranteed
  */
-int ff_xvid_encode_close(AVCodecContext *avctx) {
+av_cold int ff_xvid_encode_close(AVCodecContext *avctx) {
     xvid_context_t *x = avctx->priv_data;
 
     xvid_encore(x->encoder_handle, XVID_ENC_DESTROY, NULL, NULL);
--- a/loco.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/loco.c	Fri Mar 21 03:11:20 2008 +0000
@@ -225,7 +225,7 @@
     return buf_size;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
     LOCOContext * const l = avctx->priv_data;
     int version;
 
--- a/lzw.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/lzw.c	Fri Mar 21 03:11:20 2008 +0000
@@ -109,12 +109,12 @@
         s->pbuf= s->ebuf;
 }
 
-void ff_lzw_decode_open(LZWState **p)
+av_cold void ff_lzw_decode_open(LZWState **p)
 {
     *p = av_mallocz(sizeof(struct LZWState));
 }
 
-void ff_lzw_decode_close(LZWState **p)
+av_cold void ff_lzw_decode_close(LZWState **p)
 {
     av_freep(p);
 }
--- a/mace.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mace.c	Fri Mar 21 03:11:20 2008 +0000
@@ -392,7 +392,7 @@
 }
 /* \\\ */
 
-static int mace_decode_init(AVCodecContext * avctx)
+static av_cold int mace_decode_init(AVCodecContext * avctx)
 {
     if (avctx->channels > 2)
         return -1;
--- a/mdec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mdec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -215,7 +215,7 @@
     return (get_bits_count(&a->gb)+31)/32*4;
 }
 
-static void mdec_common_init(AVCodecContext *avctx){
+static av_cold void mdec_common_init(AVCodecContext *avctx){
     MDECContext * const a = avctx->priv_data;
 
     dsputil_init(&a->dsp, avctx);
@@ -227,7 +227,7 @@
     a->avctx= avctx;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
     MDECContext * const a = avctx->priv_data;
     AVFrame *p= (AVFrame*)&a->picture;
 
@@ -247,7 +247,7 @@
     return 0;
 }
 
-static int decode_end(AVCodecContext *avctx){
+static av_cold int decode_end(AVCodecContext *avctx){
     MDECContext * const a = avctx->priv_data;
 
     av_freep(&a->bitstream_buffer);
--- a/mimic.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mimic.c	Fri Mar 21 03:11:20 2008 +0000
@@ -102,7 +102,7 @@
     53, 60, 61, 54, 47, 55, 62, 63
 };
 
-static int mimic_decode_init(AVCodecContext *avctx)
+static av_cold int mimic_decode_init(AVCodecContext *avctx)
 {
     MimicContext *ctx = avctx->priv_data;
 
@@ -371,7 +371,7 @@
     return buf_size;
 }
 
-static int mimic_decode_end(AVCodecContext *avctx)
+static av_cold int mimic_decode_end(AVCodecContext *avctx)
 {
     MimicContext *ctx = avctx->priv_data;
     int i;
--- a/mjpegdec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mjpegdec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -73,7 +73,7 @@
               ff_mjpeg_val_ac_chrominance, 251, 0, 1);
 }
 
-int ff_mjpeg_decode_init(AVCodecContext *avctx)
+av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx)
 {
     MJpegDecodeContext *s = avctx->priv_data;
 
@@ -1338,7 +1338,7 @@
     return buf_ptr - buf;
 }
 
-int ff_mjpeg_decode_end(AVCodecContext *avctx)
+av_cold int ff_mjpeg_decode_end(AVCodecContext *avctx)
 {
     MJpegDecodeContext *s = avctx->priv_data;
     int i, j;
--- a/mjpegenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mjpegenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -44,7 +44,7 @@
 #undef TWOMATRIXES
 
 
-int ff_mjpeg_encode_init(MpegEncContext *s)
+av_cold int ff_mjpeg_encode_init(MpegEncContext *s)
 {
     MJpegContext *m;
 
--- a/mmvideo.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mmvideo.c	Fri Mar 21 03:11:20 2008 +0000
@@ -47,7 +47,7 @@
     AVFrame frame;
 } MmContext;
 
-static int mm_decode_init(AVCodecContext *avctx)
+static av_cold int mm_decode_init(AVCodecContext *avctx)
 {
     MmContext *s = avctx->priv_data;
 
@@ -182,7 +182,7 @@
     return buf_size;
 }
 
-static int mm_decode_end(AVCodecContext *avctx)
+static av_cold int mm_decode_end(AVCodecContext *avctx)
 {
     MmContext *s = avctx->priv_data;
 
--- a/mpc7.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mpc7.c	Fri Mar 21 03:11:20 2008 +0000
@@ -44,7 +44,7 @@
 
 static VLC scfi_vlc, dscf_vlc, hdr_vlc, quant_vlc[MPC7_QUANT_VLC_TABLES][2];
 
-static int mpc7_decode_init(AVCodecContext * avctx)
+static av_cold int mpc7_decode_init(AVCodecContext * avctx)
 {
     int i, j;
     MPCContext *c = avctx->priv_data;
--- a/mpc8.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mpc8.c	Fri Mar 21 03:11:20 2008 +0000
@@ -92,7 +92,7 @@
     return mask;
 }
 
-static int mpc8_decode_init(AVCodecContext * avctx)
+static av_cold int mpc8_decode_init(AVCodecContext * avctx)
 {
     int i;
     MPCContext *c = avctx->priv_data;
--- a/mpeg12.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mpeg12.c	Fri Mar 21 03:11:20 2008 +0000
@@ -1199,7 +1199,7 @@
 
 } Mpeg1Context;
 
-static int mpeg_decode_init(AVCodecContext *avctx)
+static av_cold int mpeg_decode_init(AVCodecContext *avctx)
 {
     Mpeg1Context *s = avctx->priv_data;
     MpegEncContext *s2 = &s->mpeg_enc_ctx;
@@ -2459,7 +2459,7 @@
 };
 
 #ifdef HAVE_XVMC
-static int mpeg_mc_decode_init(AVCodecContext *avctx){
+static av_cold int mpeg_mc_decode_init(AVCodecContext *avctx){
     Mpeg1Context *s;
 
     if( avctx->thread_count > 1)
--- a/mpeg12enc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mpeg12enc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -133,7 +133,7 @@
         return 0;
 }
 
-static int encode_init(AVCodecContext *avctx)
+static av_cold int encode_init(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
 
--- a/mpegaudioenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mpegaudioenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -61,7 +61,7 @@
 #include "mpegaudiodata.h"
 #include "mpegaudiotab.h"
 
-static int MPA_encode_init(AVCodecContext *avctx)
+static av_cold int MPA_encode_init(AVCodecContext *avctx)
 {
     MpegAudioContext *s = avctx->priv_data;
     int freq = avctx->sample_rate;
@@ -781,7 +781,7 @@
     return pbBufPtr(&s->pb) - s->pb.buf;
 }
 
-static int MPA_encode_close(AVCodecContext *avctx)
+static av_cold int MPA_encode_close(AVCodecContext *avctx)
 {
     av_freep(&avctx->coded_frame);
     return 0;
--- a/mpegvideo_enc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/mpegvideo_enc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -240,7 +240,7 @@
 }
 
 /* init video encoder */
-int MPV_encode_init(AVCodecContext *avctx)
+av_cold int MPV_encode_init(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
     int i;
@@ -737,7 +737,7 @@
     return 0;
 }
 
-int MPV_encode_end(AVCodecContext *avctx)
+av_cold int MPV_encode_end(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
 
--- a/msrle.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/msrle.c	Fri Mar 21 03:11:20 2008 +0000
@@ -236,7 +236,7 @@
             stream_ptr, s->size);
 }
 
-static int msrle_decode_init(AVCodecContext *avctx)
+static av_cold int msrle_decode_init(AVCodecContext *avctx)
 {
     MsrleContext *s = avctx->priv_data;
 
@@ -283,7 +283,7 @@
     return buf_size;
 }
 
-static int msrle_decode_end(AVCodecContext *avctx)
+static av_cold int msrle_decode_end(AVCodecContext *avctx)
 {
     MsrleContext *s = avctx->priv_data;
 
--- a/msvideo1.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/msvideo1.c	Fri Mar 21 03:11:20 2008 +0000
@@ -57,7 +57,7 @@
 
 } Msvideo1Context;
 
-static int msvideo1_decode_init(AVCodecContext *avctx)
+static av_cold int msvideo1_decode_init(AVCodecContext *avctx)
 {
     Msvideo1Context *s = avctx->priv_data;
 
@@ -319,7 +319,7 @@
     return buf_size;
 }
 
-static int msvideo1_decode_end(AVCodecContext *avctx)
+static av_cold int msvideo1_decode_end(AVCodecContext *avctx)
 {
     Msvideo1Context *s = avctx->priv_data;
 
--- a/nellymoserdec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/nellymoserdec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -329,7 +329,7 @@
     }
 }
 
-static int decode_init(AVCodecContext * avctx) {
+static av_cold int decode_init(AVCodecContext * avctx) {
     NellyMoserDecodeContext *s = avctx->priv_data;
     int i;
 
@@ -391,7 +391,7 @@
     return buf_size;
 }
 
-static int decode_end(AVCodecContext * avctx) {
+static av_cold int decode_end(AVCodecContext * avctx) {
     NellyMoserDecodeContext *s = avctx->priv_data;
 
     ff_mdct_end(&s->imdct_ctx);
--- a/nuv.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/nuv.c	Fri Mar 21 03:11:20 2008 +0000
@@ -236,7 +236,7 @@
     return orig_size;
 }
 
-static int decode_init(AVCodecContext *avctx) {
+static av_cold int decode_init(AVCodecContext *avctx) {
     NuvContext *c = avctx->priv_data;
     avctx->pix_fmt = PIX_FMT_YUV420P;
     c->pic.data[0] = NULL;
@@ -253,7 +253,7 @@
     return 0;
 }
 
-static int decode_end(AVCodecContext *avctx) {
+static av_cold int decode_end(AVCodecContext *avctx) {
     NuvContext *c = avctx->priv_data;
     av_freep(&c->decomp_buf);
     if (c->pic.data[0])
--- a/pcm.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/pcm.c	Fri Mar 21 03:11:20 2008 +0000
@@ -44,7 +44,7 @@
  * alaw2linear() - Convert an A-law value to 16-bit linear PCM
  *
  */
-static int alaw2linear(unsigned char a_val)
+static av_cold int alaw2linear(unsigned char a_val)
 {
         int t;
         int seg;
@@ -59,7 +59,7 @@
         return ((a_val & SIGN_BIT) ? t : -t);
 }
 
-static int ulaw2linear(unsigned char u_val)
+static av_cold int ulaw2linear(unsigned char u_val)
 {
         int t;
 
@@ -80,7 +80,7 @@
 static uint8_t linear_to_alaw[16384];
 static uint8_t linear_to_ulaw[16384];
 
-static void build_xlaw_table(uint8_t *linear_to_xlaw,
+static av_cold void build_xlaw_table(uint8_t *linear_to_xlaw,
                              int (*xlaw2linear)(unsigned char),
                              int mask)
 {
@@ -104,7 +104,7 @@
     linear_to_xlaw[0] = linear_to_xlaw[1];
 }
 
-static int pcm_encode_init(AVCodecContext *avctx)
+static av_cold int pcm_encode_init(AVCodecContext *avctx)
 {
     avctx->frame_size = 1;
     switch(avctx->codec->id) {
@@ -154,7 +154,7 @@
     return 0;
 }
 
-static int pcm_encode_close(AVCodecContext *avctx)
+static av_cold int pcm_encode_close(AVCodecContext *avctx)
 {
     av_freep(&avctx->coded_frame);
 
@@ -325,7 +325,7 @@
     short table[256];
 } PCMDecode;
 
-static int pcm_decode_init(AVCodecContext * avctx)
+static av_cold int pcm_decode_init(AVCodecContext * avctx)
 {
     PCMDecode *s = avctx->priv_data;
     int i;
--- a/pcx.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/pcx.c	Fri Mar 21 03:11:20 2008 +0000
@@ -30,7 +30,7 @@
     AVFrame picture;
 } PCXContext;
 
-static int pcx_init(AVCodecContext *avctx) {
+static av_cold int pcx_init(AVCodecContext *avctx) {
     PCXContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults(&s->picture);
@@ -224,7 +224,7 @@
     return buf - bufstart;
 }
 
-static int pcx_end(AVCodecContext *avctx) {
+static av_cold int pcx_end(AVCodecContext *avctx) {
     PCXContext *s = avctx->priv_data;
 
     if(s->picture.data[0])
--- a/pngdec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/pngdec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -597,7 +597,7 @@
     goto the_end;
 }
 
-static int png_dec_init(AVCodecContext *avctx){
+static av_cold int png_dec_init(AVCodecContext *avctx){
     PNGDecContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults((AVFrame*)&s->picture);
--- a/pngenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/pngenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -422,7 +422,7 @@
     goto the_end;
 }
 
-static int png_enc_init(AVCodecContext *avctx){
+static av_cold int png_enc_init(AVCodecContext *avctx){
     PNGEncContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults((AVFrame*)&s->picture);
--- a/pnmenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/pnmenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -23,7 +23,7 @@
 #include "pnm.h"
 
 
-static int common_init(AVCodecContext *avctx){
+static av_cold int common_init(AVCodecContext *avctx){
     PNMContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults((AVFrame*)&s->picture);
--- a/ptx.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/ptx.c	Fri Mar 21 03:11:20 2008 +0000
@@ -25,7 +25,7 @@
     AVFrame picture;
 } PTXContext;
 
-static int ptx_init(AVCodecContext *avctx) {
+static av_cold int ptx_init(AVCodecContext *avctx) {
     PTXContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults(&s->picture);
@@ -94,7 +94,7 @@
     return offset + w*h*bytes_per_pixel;
 }
 
-static int ptx_end(AVCodecContext *avctx) {
+static av_cold int ptx_end(AVCodecContext *avctx) {
     PTXContext *s = avctx->priv_data;
 
     if(s->picture.data[0])
--- a/qdrw.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/qdrw.c	Fri Mar 21 03:11:20 2008 +0000
@@ -129,7 +129,7 @@
     return buf_size;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
 //    QdrawContext * const a = avctx->priv_data;
 
     if (avcodec_check_dimensions(avctx, avctx->width, avctx->height) < 0) {
--- a/qpeg.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/qpeg.c	Fri Mar 21 03:11:20 2008 +0000
@@ -284,7 +284,7 @@
     return buf_size;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
     QpegContext * const a = avctx->priv_data;
 
     a->avctx = avctx;
@@ -295,7 +295,7 @@
     return 0;
 }
 
-static int decode_end(AVCodecContext *avctx){
+static av_cold int decode_end(AVCodecContext *avctx){
     QpegContext * const a = avctx->priv_data;
     AVFrame * const p= (AVFrame*)&a->pic;
 
--- a/qtrle.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/qtrle.c	Fri Mar 21 03:11:20 2008 +0000
@@ -485,7 +485,7 @@
     }
 }
 
-static int qtrle_decode_init(AVCodecContext *avctx)
+static av_cold int qtrle_decode_init(AVCodecContext *avctx)
 {
     QtrleContext *s = avctx->priv_data;
 
@@ -600,7 +600,7 @@
     return buf_size;
 }
 
-static int qtrle_decode_end(AVCodecContext *avctx)
+static av_cold int qtrle_decode_end(AVCodecContext *avctx)
 {
     QtrleContext *s = avctx->priv_data;
 
--- a/qtrleenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/qtrleenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -57,7 +57,7 @@
     uint8_t* skip_table;
 } QtrleEncContext;
 
-static int qtrle_encode_init(AVCodecContext *avctx)
+static av_cold int qtrle_encode_init(AVCodecContext *avctx)
 {
     QtrleEncContext *s = avctx->priv_data;
 
@@ -303,7 +303,7 @@
     return chunksize;
 }
 
-static int qtrle_encode_end(AVCodecContext *avctx)
+static av_cold int qtrle_encode_end(AVCodecContext *avctx)
 {
     QtrleEncContext *s = avctx->priv_data;
 
--- a/rawdec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/rawdec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -64,7 +64,7 @@
     return PIX_FMT_YUV420P;
 }
 
-static int raw_init_decoder(AVCodecContext *avctx)
+static av_cold int raw_init_decoder(AVCodecContext *avctx)
 {
     RawVideoContext *context = avctx->priv_data;
 
@@ -145,7 +145,7 @@
     return buf_size;
 }
 
-static int raw_close_decoder(AVCodecContext *avctx)
+static av_cold int raw_close_decoder(AVCodecContext *avctx)
 {
     RawVideoContext *context = avctx->priv_data;
 
--- a/rawenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/rawenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -27,7 +27,7 @@
 #include "avcodec.h"
 #include "raw.h"
 
-static int raw_init_encoder(AVCodecContext *avctx)
+static av_cold int raw_init_encoder(AVCodecContext *avctx)
 {
     avctx->coded_frame = (AVFrame *)avctx->priv_data;
     avctx->coded_frame->pict_type = FF_I_TYPE;
--- a/roqaudioenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/roqaudioenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -37,7 +37,7 @@
     short lastSample[2];
 } ROQDPCMContext_t;
 
-static void roq_dpcm_table_init(void)
+static av_cold void roq_dpcm_table_init(void)
 {
     int i;
 
@@ -158,7 +158,7 @@
     return out - frame;
 }
 
-static int roq_dpcm_encode_close(AVCodecContext *avctx)
+static av_cold int roq_dpcm_encode_close(AVCodecContext *avctx)
 {
     av_freep(&avctx->coded_frame);
 
--- a/roqvideodec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/roqvideodec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -153,7 +153,7 @@
 }
 
 
-static int roq_decode_init(AVCodecContext *avctx)
+static av_cold int roq_decode_init(AVCodecContext *avctx)
 {
     RoqContext *s = avctx->priv_data;
 
@@ -196,7 +196,7 @@
     return buf_size;
 }
 
-static int roq_decode_end(AVCodecContext *avctx)
+static av_cold int roq_decode_end(AVCodecContext *avctx)
 {
     RoqContext *s = avctx->priv_data;
 
--- a/rpza.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/rpza.c	Fri Mar 21 03:11:20 2008 +0000
@@ -226,7 +226,7 @@
     }
 }
 
-static int rpza_decode_init(AVCodecContext *avctx)
+static av_cold int rpza_decode_init(AVCodecContext *avctx)
 {
     RpzaContext *s = avctx->priv_data;
 
@@ -263,7 +263,7 @@
     return buf_size;
 }
 
-static int rpza_decode_end(AVCodecContext *avctx)
+static av_cold int rpza_decode_end(AVCodecContext *avctx)
 {
     RpzaContext *s = avctx->priv_data;
 
--- a/rv10.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/rv10.c	Fri Mar 21 03:11:20 2008 +0000
@@ -522,7 +522,7 @@
     return s->mb_width*s->mb_height - mb_pos;
 }
 
-static int rv10_decode_init(AVCodecContext *avctx)
+static av_cold int rv10_decode_init(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
     static int done=0;
@@ -588,7 +588,7 @@
     return 0;
 }
 
-static int rv10_decode_end(AVCodecContext *avctx)
+static av_cold int rv10_decode_end(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
 
--- a/rv30.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/rv30.c	Fri Mar 21 03:11:20 2008 +0000
@@ -114,7 +114,7 @@
 /**
  * Initialize decoder.
  */
-static int rv30_decode_init(AVCodecContext *avctx)
+static av_cold int rv30_decode_init(AVCodecContext *avctx)
 {
     RV34DecContext *r = avctx->priv_data;
 
--- a/rv34.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/rv34.c	Fri Mar 21 03:11:20 2008 +0000
@@ -99,7 +99,7 @@
 /**
  * Initialize all tables.
  */
-static void rv34_init_tables()
+static av_cold void rv34_init_tables()
 {
     int i, j, k;
 
@@ -1163,7 +1163,7 @@
 /**
  * Initialize decoder.
  */
-int ff_rv34_decode_init(AVCodecContext *avctx)
+av_cold int ff_rv34_decode_init(AVCodecContext *avctx)
 {
     RV34DecContext *r = avctx->priv_data;
     MpegEncContext *s = &r->s;
@@ -1285,7 +1285,7 @@
     return buf_size;
 }
 
-int ff_rv34_decode_end(AVCodecContext *avctx)
+av_cold int ff_rv34_decode_end(AVCodecContext *avctx)
 {
     RV34DecContext *r = avctx->priv_data;
 
--- a/rv40.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/rv40.c	Fri Mar 21 03:11:20 2008 +0000
@@ -40,7 +40,7 @@
 /**
  * Initialize all tables.
  */
-static void rv40_init_tables()
+static av_cold void rv40_init_tables()
 {
     int i;
 
@@ -250,7 +250,7 @@
 /**
  * Initialize decoder.
  */
-static int rv40_decode_init(AVCodecContext *avctx)
+static av_cold int rv40_decode_init(AVCodecContext *avctx)
 {
     RV34DecContext *r = avctx->priv_data;
 
--- a/sgidec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/sgidec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -235,7 +235,7 @@
     }
 }
 
-static int sgi_init(AVCodecContext *avctx){
+static av_cold int sgi_init(AVCodecContext *avctx){
     SgiState *s = avctx->priv_data;
 
     avcodec_get_frame_defaults(&s->picture);
@@ -244,7 +244,7 @@
     return 0;
 }
 
-static int sgi_end(AVCodecContext *avctx)
+static av_cold int sgi_end(AVCodecContext *avctx)
 {
     SgiState * const s = avctx->priv_data;
 
--- a/sgienc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/sgienc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -31,7 +31,7 @@
     AVFrame picture;
 } SgiContext;
 
-static int encode_init(AVCodecContext *avctx){
+static av_cold int encode_init(AVCodecContext *avctx){
     SgiContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults(&s->picture);
--- a/shorten.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/shorten.c	Fri Mar 21 03:11:20 2008 +0000
@@ -100,7 +100,7 @@
     int32_t lpcqoffset;
 } ShortenContext;
 
-static int shorten_decode_init(AVCodecContext * avctx)
+static av_cold int shorten_decode_init(AVCodecContext * avctx)
 {
     ShortenContext *s = avctx->priv_data;
     s->avctx = avctx;
@@ -501,7 +501,7 @@
         return i;
 }
 
-static int shorten_decode_close(AVCodecContext *avctx)
+static av_cold int shorten_decode_close(AVCodecContext *avctx)
 {
     ShortenContext *s = avctx->priv_data;
     int i;
--- a/smacker.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/smacker.c	Fri Mar 21 03:11:20 2008 +0000
@@ -506,7 +506,7 @@
  * Init smacker decoder
  *
  */
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     SmackVContext * const c = avctx->priv_data;
 
@@ -540,7 +540,7 @@
  * Uninit smacker decoder
  *
  */
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     SmackVContext * const smk = avctx->priv_data;
 
@@ -556,7 +556,7 @@
 }
 
 
-static int smka_decode_init(AVCodecContext *avctx)
+static av_cold int smka_decode_init(AVCodecContext *avctx)
 {
     return 0;
 }
--- a/smc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/smc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -426,7 +426,7 @@
     }
 }
 
-static int smc_decode_init(AVCodecContext *avctx)
+static av_cold int smc_decode_init(AVCodecContext *avctx)
 {
     SmcContext *s = avctx->priv_data;
 
@@ -464,7 +464,7 @@
     return buf_size;
 }
 
-static int smc_decode_end(AVCodecContext *avctx)
+static av_cold int smc_decode_end(AVCodecContext *avctx)
 {
     SmcContext *s = avctx->priv_data;
 
--- a/snow.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/snow.c	Fri Mar 21 03:11:20 2008 +0000
@@ -3640,7 +3640,7 @@
     }
 }
 
-static int common_init(AVCodecContext *avctx){
+static av_cold int common_init(AVCodecContext *avctx){
     SnowContext *s = avctx->priv_data;
     int width, height;
     int i, j;
@@ -3960,7 +3960,7 @@
 
 #endif /* QUANTIZE2==1 */
 
-static int encode_init(AVCodecContext *avctx)
+static av_cold int encode_init(AVCodecContext *avctx)
 {
     SnowContext *s = avctx->priv_data;
     int plane_index;
@@ -4426,7 +4426,7 @@
     return ff_rac_terminate(c);
 }
 
-static void common_end(SnowContext *s){
+static av_cold void common_end(SnowContext *s){
     int plane_index, level, orientation, i;
 
     av_freep(&s->spatial_dwt_buffer);
@@ -4457,7 +4457,7 @@
     }
 }
 
-static int encode_end(AVCodecContext *avctx)
+static av_cold int encode_end(AVCodecContext *avctx)
 {
     SnowContext *s = avctx->priv_data;
 
@@ -4467,7 +4467,7 @@
     return 0;
 }
 
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     avctx->pix_fmt= PIX_FMT_YUV420P;
 
@@ -4639,7 +4639,7 @@
     return bytes_read;
 }
 
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     SnowContext *s = avctx->priv_data;
 
--- a/sonic.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/sonic.c	Fri Mar 21 03:11:20 2008 +0000
@@ -503,7 +503,7 @@
     return -1;
 }
 
-static int sonic_encode_init(AVCodecContext *avctx)
+static av_cold int sonic_encode_init(AVCodecContext *avctx)
 {
     SonicContext *s = avctx->priv_data;
     PutBitContext pb;
@@ -608,7 +608,7 @@
     return 0;
 }
 
-static int sonic_encode_close(AVCodecContext *avctx)
+static av_cold int sonic_encode_close(AVCodecContext *avctx)
 {
     SonicContext *s = avctx->priv_data;
     int i;
@@ -751,7 +751,7 @@
 #endif //CONFIG_ENCODERS
 
 #ifdef CONFIG_DECODERS
-static int sonic_decode_init(AVCodecContext *avctx)
+static av_cold int sonic_decode_init(AVCodecContext *avctx)
 {
     SonicContext *s = avctx->priv_data;
     GetBitContext gb;
@@ -831,7 +831,7 @@
     return 0;
 }
 
-static int sonic_decode_close(AVCodecContext *avctx)
+static av_cold int sonic_decode_close(AVCodecContext *avctx)
 {
     SonicContext *s = avctx->priv_data;
     int i;
--- a/sunrast.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/sunrast.c	Fri Mar 21 03:11:20 2008 +0000
@@ -32,7 +32,7 @@
     AVFrame picture;
 } SUNRASTContext;
 
-static int sunrast_init(AVCodecContext *avctx) {
+static av_cold int sunrast_init(AVCodecContext *avctx) {
     SUNRASTContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults(&s->picture);
@@ -172,7 +172,7 @@
     return buf - bufstart;
 }
 
-static int sunrast_end(AVCodecContext *avctx) {
+static av_cold int sunrast_end(AVCodecContext *avctx) {
     SUNRASTContext *s = avctx->priv_data;
 
     if(s->picture.data[0])
--- a/svq1dec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/svq1dec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -761,7 +761,7 @@
   return buf_size;
 }
 
-static int svq1_decode_init(AVCodecContext *avctx)
+static av_cold int svq1_decode_init(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
     int i;
@@ -805,7 +805,7 @@
     return 0;
 }
 
-static int svq1_decode_end(AVCodecContext *avctx)
+static av_cold int svq1_decode_end(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
 
--- a/svq1enc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/svq1enc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -479,7 +479,7 @@
     return 0;
 }
 
-static int svq1_encode_init(AVCodecContext *avctx)
+static av_cold int svq1_encode_init(AVCodecContext *avctx)
 {
     SVQ1Context * const s = avctx->priv_data;
 
@@ -554,7 +554,7 @@
     return (put_bits_count(&s->pb) / 8);
 }
 
-static int svq1_encode_end(AVCodecContext *avctx)
+static av_cold int svq1_encode_end(AVCodecContext *avctx)
 {
     SVQ1Context * const s = avctx->priv_data;
     int i;
--- a/targa.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/targa.c	Fri Mar 21 03:11:20 2008 +0000
@@ -220,7 +220,7 @@
     return buf_size;
 }
 
-static int targa_init(AVCodecContext *avctx){
+static av_cold int targa_init(AVCodecContext *avctx){
     TargaContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults((AVFrame*)&s->picture);
@@ -230,7 +230,7 @@
     return 0;
 }
 
-static int targa_end(AVCodecContext *avctx){
+static av_cold int targa_end(AVCodecContext *avctx){
     TargaContext *s = avctx->priv_data;
 
     if(s->picture.data[0])
--- a/targaenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/targaenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -133,7 +133,7 @@
     return out + 26 - outbuf;
 }
 
-static int targa_encode_init(AVCodecContext *avctx)
+static av_cold int targa_encode_init(AVCodecContext *avctx)
 {
     return 0;
 }
--- a/tiertexseqv.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/tiertexseqv.c	Fri Mar 21 03:11:20 2008 +0000
@@ -173,7 +173,7 @@
     }
 }
 
-static int seqvideo_decode_init(AVCodecContext *avctx)
+static av_cold int seqvideo_decode_init(AVCodecContext *avctx)
 {
     SeqVideoContext *seq = avctx->priv_data;
 
@@ -185,7 +185,7 @@
     return 0;
 }
 
-static int seqvideo_decode_frame(AVCodecContext *avctx,
+static av_cold int seqvideo_decode_frame(AVCodecContext *avctx,
                                  void *data, int *data_size,
                                  const uint8_t *buf, int buf_size)
 {
--- a/tiff.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/tiff.c	Fri Mar 21 03:11:20 2008 +0000
@@ -461,7 +461,7 @@
     return buf_size;
 }
 
-static int tiff_init(AVCodecContext *avctx){
+static av_cold int tiff_init(AVCodecContext *avctx){
     TiffContext *s = avctx->priv_data;
 
     s->width = 0;
@@ -475,7 +475,7 @@
     return 0;
 }
 
-static int tiff_end(AVCodecContext *avctx)
+static av_cold int tiff_end(AVCodecContext *avctx)
 {
     TiffContext * const s = avctx->priv_data;
 
--- a/truemotion1.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/truemotion1.c	Fri Mar 21 03:11:20 2008 +0000
@@ -461,7 +461,7 @@
     return header.header_size;
 }
 
-static int truemotion1_decode_init(AVCodecContext *avctx)
+static av_cold int truemotion1_decode_init(AVCodecContext *avctx)
 {
     TrueMotion1Context *s = avctx->priv_data;
 
@@ -877,7 +877,7 @@
     return buf_size;
 }
 
-static int truemotion1_decode_end(AVCodecContext *avctx)
+static av_cold int truemotion1_decode_end(AVCodecContext *avctx)
 {
     TrueMotion1Context *s = avctx->priv_data;
 
--- a/truemotion2.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/truemotion2.c	Fri Mar 21 03:11:20 2008 +0000
@@ -818,7 +818,7 @@
     return buf_size;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
     TM2Context * const l = avctx->priv_data;
     int i;
 
@@ -855,7 +855,7 @@
     return 0;
 }
 
-static int decode_end(AVCodecContext *avctx){
+static av_cold int decode_end(AVCodecContext *avctx){
     TM2Context * const l = avctx->priv_data;
     int i;
 
--- a/truespeech.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/truespeech.c	Fri Mar 21 03:11:20 2008 +0000
@@ -50,7 +50,7 @@
     int16_t filters[32]; // filters for every subframe
 } TSContext;
 
-static int truespeech_decode_init(AVCodecContext * avctx)
+static av_cold int truespeech_decode_init(AVCodecContext * avctx)
 {
 //    TSContext *c = avctx->priv_data;
 
--- a/tscc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/tscc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -253,7 +253,7 @@
  * Init tscc decoder
  *
  */
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     CamtasiaContext * const c = avctx->priv_data;
     int zret; // Zlib return code
@@ -316,7 +316,7 @@
  * Uninit tscc decoder
  *
  */
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     CamtasiaContext * const c = avctx->priv_data;
 
--- a/tta.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/tta.c	Fri Mar 21 03:11:20 2008 +0000
@@ -197,7 +197,7 @@
     return ret;
 }
 
-static int tta_decode_init(AVCodecContext * avctx)
+static av_cold int tta_decode_init(AVCodecContext * avctx)
 {
     TTAContext *s = avctx->priv_data;
     int i;
@@ -425,7 +425,7 @@
     return buf_size;
 }
 
-static int tta_decode_close(AVCodecContext *avctx) {
+static av_cold int tta_decode_close(AVCodecContext *avctx) {
     TTAContext *s = avctx->priv_data;
 
     if (s->decode_buffer)
--- a/txd.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/txd.c	Fri Mar 21 03:11:20 2008 +0000
@@ -28,7 +28,7 @@
     AVFrame picture;
 } TXDContext;
 
-static int txd_init(AVCodecContext *avctx) {
+static av_cold int txd_init(AVCodecContext *avctx) {
     TXDContext *s = avctx->priv_data;
 
     avcodec_get_frame_defaults(&s->picture);
@@ -143,7 +143,7 @@
     return -1;
 }
 
-static int txd_end(AVCodecContext *avctx) {
+static av_cold int txd_end(AVCodecContext *avctx) {
     TXDContext *s = avctx->priv_data;
 
     if (s->picture.data[0])
--- a/ulti.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/ulti.c	Fri Mar 21 03:11:20 2008 +0000
@@ -41,7 +41,7 @@
     const uint8_t *ulti_codebook;
 } UltimotionDecodeContext;
 
-static int ulti_decode_init(AVCodecContext *avctx)
+static av_cold int ulti_decode_init(AVCodecContext *avctx)
 {
     UltimotionDecodeContext *s = avctx->priv_data;
 
@@ -393,7 +393,7 @@
     return buf_size;
 }
 
-static int ulti_decode_end(AVCodecContext *avctx)
+static av_cold int ulti_decode_end(AVCodecContext *avctx)
 {
 /*    UltimotionDecodeContext *s = avctx->priv_data;*/
 
--- a/vb.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vb.c	Fri Mar 21 03:11:20 2008 +0000
@@ -234,7 +234,7 @@
     return buf_size;
 }
 
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     VBDecContext * const c = avctx->priv_data;
 
@@ -257,7 +257,7 @@
     return 0;
 }
 
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     VBDecContext *c = avctx->priv_data;
 
--- a/vc1.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vc1.c	Fri Mar 21 03:11:20 2008 +0000
@@ -3812,7 +3812,7 @@
  * @todo TODO: Handle VC-1 IDUs (Transport level?)
  * @todo TODO: Decypher remaining bits in extra_data
  */
-static int vc1_decode_init(AVCodecContext *avctx)
+static av_cold int vc1_decode_init(AVCodecContext *avctx)
 {
     VC1Context *v = avctx->priv_data;
     MpegEncContext *s = &v->s;
@@ -4109,7 +4109,7 @@
 /** Close a VC1/WMV3 decoder
  * @warning Initial try at using MpegEncContext stuff
  */
-static int vc1_decode_end(AVCodecContext *avctx)
+static av_cold int vc1_decode_end(AVCodecContext *avctx)
 {
     VC1Context *v = avctx->priv_data;
 
--- a/vcr1.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vcr1.c	Fri Mar 21 03:11:20 2008 +0000
@@ -137,14 +137,14 @@
 }
 #endif
 
-static void common_init(AVCodecContext *avctx){
+static av_cold void common_init(AVCodecContext *avctx){
     VCR1Context * const a = avctx->priv_data;
 
     avctx->coded_frame= (AVFrame*)&a->picture;
     a->avctx= avctx;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
 
     common_init(avctx);
 
@@ -154,7 +154,7 @@
 }
 
 #if 0
-static int encode_init(AVCodecContext *avctx){
+static av_cold int encode_init(AVCodecContext *avctx){
 
     common_init(avctx);
 
--- a/vmdav.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vmdav.c	Fri Mar 21 03:11:20 2008 +0000
@@ -322,7 +322,7 @@
     }
 }
 
-static int vmdvideo_decode_init(AVCodecContext *avctx)
+static av_cold int vmdvideo_decode_init(AVCodecContext *avctx)
 {
     VmdVideoContext *s = avctx->priv_data;
     int i;
@@ -398,7 +398,7 @@
     return buf_size;
 }
 
-static int vmdvideo_decode_end(AVCodecContext *avctx)
+static av_cold int vmdvideo_decode_end(AVCodecContext *avctx)
 {
     VmdVideoContext *s = avctx->priv_data;
 
@@ -438,7 +438,7 @@
     0xF00, 0x1000, 0x1400, 0x1800, 0x1C00, 0x2000, 0x3000, 0x4000
 };
 
-static int vmdaudio_decode_init(AVCodecContext *avctx)
+static av_cold int vmdaudio_decode_init(AVCodecContext *avctx)
 {
     VmdAudioContext *s = avctx->priv_data;
 
--- a/vmnc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vmnc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -456,7 +456,7 @@
  * Init VMnc decoder
  *
  */
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     VmncContext * const c = avctx->priv_data;
 
@@ -496,7 +496,7 @@
  * Uninit VMnc decoder
  *
  */
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     VmncContext * const c = avctx->priv_data;
 
--- a/vorbis_dec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vorbis_dec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -923,7 +923,7 @@
 
 // Process the extradata using the functions above (identification header, setup header)
 
-static int vorbis_decode_init(AVCodecContext *avccontext) {
+static av_cold int vorbis_decode_init(AVCodecContext *avccontext) {
     vorbis_context *vc = avccontext->priv_data ;
     uint8_t *headers = avccontext->extradata;
     int headers_len=avccontext->extradata_size;
@@ -1617,7 +1617,7 @@
 
 // Close decoder
 
-static int vorbis_decode_close(AVCodecContext *avccontext) {
+static av_cold int vorbis_decode_close(AVCodecContext *avccontext) {
     vorbis_context *vc = avccontext->priv_data;
 
     vorbis_free(vc);
--- a/vorbis_enc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vorbis_enc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -932,7 +932,7 @@
     return 1;
 }
 
-static int vorbis_encode_init(AVCodecContext * avccontext)
+static av_cold int vorbis_encode_init(AVCodecContext * avccontext)
 {
     venc_context_t * venc = avccontext->priv_data;
 
@@ -1015,7 +1015,7 @@
 }
 
 
-static int vorbis_encode_close(AVCodecContext * avccontext)
+static av_cold int vorbis_encode_close(AVCodecContext * avccontext)
 {
     venc_context_t * venc = avccontext->priv_data;
     int i;
--- a/vp3.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vp3.c	Fri Mar 21 03:11:20 2008 +0000
@@ -1933,7 +1933,7 @@
 /*
  * This is the ffmpeg/libavcodec API init function.
  */
-static int vp3_decode_init(AVCodecContext *avctx)
+static av_cold int vp3_decode_init(AVCodecContext *avctx)
 {
     Vp3DecodeContext *s = avctx->priv_data;
     int i, inter, plane;
@@ -2310,7 +2310,7 @@
 /*
  * This is the ffmpeg/libavcodec API module cleanup function.
  */
-static int vp3_decode_end(AVCodecContext *avctx)
+static av_cold int vp3_decode_end(AVCodecContext *avctx)
 {
     Vp3DecodeContext *s = avctx->priv_data;
     int i;
--- a/vp5.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vp5.c	Fri Mar 21 03:11:20 2008 +0000
@@ -265,7 +265,7 @@
     memset(model->vector_pdv, 0x80, sizeof(model->vector_pdv));
 }
 
-static int vp5_decode_init(AVCodecContext *avctx)
+static av_cold int vp5_decode_init(AVCodecContext *avctx)
 {
     vp56_context_t *s = avctx->priv_data;
 
--- a/vp56.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vp56.c	Fri Mar 21 03:11:20 2008 +0000
@@ -643,7 +643,7 @@
     return buf_size;
 }
 
-void vp56_init(AVCodecContext *avctx, int flip, int has_alpha)
+av_cold void vp56_init(AVCodecContext *avctx, int flip, int has_alpha)
 {
     vp56_context_t *s = avctx->priv_data;
     int i;
@@ -683,7 +683,7 @@
     }
 }
 
-int vp56_free(AVCodecContext *avctx)
+av_cold int vp56_free(AVCodecContext *avctx)
 {
     vp56_context_t *s = avctx->priv_data;
 
--- a/vp6.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vp6.c	Fri Mar 21 03:11:20 2008 +0000
@@ -610,7 +610,7 @@
     }
 }
 
-static int vp6_decode_init(AVCodecContext *avctx)
+static av_cold int vp6_decode_init(AVCodecContext *avctx)
 {
     vp56_context_t *s = avctx->priv_data;
 
--- a/vqavideo.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/vqavideo.c	Fri Mar 21 03:11:20 2008 +0000
@@ -127,7 +127,7 @@
 
 } VqaContext;
 
-static int vqa_decode_init(AVCodecContext *avctx)
+static av_cold int vqa_decode_init(AVCodecContext *avctx)
 {
     VqaContext *s = avctx->priv_data;
     unsigned char *vqa_header;
@@ -592,7 +592,7 @@
     return buf_size;
 }
 
-static int vqa_decode_end(AVCodecContext *avctx)
+static av_cold int vqa_decode_end(AVCodecContext *avctx)
 {
     VqaContext *s = avctx->priv_data;
 
--- a/wavpack.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/wavpack.c	Fri Mar 21 03:11:20 2008 +0000
@@ -354,7 +354,7 @@
     return count;
 }
 
-static int wavpack_decode_init(AVCodecContext *avctx)
+static av_cold int wavpack_decode_init(AVCodecContext *avctx)
 {
     WavpackContext *s = avctx->priv_data;
 
--- a/wmv2.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/wmv2.c	Fri Mar 21 03:11:20 2008 +0000
@@ -25,7 +25,7 @@
 #include "wmv2.h"
 
 
-void ff_wmv2_common_init(Wmv2Context * w){
+av_cold void ff_wmv2_common_init(Wmv2Context * w){
     MpegEncContext * const s= &w->s;
 
     ff_init_scantable(s->dsp.idct_permutation, &w->abt_scantable[0], wmv2_scantableA);
--- a/wmv2dec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/wmv2dec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -457,7 +457,7 @@
     return 0;
 }
 
-static int wmv2_decode_init(AVCodecContext *avctx){
+static av_cold int wmv2_decode_init(AVCodecContext *avctx){
     Wmv2Context * const w= avctx->priv_data;
 
     if(avctx->idct_algo==FF_IDCT_AUTO){
@@ -474,7 +474,7 @@
     return 0;
 }
 
-static int wmv2_decode_end(AVCodecContext *avctx)
+static av_cold int wmv2_decode_end(AVCodecContext *avctx)
 {
     Wmv2Context *w = avctx->priv_data;
 
--- a/wmv2enc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/wmv2enc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -51,7 +51,7 @@
     return 0;
 }
 
-static int wmv2_encode_init(AVCodecContext *avctx){
+static av_cold int wmv2_encode_init(AVCodecContext *avctx){
     Wmv2Context * const w= avctx->priv_data;
 
     if(MPV_encode_init(avctx) < 0)
@@ -67,7 +67,7 @@
 }
 
 #if 0 /* unused, remove? */
-static int wmv2_encode_end(AVCodecContext *avctx){
+static av_cold int wmv2_encode_end(AVCodecContext *avctx){
 
     if(MPV_encode_end(avctx) < 0)
         return -1;
--- a/wnv1.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/wnv1.c	Fri Mar 21 03:11:20 2008 +0000
@@ -116,7 +116,7 @@
     return buf_size;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
     WNV1Context * const l = avctx->priv_data;
 
     l->avctx = avctx;
--- a/ws-snd1.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/ws-snd1.c	Fri Mar 21 03:11:20 2008 +0000
@@ -36,7 +36,7 @@
 
 #define CLIP8(a) if(a>127)a=127;if(a<-128)a=-128;
 
-static int ws_snd_decode_init(AVCodecContext * avctx)
+static av_cold int ws_snd_decode_init(AVCodecContext * avctx)
 {
 //    WSSNDContext *c = avctx->priv_data;
 
--- a/xan.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/xan.c	Fri Mar 21 03:11:20 2008 +0000
@@ -54,7 +54,7 @@
 
 } XanContext;
 
-static int xan_decode_init(AVCodecContext *avctx)
+static av_cold int xan_decode_init(AVCodecContext *avctx)
 {
     XanContext *s = avctx->priv_data;
 
@@ -445,7 +445,7 @@
     return buf_size;
 }
 
-static int xan_decode_end(AVCodecContext *avctx)
+static av_cold int xan_decode_end(AVCodecContext *avctx)
 {
     XanContext *s = avctx->priv_data;
 
--- a/xl.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/xl.c	Fri Mar 21 03:11:20 2008 +0000
@@ -117,7 +117,7 @@
     return buf_size;
 }
 
-static int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx){
 //    VideoXLContext * const a = avctx->priv_data;
 
     avctx->pix_fmt= PIX_FMT_YUV411P;
--- a/xsubdec.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/xsubdec.c	Fri Mar 21 03:11:20 2008 +0000
@@ -22,7 +22,7 @@
 #include "bitstream.h"
 #include "bytestream.h"
 
-static int decode_init(AVCodecContext *avctx) {
+static av_cold int decode_init(AVCodecContext *avctx) {
     avctx->pix_fmt = PIX_FMT_PAL8;
     return 0;
 }
--- a/zmbv.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/zmbv.c	Fri Mar 21 03:11:20 2008 +0000
@@ -589,7 +589,7 @@
  * Init zmbv decoder
  *
  */
-static int decode_init(AVCodecContext *avctx)
+static av_cold int decode_init(AVCodecContext *avctx)
 {
     ZmbvContext * const c = avctx->priv_data;
     int zret; // Zlib return code
@@ -638,7 +638,7 @@
  * Uninit zmbv decoder
  *
  */
-static int decode_end(AVCodecContext *avctx)
+static av_cold int decode_end(AVCodecContext *avctx)
 {
     ZmbvContext * const c = avctx->priv_data;
 
--- a/zmbvenc.c	Thu Mar 20 19:36:20 2008 +0000
+++ b/zmbvenc.c	Fri Mar 21 03:11:20 2008 +0000
@@ -231,7 +231,7 @@
 /**
  * Init zmbv encoder
  */
-static int encode_init(AVCodecContext *avctx)
+static av_cold int encode_init(AVCodecContext *avctx)
 {
     ZmbvEncContext * const c = avctx->priv_data;
     int zret; // Zlib return code
@@ -297,7 +297,7 @@
 /**
  * Uninit zmbv encoder
  */
-static int encode_end(AVCodecContext *avctx)
+static av_cold int encode_end(AVCodecContext *avctx)
 {
     ZmbvEncContext * const c = avctx->priv_data;