Merge commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 5 May 2013 09:34:29 +0000 (11:34 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 5 May 2013 09:34:29 +0000 (11:34 +0200)
* 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>
57 files changed:
1  2 
libavcodec/aacpsy.c
libavcodec/ac3enc.c
libavcodec/atrac3.c
libavcodec/audio_frame_queue.c
libavcodec/avfft.c
libavcodec/bgmc.c
libavcodec/bink.c
libavcodec/binkdsp.c
libavcodec/dcadsp.c
libavcodec/dnxhdenc.c
libavcodec/dsputil.c
libavcodec/dvdsubdec.c
libavcodec/eac3enc.c
libavcodec/ffv1.c
libavcodec/ffv1enc.c
libavcodec/flac_parser.c
libavcodec/h261enc.c
libavcodec/h264_parser.c
libavcodec/h264chroma.c
libavcodec/h264dsp.c
libavcodec/h264pred.c
libavcodec/h264qpel.c
libavcodec/iirfilter.c
libavcodec/ituh263dec.c
libavcodec/ituh263enc.c
libavcodec/ivi_common.c
libavcodec/libschroedinger.c
libavcodec/libschroedingerenc.c
libavcodec/libxvid_rc.c
libavcodec/mlpdsp.c
libavcodec/mpc.c
libavcodec/mpeg12.c
libavcodec/mpeg12enc.c
libavcodec/mpeg4videoenc.c
libavcodec/mpegaudiodec.c
libavcodec/mpegaudiodsp.c
libavcodec/mpegaudiodsp_template.c
libavcodec/mpegvideo.c
libavcodec/msmpeg4enc.c
libavcodec/pngdsp.c
libavcodec/proresdsp.c
libavcodec/ralf.c
libavcodec/rangecoder.c
libavcodec/ratecontrol.c
libavcodec/roqvideoenc.c
libavcodec/sipr16k.c
libavcodec/utils.c
libavcodec/vc1.c
libavcodec/vc1_parser.c
libavcodec/videodsp.c
libavcodec/vorbisdsp.c
libavcodec/vp56dsp.c
libavcodec/wma.c
libavcodec/wmadec.c
libavcodec/wmaenc.c
libavcodec/x86/h264chroma_init.c
libavcodec/x86/proresdsp_init.c

@@@ -24,8 -24,7 +24,9 @@@
   * AAC encoder psychoacoustic model
   */
  
+ #include "libavutil/attributes.h"
 +#include "libavutil/libm.h"
 +
  #include "avcodec.h"
  #include "aactab.h"
  #include "psymodel.h"
Simple merge
@@@ -36,8 -36,8 +36,9 @@@
  #include <stddef.h>
  #include <stdio.h>
  
+ #include "libavutil/attributes.h"
  #include "libavutil/float_dsp.h"
 +#include "libavutil/libm.h"
  #include "avcodec.h"
  #include "bytestream.h"
  #include "fft.h"
@@@ -838,7 -840,7 +839,7 @@@ static int atrac3_decode_frame(AVCodecC
      return avctx->block_align;
  }
  
- static void atrac3_init_static_data(void)
 -static av_cold void atrac3_init_static_data(AVCodec *codec)
++static av_cold void atrac3_init_static_data(void)
  {
      int i;
  
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
+ #include "libavutil/attributes.h"
  #include "libavutil/common.h"
 -#include "libavutil/mathematics.h"
 -#include "internal.h"
  #include "audio_frame_queue.h"
 +#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->next_pts          = AV_NOPTS_VALUE;
 +    afq->avctx = avctx;
      afq->remaining_delay   = avctx->delay;
      afq->remaining_samples = avctx->delay;
 -    afq->frame_queue       = NULL;
 -}
 -
 -static void delete_next_frame(AudioFrameQueue *afq)
 -{
 -    AudioFrame *f = afq->frame_queue;
 -    if (f) {
 -        afq->frame_queue = f->next;
 -        f->next = NULL;
 -        av_freep(&f);
 -    }
 +    afq->frame_count       = 0;
  }
  
  void ff_af_queue_close(AudioFrameQueue *afq)
Simple merge
@@@ -456,10 -457,11 +457,11 @@@ static uint8_t *bgmc_lut_getp(uint8_t *
  
  
  /** 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);
 +    *cf_lut        = av_malloc(sizeof(**cf_lut)        * LUT_BUFF * 16 * LUT_SIZE);
 +    *cf_lut_status = av_malloc(sizeof(**cf_lut_status) * LUT_BUFF);
  
      if (!*cf_lut || !*cf_lut_status) {
          ff_bgmc_end(cf_lut, cf_lut_status);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -21,8 -21,8 +21,9 @@@
  #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"
  #include "libavutil/avstring.h"
  
@@@ -556,49 -533,13 +557,49 @@@ static int dvdsub_parse_extradata(AVCod
                  av_image_check_size(w, h, 0, avctx) >= 0)
                  avcodec_set_dimensions(avctx, w, h);
          }
 -        cur += strcspn(cur, "\n\r");
 -        cur += strspn(cur, "\n\r");
 +
 +        data += pos;
 +        data += strspn(data, "\n\r");
      }
 -    av_free(data);
 -    return 0;
 +
 +    av_free(dataorig);
 +    return 1;
  }
  
- static int dvdsub_init(AVCodecContext *avctx)
++static int av_cold dvdsub_init(AVCodecContext *avctx)
 +{
 +    DVDSubContext *ctx = avctx->priv_data;
 +    int ret;
 +
 +    if ((ret = dvdsub_parse_extradata(avctx)) < 0)
 +        return ret;
 +
 +    if (ctx->palette_str)
 +        parse_palette(ctx, ctx->palette_str);
 +    if (ctx->has_palette) {
 +        int i;
 +        av_log(avctx, AV_LOG_DEBUG, "palette:");
 +        for(i=0;i<16;i++)
 +            av_log(avctx, AV_LOG_DEBUG, " 0x%06x", ctx->palette[i]);
 +        av_log(avctx, AV_LOG_DEBUG, "\n");
 +    }
 +
 +    return 1;
 +}
 +
 +#define OFFSET(field) offsetof(DVDSubContext, field)
 +#define VD AV_OPT_FLAG_SUBTITLE_PARAM | AV_OPT_FLAG_DECODING_PARAM
 +static const AVOption options[] = {
 +    { "palette", "set the global palette", OFFSET(palette_str), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, VD },
 +    { NULL }
 +};
 +static const AVClass class = {
 +    .class_name = "dvdsubdec",
 +    .item_name  = av_default_item_name,
 +    .option     = options,
 +    .version    = LIBAVUTIL_VERSION_INT,
 +};
 +
  AVCodec ff_dvdsub_decoder = {
      .name           = "dvdsub",
      .type           = AVMEDIA_TYPE_SUBTITLE,
Simple merge
   * FF Video Codec 1 (a lossless codec)
   */
  
+ #include "libavutil/attributes.h"
  #include "libavutil/avassert.h"
 +#include "libavutil/crc.h"
 +#include "libavutil/opt.h"
 +#include "libavutil/imgutils.h"
 +#include "libavutil/pixdesc.h"
 +#include "libavutil/timer.h"
  #include "avcodec.h"
 -#include "get_bits.h"
 -#include "put_bits.h"
 +#include "internal.h"
  #include "rangecoder.h"
  #include "golomb.h"
  #include "mathops.h"
@@@ -62,7 -155,7 +63,7 @@@ av_cold int ffv1_common_init(AVCodecCon
      return 0;
  }
  
--int ffv1_init_slice_state(FFV1Context *f, FFV1Context *fs)
++av_cold int ffv1_init_slice_state(FFV1Context *f, FFV1Context *fs)
  {
      int j;
  
      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++) {
 +        FFV1Context *fs = f->slice_context[i];
 +        if ((ret = ffv1_init_slice_state(f, fs)) < 0)
 +            return AVERROR(ENOMEM);
 +    }
 +    return 0;
 +}
 +
  av_cold int ffv1_init_slice_contexts(FFV1Context *f)
  {
      int i;
@@@ -25,7 -25,9 +25,8 @@@
   * FF Video Codec 1 (a lossless codec) encoder
   */
  
+ #include "libavutil/attributes.h"
  #include "libavutil/avassert.h"
 -#include "libavutil/pixdesc.h"
  #include "libavutil/crc.h"
  #include "libavutil/opt.h"
  #include "libavutil/imgutils.h"
Simple merge
@@@ -25,7 -25,7 +25,8 @@@
   * H.261 encoder.
   */
  
+ #include "libavutil/attributes.h"
 +#include "libavutil/avassert.h"
  #include "avcodec.h"
  #include "mpegvideo.h"
  #include "h263.h"
@@@ -25,8 -25,7 +25,9 @@@
   * @author Michael Niedermayer <michaelni@gmx.at>
   */
  
 +#define UNCHECKED_BITSTREAM_READER 1
 +
+ #include "libavutil/attributes.h"
  #include "parser.h"
  #include "h264data.h"
  #include "golomb.h"
Simple merge
@@@ -26,7 -26,8 +26,9 @@@
   */
  
  #include <stdint.h>
 -
+ #include "libavutil/attributes.h"
 +#include "libavutil/avassert.h"
++
  #include "avcodec.h"
  #include "h264dsp.h"
  #include "h264idct.h"
   * @author Michael Niedermayer <michaelni@gmx.at>
   */
  
+ #include "libavutil/attributes.h"
 +#include "libavutil/avassert.h"
  #include "dsputil.h"
  #include "h264pred.h"
 +#include "avcodec.h" // for AV_CODEC_ID_*
  
  #define BIT_DEPTH 8
  #include "h264pred_template.c"
@@@ -407,8 -398,9 +408,9 @@@ static void pred8x8_tm_vp8_c(uint8_t *s
  /**
   * 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,
 -                               const int chroma_format_idc)
++                               int chroma_format_idc)
  {
  #undef FUNC
  #undef FUNCC
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
+ #include "libavutil/attributes.h"
  #include "h264qpel.h"
  
 +#define pixeltmp int16_t
  #define BIT_DEPTH 8
  #include "h264qpel_template.c"
  #undef BIT_DEPTH
  #define BIT_DEPTH 10
  #include "h264qpel_template.c"
  #undef BIT_DEPTH
 +#undef pixeltmp
 +
 +#define pixeltmp int32_t
 +#define BIT_DEPTH 12
 +#include "h264qpel_template.c"
 +#undef BIT_DEPTH
 +
 +#define BIT_DEPTH 14
 +#include "h264qpel_template.c"
 +#undef BIT_DEPTH
 +
  
- void ff_h264qpel_init(H264QpelContext *c, int bit_depth)
av_cold void ff_h264qpel_init(H264QpelContext *c, int bit_depth)
  {
  #undef FUNCC
  #define FUNCC(f, depth) f ## _ ## depth ## _c
Simple merge
@@@ -100,11 -102,13 +101,11 @@@ static VLC cbpc_b_vlc
  /* init vlcs */
  
  /* XXX: find a better solution to handle static init */
- void ff_h263_decode_init_vlc(void)
av_cold void ff_h263_decode_init_vlc(void)
  {
 -    static int done = 0;
 +    static volatile int done = 0;
  
      if (!done) {
 -        done = 1;
 -
          INIT_VLC_STATIC(&ff_h263_intra_MCBPC_vlc, INTRA_MCBPC_VLC_BITS, 9,
                   ff_h263_intra_MCBPC_bits, 1, 1,
                   ff_h263_intra_MCBPC_code, 1, 1, 72);
@@@ -721,11 -725,13 +722,13 @@@ static av_cold void init_mv_penalty_and
      }
  }
  
- static void init_uni_h263_rl_tab(RLTable *rl, uint32_t *bits_tab, uint8_t *len_tab){
+ static av_cold void init_uni_h263_rl_tab(RLTable *rl, uint32_t *bits_tab,
+                                          uint8_t *len_tab)
+ {
      int slevel, run, last;
  
 -    assert(MAX_LEVEL >= 64);
 -    assert(MAX_RUN   >= 63);
 +    av_assert0(MAX_LEVEL >= 64);
 +    av_assert0(MAX_RUN   >= 63);
  
      for(slevel=-64; slevel<64; slevel++){
          if(slevel==0) continue;
Simple merge
Simple merge
@@@ -31,7 -34,7 +31,8 @@@
  #include <schroedinger/schrodebug.h>
  #include <schroedinger/schrovideoformat.h>
  
+ #include "libavutil/attributes.h"
 +#include "libavutil/avassert.h"
  #include "avcodec.h"
  #include "internal.h"
  #include "libschroedinger.h"
  #include "config.h"
  #include <xvid.h>
  #include <unistd.h>
 -#if !HAVE_MKSTEMP
 -#include <fcntl.h>
 -#endif
 -
+ #include "libavutil/attributes.h"
 +#include "libavutil/file.h"
  #include "avcodec.h"
  #include "libxvid.h"
  #include "mpegvideo.h"
  #undef NDEBUG
  #include <assert.h>
  
- int ff_xvid_rate_control_init(MpegEncContext *s){
 -/* Wrapper to work around the lack of mkstemp() on mingw.
 - * Also, tries to create file in /tmp first, if possible.
 - * *prefix can be a character constant; *filename will be allocated internally.
 - * @return file descriptor of opened file (or -1 on error)
 - * and opened file name in **filename. */
 -int ff_tempfile(const char *prefix, char **filename) {
 -    int fd=-1;
 -#if !HAVE_MKSTEMP
 -    *filename = tempnam(".", prefix);
 -#else
 -    size_t len = strlen(prefix) + 12; /* room for "/tmp/" and "XXXXXX\0" */
 -    *filename = av_malloc(len);
 -#endif
 -    /* -----common section-----*/
 -    if (*filename == NULL) {
 -        av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot allocate file name\n");
 -        return -1;
 -    }
 -#if !HAVE_MKSTEMP
 -    fd = open(*filename, O_RDWR | O_BINARY | O_CREAT, 0444);
 -#else
 -    snprintf(*filename, len, "/tmp/%sXXXXXX", prefix);
 -    fd = mkstemp(*filename);
 -    if (fd < 0) {
 -        snprintf(*filename, len, "./%sXXXXXX", prefix);
 -        fd = mkstemp(*filename);
 -    }
 -#endif
 -    /* -----common section-----*/
 -    if (fd < 0) {
 -        av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot open temporary file %s\n", *filename);
 -        return -1;
 -    }
 -    return fd; /* success */
 -}
 -
+ av_cold int ff_xvid_rate_control_init(MpegEncContext *s)
+ {
      char *tmp_name;
      int fd, i;
      xvid_plg_create_t xvid_plg_create = { 0 };
Simple merge
Simple merge
   * MPEG-1/2 decoder
   */
  
 +#define UNCHECKED_BITSTREAM_READER 1
 +
  //#define DEBUG
+ #include "libavutil/attributes.h"
 +#include "libavutil/avassert.h"
 +#include "libavutil/timecode.h"
 +
  #include "internal.h"
  #include "avcodec.h"
  #include "dsputil.h"
  #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"
 +#include "libavutil/timecode.h"
  
  static const uint8_t inv_non_linear_qscale[13] = {
      0, 2, 4, 6, 8,
@@@ -1147,11 -1136,13 +1148,13 @@@ static av_cold void init_uni_dc_tab(voi
      }
  }
  
- static void init_uni_mpeg4_rl_tab(RLTable *rl, uint32_t *bits_tab, uint8_t *len_tab){
+ static av_cold void init_uni_mpeg4_rl_tab(RLTable *rl, uint32_t *bits_tab,
+                                           uint8_t *len_tab)
+ {
      int slevel, run, last;
  
 -    assert(MAX_LEVEL >= 64);
 -    assert(MAX_RUN   >= 63);
 +    av_assert0(MAX_LEVEL >= 64);
 +    av_assert0(MAX_RUN   >= 63);
  
      for(slevel=-64; slevel<64; slevel++){
          if(slevel==0) continue;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -71,9 -72,9 +72,9 @@@ static void prores_fdct_c(const uint16_
  }
  #endif
  
- void ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx)
 -av_cold void ff_proresdsp_init(ProresDSPContext *dsp)
++av_cold void ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx)
  {
 -#if CONFIG_PRORES_DECODER
 +#if CONFIG_PRORES_DECODER | CONFIG_PRORES_LGPL_DECODER
      dsp->idct_put = prores_idct_put_c;
      dsp->idct_permutation_type = FF_NO_IDCT_PERM;
  
Simple merge
@@@ -33,7 -33,7 +33,8 @@@
  
  #include <string.h>
  
+ #include "libavutil/attributes.h"
 +#include "libavutil/avassert.h"
  #include "avcodec.h"
  #include "rangecoder.h"
  #include "bytestream.h"
Simple merge
Simple merge
Simple merge
   */
  
  #include "config.h"
+ #include "libavutil/attributes.h"
  #include "libavutil/avassert.h"
  #include "libavutil/avstring.h"
 +#include "libavutil/bprint.h"
  #include "libavutil/channel_layout.h"
  #include "libavutil/crc.h"
  #include "libavutil/frame.h"
Simple merge
Simple merge
@@@ -18,7 -18,7 +18,8 @@@
   * 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"
  
Simple merge
Simple merge
Simple merge
Simple merge
  #include "avcodec.h"
  #include "internal.h"
  #include "wma.h"
 -
 -#undef NDEBUG
 -#include <assert.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;
Simple merge
@@@ -31,7 -32,7 +32,7 @@@ void ff_prores_idct_put_10_sse4(uint16_
  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)
++av_cold void ff_proresdsp_x86_init(ProresDSPContext *dsp, AVCodecContext *avctx)
  {
  #if ARCH_X86_64
      int flags = av_get_cpu_flags();