Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 6 Oct 2012 11:23:05 +0000 (13:23 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 6 Oct 2012 11:45:08 +0000 (13:45 +0200)
* qatar/master:
  yuv4mpeg: return proper error codes.
  Give all anonymously typedeffed structs in headers a name
  fate: Add parseutils test
  parseutils-test: Drop random colors from parsing test
  vf_pad/scale: use double precision for aspect ratios.
  build: error on variable-length arrays
  ppc: swscale: rework yuv2planeX_altivec()
  ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec()
  x86: dsputil: kill VLA in gmc_mmx()
  libspeexenc: Updated commentary to reflect recent changes
  libspeexenc: Add an option for enabling DTX
  doc/APIchanges: fill in missing dates and hashes.
  lavr: bump major to 1 and declare it stable.
  lavr: change the type of the data buffers to uint8_t**.
  lavc: deprecate the audio resampling API.

Conflicts:
cmdutils.h
configure
doc/APIchanges
ffplay.c
libavcodec/dwt.h
libavcodec/libspeexenc.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavformat/asf.h
tests/fate/libavutil.mak
tests/ref/fate/parseutils

Merged-by: Michael Niedermayer <michaelni@gmx.at>
70 files changed:
1  2 
cmdutils.h
configure
doc/APIchanges
libavcodec/aac.h
libavcodec/aacadtsdec.h
libavcodec/aacps.h
libavcodec/ac3.h
libavcodec/ac3dec.h
libavcodec/acelp_vectors.h
libavcodec/adx.h
libavcodec/amrnbdata.h
libavcodec/amrwbdata.h
libavcodec/avcodec.h
libavcodec/bytestream.h
libavcodec/cavs.h
libavcodec/dirac.h
libavcodec/dnxhddata.h
libavcodec/dnxhdenc.h
libavcodec/dwt.h
libavcodec/gsmdec_data.h
libavcodec/huffman.h
libavcodec/indeo3data.h
libavcodec/intrax8.h
libavcodec/ivi_common.h
libavcodec/libschroedinger.h
libavcodec/libspeexenc.c
libavcodec/mlp.h
libavcodec/mpc.h
libavcodec/mpeg4audio.h
libavcodec/ppc/fmtconvert_altivec.c
libavcodec/proresdsp.h
libavcodec/qcelpdata.h
libavcodec/ra144.h
libavcodec/resample.c
libavcodec/resample2.c
libavcodec/roqvideo.h
libavcodec/rtjpeg.h
libavcodec/sbr.h
libavcodec/version.h
libavcodec/vorbis.h
libavcodec/vp56.h
libavcodec/vp56data.h
libavcodec/vp8.h
libavcodec/w32pthreads.h
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_mmx.h
libavdevice/alsa-audio.h
libavdevice/sndio_common.h
libavfilter/af_asyncts.c
libavfilter/gradfun.h
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/yadif.h
libavformat/asf.h
libavformat/audiointerleave.h
libavformat/httpauth.h
libavformat/isom.h
libavformat/mms.h
libavformat/movenc.h
libavformat/mpegts.h
libavformat/mxf.h
libavformat/nut.h
libavformat/rtpdec.h
libavformat/swf.h
libavformat/yuv4mpeg.c
libavresample/utils.c
libavutil/dict.h
libavutil/lfg.h
libswscale/ppc/swscale_altivec.c
libswscale/swscale.h

diff --cc cmdutils.h
Simple merge
diff --cc configure
+++ b/configure
@@@ -3911,6 -3503,8 +3911,7 @@@ elif enabled gcc; the
      check_optflags -fno-tree-vectorize
      check_cflags -Werror=implicit-function-declaration
      check_cflags -Werror=missing-prototypes
 -    check_cflags -Werror=declaration-after-statement
 -    check_cflags -Werror=vla
++#    check_cflags -Werror=vla
  elif enabled llvm_gcc; then
      check_cflags -mllvm -stack-alignment=16
  elif enabled clang; then
diff --cc doc/APIchanges
@@@ -15,89 -13,12 +15,94 @@@ libavutil:     2011-04-1
  
  API changes, most recent first:
  
- 2012-09-23 - a42aada - lavc 54.28.0 - avcodec.h
 +2012-09-27 - a70b493 - lavd 54.3.100 - version.h
 +  Add LIBAVDEVICE_IDENT symbol.
 +
 +2012-09-27 - a70b493 - lavfi 3.18.100 - version.h
 +  Add LIBAVFILTER_IDENT symbol.
 +
 +2012-09-27 - a70b493 - libswr 0.16.100 - version.h
 +  Add LIBSWRESAMPLE_VERSION, LIBSWRESAMPLE_BUILD
 +  and LIBSWRESAMPLE_IDENT symbols.
 +
 +2012-09-06 - 29e972f - lavu 51.72.100 - parseutils.h
 +  Add av_small_strptime() time parsing function.
 +
 +  Can be used as a stripped-down replacement for strptime(), on
 +  systems which do not support it.
 +
 +2012-08-25 - 2626cc4 - lavf 54.28.100
 +  Matroska demuxer now identifies SRT subtitles as AV_CODEC_ID_SUBRIP instead
 +  of AV_CODEC_ID_TEXT.
 +
 +2012-08-13 - 5c0d8bc - lavfi 3.8.100 - avfilter.h
 +  Add avfilter_get_class() function, and priv_class field to AVFilter
 +  struct.
 +
 +2012-08-12 - a25346e - lavu 51.69.100 - opt.h
 +  Add AV_OPT_FLAG_FILTERING_PARAM symbol in opt.h.
 +
 +2012-07-31 - 23fc4dd - lavc 54.46.100
 +  Add channels field to AVFrame.
 +
 +2012-07-30 - f893904 - lavu 51.66.100
 +  Add av_get_channel_description()
 +  and av_get_standard_channel_layout() functions.
 +
 +2012-07-21 - 016a472 - lavc 54.43.100
 +  Add decode_error_flags field to AVFrame.
 +
 +2012-07-20 - b062936 - lavf 54.18.100
 +  Add avformat_match_stream_specifier() function.
 +
 +2012-07-14 - f49ec1b - lavc 54.38.100 - avcodec.h
 +  Add metadata to AVFrame, and the accessor functions
 +  av_frame_get_metadata() and av_frame_set_metadata().
 +
 +2012-07-10 - 0e003d8 - lavc 54.33.100
 +  Add av_fast_padded_mallocz().
 +
 +2012-07-10 - 21d5609 - lavfi 3.2.0 - avfilter.h
 +  Add init_opaque() callback to AVFilter struct.
 +
 +2012-06-26 - e6674e4 - lavu 51.63.100 - imgutils.h
 +  Add functions to libavutil/imgutils.h:
 +  av_image_get_buffer_size()
 +  av_image_fill_arrays()
 +  av_image_copy_to_buffer()
 +
 +2012-06-24 - c41899a - lavu 51.62.100 - version.h
 +  version moved from avutil.h to version.h
 +
 +2012-04-11 - 359abb1 - lavu 51.58.100 - error.h
 +  Add av_make_error_string() and av_err2str() utilities to
 +  libavutil/error.h.
 +
 +2012-06-05 - 62b39d4 - lavc 54.24.100
 +  Add pkt_duration field to AVFrame.
 +
 +2012-05-24 - f2ee065 - lavu 51.54.100
 +  Move AVPALETTE_SIZE and AVPALETTE_COUNT macros from
 +  libavcodec/avcodec.h to libavutil/pixfmt.h.
 +
 +2012-05-14 - 94a9ac1 - lavf 54.5.100
 +  Add av_guess_sample_aspect_ratio() function.
 +
 +2012-04-20 - 65fa7bc - lavfi 2.70.100
 +  Add avfilter_unref_bufferp() to avfilter.h.
 +
 +2012-04-13 - 162e400 - lavfi 2.68.100
 +  Install libavfilter/asrc_abuffer.h public header.
 +
 +2012-03-26 - a67d9cf - lavfi 2.66.100
 +  Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.
 +
+ 2012-10-05 - e7ba5b1 - lavr 1.0.0 - avresample.h
+   Data planes parameters to avresample_convert() and
+   avresample_read() are now uint8_t** instead of void**.
+   Libavresample is now stable.
+ 2012-09-24 - a42aada - lavc 54.28.0 - avcodec.h
    Add avcodec_free_frame(). This function must now
    be used for freeing an AVFrame.
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
  
  #include <stdint.h>
  
 +typedef struct ACELPVContext {
 +    /**
 +     * float implementation of weighted sum of two vectors.
 +     * @param[out] out result of addition
 +     * @param in_a first vector
 +     * @param in_b second vector
 +     * @param weight_coeff_a first vector weight coefficient
 +     * @param weight_coeff_a second vector weight coefficient
 +     * @param length vectors length (should be a multiple of two)
 +     *
 +     * @note It is safe to pass the same buffer for out and in_a or in_b.
 +     */
 +    void (*weighted_vector_sumf)(float *out, const float *in_a, const float *in_b,
 +                                 float weight_coeff_a, float weight_coeff_b,
 +                                 int length);
 +
 +}ACELPVContext;
 +
 +/**
 + * Initialize ACELPVContext.
 + */
 +void ff_acelp_vectors_init(ACELPVContext *c);
 +void ff_acelp_vectors_init_mips(ACELPVContext *c);
 +
  /** Sparse representation for the algebraic codebook (fixed) vector */
- typedef struct {
+ typedef struct AMRFixed {
      int      n;
      int      x[10];
      float    y[10];
Simple merge
Simple merge
Simple merge
@@@ -4326,6 -4026,7 +4327,7 @@@ int avcodec_encode_subtitle(AVCodecCont
  /**
   * @defgroup lavc_resample Audio resampling
   * @ingroup libavc
 - * @deprecated use libavresample instead
++ * @deprecated use libswresample instead
   *
   * @{
   */
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
  typedef int DWTELEM;
  typedef short IDWTELEM;
  
- typedef struct {
 +#define MAX_DWT_SUPPORT 8
 +#define MAX_DECOMPOSITIONS 8
 +
+ typedef struct DWTCompose {
 +    IDWTELEM *b[MAX_DWT_SUPPORT];
 +
      IDWTELEM *b0;
      IDWTELEM *b1;
      IDWTELEM *b2;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -50,9 -50,9 +50,9 @@@ typedef void (*VP56DefaultModelsInit)(V
  typedef void (*VP56ParseVectorModels)(VP56Context *s);
  typedef int  (*VP56ParseCoeffModels)(VP56Context *s);
  typedef int  (*VP56ParseHeader)(VP56Context *s, const uint8_t *buf,
 -                                int buf_size, int *golden_frame);
 +                                int buf_size);
  
- typedef struct {
+ typedef struct VP56RangeCoder {
      int high;
      int bits; /* stored negated (i.e. negative "bits" is a positive number of
                   bits left) in order to eliminate a negate in cache refilling */
Simple merge
Simple merge
Simple merge
@@@ -2582,11 -2413,24 +2543,9 @@@ static void dsputil_init_mmx(DSPContex
          SET_HPEL_FUNCS(put_no_rnd, 1,  8, mmx);
          SET_HPEL_FUNCS(avg,        1,  8, mmx);
          SET_HPEL_FUNCS(avg_no_rnd, 1,  8, mmx);
 -
 -        switch (avctx->idct_algo) {
 -        case FF_IDCT_AUTO:
 -        case FF_IDCT_SIMPLEMMX:
 -            c->idct_put              = ff_simple_idct_put_mmx;
 -            c->idct_add              = ff_simple_idct_add_mmx;
 -            c->idct                  = ff_simple_idct_mmx;
 -            c->idct_permutation_type = FF_SIMPLE_IDCT_PERM;
 -            break;
 -        case FF_IDCT_XVIDMMX:
 -            c->idct_put              = ff_idct_xvid_mmx_put;
 -            c->idct_add              = ff_idct_xvid_mmx_add;
 -            c->idct                  = ff_idct_xvid_mmx;
 -            break;
 -        }
      }
  
- #if ARCH_X86_32 || !HAVE_YASM
      c->gmc = gmc_mmx;
- #endif
  
      c->add_bytes = add_bytes_mmx;
  
Simple merge
          other formats */
  #define DEFAULT_CODEC_ID AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE)
  
 -#define ALSA_BUFFER_SIZE_MAX 32768
 +typedef void (*ff_reorder_func)(const void *, void *, int);
 +
 +#define ALSA_BUFFER_SIZE_MAX 65536
  
- typedef struct {
+ typedef struct AlsaData {
      AVClass *class;
      snd_pcm_t *h;
 -    int frame_size;  ///< preferred size for reads and writes
 -    int period_size; ///< bytes per sample * channels
 +    int frame_size;  ///< bytes per sample * channels
 +    int period_size; ///< preferred size for reads and writes, in frames
      int sample_rate; ///< sample rate set by user
      int channels;    ///< number of channels set by user
 +    int last_period;
 +    TimeFilter *timefilter;
      void (*reorder_func)(const void *, void *, int);
      void *reorder_buf;
      int reorder_buf_size; ///< in frames
  #include <stdint.h>
  #include <sndio.h>
  
 -#include "libavformat/avformat.h"
  #include "libavutil/log.h"
 +#include "avdevice.h"
  
- typedef struct {
+ typedef struct SndioData {
      AVClass *class;
      struct sio_hdl *hdl;
      enum AVCodecID codec_id;
Simple merge
Simple merge
@@@ -126,12 -160,9 +126,12 @@@ static int config_input(AVFilterLink *i
      var_values[VAR_IN_H]  = var_values[VAR_IH] = inlink->h;
      var_values[VAR_OUT_W] = var_values[VAR_OW] = NAN;
      var_values[VAR_OUT_H] = var_values[VAR_OH] = NAN;
-     var_values[VAR_A]     = (float) inlink->w / inlink->h;
+     var_values[VAR_A]     = (double) inlink->w / inlink->h;
 -    var_values[VAR_HSUB]  = 1<<pad->hsub;
 -    var_values[VAR_VSUB]  = 1<<pad->vsub;
 +    var_values[VAR_SAR]   = inlink->sample_aspect_ratio.num ?
-         (float) inlink->sample_aspect_ratio.num / inlink->sample_aspect_ratio.den : 1;
++        (double) inlink->sample_aspect_ratio.num / inlink->sample_aspect_ratio.den : 1;
 +    var_values[VAR_DAR]   = var_values[VAR_A] * var_values[VAR_SAR];
 +    var_values[VAR_HSUB]  = 1 << pad->draw.hsub_max;
 +    var_values[VAR_VSUB]  = 1 << pad->draw.vsub_max;
  
      /* evaluate width and height */
      av_expr_parse_and_eval(&res, (expr = pad->w_expr),
@@@ -172,10 -167,9 +172,10 @@@ static int config_props(AVFilterLink *o
      var_values[VAR_IN_H]  = var_values[VAR_IH] = inlink->h;
      var_values[VAR_OUT_W] = var_values[VAR_OW] = NAN;
      var_values[VAR_OUT_H] = var_values[VAR_OH] = NAN;
-     var_values[VAR_A]     = (float) inlink->w / inlink->h;
 -    var_values[VAR_DAR]   = var_values[VAR_A]  = (double) inlink->w / inlink->h;
++    var_values[VAR_A]     = (double) inlink->w / inlink->h;
      var_values[VAR_SAR]   = inlink->sample_aspect_ratio.num ?
-         (float) inlink->sample_aspect_ratio.num / inlink->sample_aspect_ratio.den : 1;
+         (double) inlink->sample_aspect_ratio.num / inlink->sample_aspect_ratio.den : 1;
 +    var_values[VAR_DAR]   = var_values[VAR_A] * var_values[VAR_SAR];
      var_values[VAR_HSUB]  = 1<<av_pix_fmt_descriptors[inlink->format].log2_chroma_w;
      var_values[VAR_VSUB]  = 1<<av_pix_fmt_descriptors[inlink->format].log2_chroma_h;
  
Simple merge
@@@ -49,7 -48,9 +49,7 @@@ typedef struct ASFStream 
      uint32_t palette[256];
  } ASFStream;
  
- typedef struct {
 -typedef uint8_t ff_asf_guid[16];
 -
+ typedef struct ASFMainHeader {
      ff_asf_guid guid;                  ///< generated by client computer
      uint64_t file_size;         /**< in bytes
                                   *   invalid if broadcasting */
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -48,14 -47,14 +48,14 @@@ enum MXFMetadataSetType 
  };
  
  enum MXFFrameLayout {
 -     FullFrame = 0,
 -     MixedFields,
 -     OneField,
 -     SegmentedFrame,
 -     SeparateFields
 +    FullFrame = 0,
 +    SeparateFields,
 +    OneField,
 +    MixedFields,
 +    SegmentedFrame,
  };
  
- typedef struct {
+ typedef struct KLVPacket {
      UID key;
      int64_t offset;
      uint64_t length;
@@@ -79,10 -79,9 +79,10 @@@ typedef struct StreamContext 
      int msb_pts_shift;
      int max_pts_distance;
      int decode_delay; //FIXME duplicate of has_b_frames
 +    int64_t *keyframe_pts;
  } StreamContext;
  
- typedef struct {
+ typedef struct ChapterContext {
      AVRational *time_base;
  } ChapterContext;
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc libavutil/lfg.h
Simple merge
Simple merge
Simple merge