Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Jul 2012 20:12:38 +0000 (22:12 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Jul 2012 20:43:09 +0000 (22:43 +0200)
* qatar/master:
  opt/eval: Include mathematics.h for NAN/INFINITY
  mathematics: Don't use division by zero in NAN/INFINITY macros
  wma: Lower the maximum number of channels to 2
  x86: cpu: clean up check for cpuid instruction support
  ARM: generate position independent code to access data symbols

Conflicts:
libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/arm/fft_fixed_neon.S
libavcodec/arm/fft_neon.S
libavcodec/arm/vp3dsp_neon.S
libavcodec/arm/vp8_armv6.S
libavcodec/wma.c
libavcodec/wmadec.c
libavutil/arm/asm.S
libavutil/eval.c
libavutil/mathematics.h
libavutil/opt.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -102,18 -102,6 +102,13 @@@ static int wma_decode_init(AVCodecConte
      s->use_bit_reservoir = flags2 & 0x0002;
      s->use_variable_block_len = flags2 & 0x0004;
  
-     if(avctx->channels > MAX_CHANNELS){
-         av_log(avctx, AV_LOG_ERROR, "Invalid number of channels (%d)\n", avctx->channels);
-         return -1;
-     }
 +    if(avctx->codec->id == CODEC_ID_WMAV2 && avctx->extradata_size >= 8){
 +        if(AV_RL16(extradata+4)==0xd && s->use_variable_block_len){
 +            av_log(avctx, AV_LOG_WARNING, "Disabling use_variable_block_len, if this fails contact the ffmpeg developers and send us the file\n");
 +            s->use_variable_block_len= 0; // this fixes issue1503
 +        }
 +    }
 +
      if(ff_wma_init(avctx, flags2)<0)
          return -1;
  
Simple merge
Simple merge
  #include <math.h>
  #include "attributes.h"
  #include "rational.h"
+ #include "intfloat.h"
  
 +#ifndef M_E
 +#define M_E            2.7182818284590452354   /* e */
 +#endif
 +#ifndef M_LN2
 +#define M_LN2          0.69314718055994530942  /* log_e 2 */
 +#endif
 +#ifndef M_LN10
 +#define M_LN10         2.30258509299404568402  /* log_e 10 */
 +#endif
  #ifndef M_LOG2_10
  #define M_LOG2_10      3.32192809488736234787  /* log_2 10 */
  #endif
  #ifndef M_PHI
  #define M_PHI          1.61803398874989484820   /* phi / golden ratio */
  #endif
 +#ifndef M_PI
 +#define M_PI           3.14159265358979323846  /* pi */
 +#endif
 +#ifndef M_SQRT1_2
 +#define M_SQRT1_2      0.70710678118654752440  /* 1/sqrt(2) */
 +#endif
 +#ifndef M_SQRT2
 +#define M_SQRT2        1.41421356237309504880  /* sqrt(2) */
 +#endif
  #ifndef NAN
- #define NAN            (0.0/0.0)
+ #define NAN            av_int2float(0x7fc00000)
  #endif
  #ifndef INFINITY
- #define INFINITY       (1.0/0.0)
+ #define INFINITY       av_int2float(0x7f800000)
  #endif
  
  /**
diff --cc libavutil/opt.c
@@@ -31,8 -31,7 +31,9 @@@
  #include "eval.h"
  #include "dict.h"
  #include "log.h"
 +#include "parseutils.h"
 +#include "pixdesc.h"
+ #include "mathematics.h"
  
  #if FF_API_FIND_OPT
  //FIXME order them and do a bin search