Merge commit '3c370f5abc55739a261534b9f9bdc739cedbbbb9'
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 27 Nov 2012 13:03:57 +0000 (14:03 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 27 Nov 2012 13:10:05 +0000 (14:10 +0100)
* commit '3c370f5abc55739a261534b9f9bdc739cedbbbb9':
  riff: only warn on a bad INFO chunk code size instead of failing
  configure: Add separate list for libraries and use where appropriate
  x86: float_dsp: add SSE version of vector_fmul_scalar()

Conflicts:
configure
libavformat/riff.c
libavutil/x86/float_dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
configure
libavformat/riff.c
libavutil/x86/float_dsp.asm
libavutil/x86/float_dsp_init.c

diff --cc configure
+++ b/configure
@@@ -120,14 -113,12 +120,15 @@@ Component options
    --disable-avdevice       disable libavdevice build
    --disable-avcodec        disable libavcodec build
    --disable-avformat       disable libavformat build
+   --disable-avutil         disable libavutil build
 +  --disable-swresample     disable libswresample build
    --disable-swscale        disable libswscale build
 -  --disable-avfilter       disable video filter support [no]
 -  --disable-avresample     disable libavresample build [no]
 +  --disable-postproc       disable libpostproc build
 +  --disable-avfilter       disable libavfilter build
 +  --enable-avresample      enable libavresample build [no]
    --disable-pthreads       disable pthreads [auto]
    --disable-w32threads     disable Win32 threads [auto]
 +  --disable-os2threads     disable OS/2 threads [auto]
    --enable-x11grab         enable X11 grabbing [no]
    --disable-network        disable network support [no]
    --disable-dct            disable DCT code
@@@ -1083,41 -980,35 +1084,48 @@@ COMPONENT_LIST=
      protocols
  "
  
 +DOCUMENT_LIST="
 +    doc
 +    htmlpages
 +    manpages
 +    podpages
 +    txtpages
 +"
 +
+ LIBRARY_LIST="
+     avcodec
+     avdevice
+     avfilter
+     avformat
+     avresample
+     avutil
++    swresample
+     swscale
+ "
  PROGRAM_LIST="
 -    avconv
 -    avplay
 -    avprobe
 -    avserver
 +    ffplay
 +    ffprobe
 +    ffserver
 +    ffmpeg
  "
  
  CONFIG_LIST="
      $COMPONENT_LIST
 +    $DOCUMENT_LIST
+     $LIBRARY_LIST
      $PROGRAM_LIST
-     avcodec
-     avdevice
-     avfilter
-     avformat
-     avresample
      avisynth
      bzlib
 +    crystalhd
      dct
 -    doc
      dwt
      dxva2
 +    fast_unaligned
      fft
 +    fontconfig
      frei0r
 +    ftrapv
      gnutls
      gpl
      gray
@@@ -1924,68 -1718,40 +1929,72 @@@ tls_protocol_select="tcp_protocol
  udp_protocol_deps="network"
  
  # filters
 +aconvert_filter_deps="swresample"
 +amovie_filter_deps="avcodec avformat"
 +aresample_filter_deps="swresample"
 +ass_filter_deps="libass"
 +asyncts_filter_deps="avresample"
 +atempo_filter_deps="avcodec rdft"
  blackframe_filter_deps="gpl"
  boxblur_filter_deps="gpl"
 +colormatrix_filter_deps="gpl"
  cropdetect_filter_deps="gpl"
 +decimate_filter_deps="gpl avcodec"
  delogo_filter_deps="gpl"
 +deshake_filter_deps="avcodec"
  drawtext_filter_deps="libfreetype"
 -frei0r_filter_deps="frei0r dlopen strtok_r"
 +ebur128_filter_deps="gpl"
 +flite_filter_deps="libflite"
 +frei0r_filter_deps="frei0r dlopen"
  frei0r_filter_extralibs='$ldl'
 -frei0r_src_filter_deps="frei0r dlopen strtok_r"
 +frei0r_src_filter_deps="frei0r dlopen"
  frei0r_src_filter_extralibs='$ldl'
 +geq_filter_deps="gpl"
  hqdn3d_filter_deps="gpl"
 +hue_filter_deps="gpl"
 +movie_filter_deps="avcodec avformat"
 +mp_filter_deps="gpl avcodec swscale postproc inline_asm"
 +mptestsrc_filter_deps="gpl"
 +negate_filter_deps="lut_filter"
  resample_filter_deps="avresample"
  ocv_filter_deps="libopencv"
 +pan_filter_deps="swresample"
 +removelogo_filter_deps="avcodec avformat swscale"
  scale_filter_deps="swscale"
 +smartblur_filter_deps="gpl swscale"
 +showspectrum_filter_deps="avcodec rdft"
 +super2xsai_filter_deps="gpl"
 +tinterlace_filter_deps="gpl"
  yadif_filter_deps="gpl"
 +pixfmts_super2xsai_test_deps="super2xsai_filter"
 +tinterlace_merge_test_deps="tinterlace_filter"
 +tinterlace_pad_test_deps="tinterlace_filter"
  
  # libraries
- avdevice_deps="avcodec avformat"
- avformat_deps="avcodec"
+ avcodec_deps="avutil"
+ avdevice_deps="avutil avcodec avformat"
+ avfilter_deps="avutil"
+ avformat_deps="avutil avcodec"
+ avresample_deps="avutil"
 +postproc_deps="gpl"
+ swscale_deps="avutil"
  
  # programs
 -avconv_deps="avcodec avfilter avformat avresample swscale
 -             aformat_filter asyncts_filter
 -             format_filter fps_filter scale_filter setpts_filter"
 -avplay_deps="avcodec avformat swscale sdl"
 -avplay_select="rdft"
 -avprobe_deps="avcodec avformat"
 -avserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer !shared"
 -avserver_extralibs='$ldl'
 -
 -doc_deps="texi2html"
 +ffmpeg_deps="avcodec avfilter avformat swscale swresample"
 +ffmpeg_select="ffbuffersink_filter format_filter aformat_filter
 +               setpts_filter null_filter anull_filter ffabuffersink_filter"
 +ffplay_deps="avcodec avformat swscale swresample sdl"
 +ffplay_select="ffbuffersink_filter rdft crop_filter"
 +ffprobe_deps="avcodec avformat"
 +ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
 +ffserver_extralibs='$ldl'
 +
 +# documentation
 +podpages_deps="perl"
 +manpages_deps="perl pod2man"
 +htmlpages_deps="texi2html"
 +txtpages_deps="makeinfo"
 +doc_deps_any="manpages htmlpages podpages txtpages"
  
  # default parameters
  
@@@ -2026,25 -1788,8 +2035,18 @@@ cpu="generic
  target_os_default=$(tolower $(uname -s))
  host_os=$target_os_default
  
 +# alternative libpostproc version
 +ALT_PP_VER_MAJOR=51
 +ALT_PP_VER_MINOR=2
 +ALT_PP_VER_MICRO=101
 +ALT_PP_VER=$ALT_PP_VER_MAJOR.$ALT_PP_VER_MINOR.$ALT_PP_VER_MICRO
 +
  # configurable options
 -enable $LIBRARY_LIST $PROGRAM_LIST
 +enable $PROGRAM_LIST
 +enable $DOCUMENT_LIST
- enable avcodec
- enable avdevice
- enable avfilter
- enable avformat
- enable avutil
++enable $(filter_out avresample $LIBRARY_LIST)
 +enable postproc
 +enable stripping
- enable swresample
- enable swscale
  
  enable asm
  enable debug
@@@ -4347,29 -3854,7 +4349,22 @@@ get_version()
      eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak
  }
  
- get_version libavcodec
- get_version libavdevice
- get_version libavfilter
- get_version libavformat
- get_version libavresample
- get_version libavutil
- get_version libswresample
- get_version libswscale
 +get_version_old(){
 +    name=$1
 +    file=$source_path/$2
 +# This condition will be removed when we stop supporting old libpostproc versions
 +if ! test "$name" = LIBPOSTPROC || test "$postproc_version" = current; then
 +    eval $(grep "#define ${name}_VERSION_M" "$file" | awk '{ print $2"="$3 }')
 +    eval ${name}_VERSION=\$${name}_VERSION_MAJOR.\$${name}_VERSION_MINOR.\$${name}_VERSION_MICRO
 +fi
 +    lcname=$(tolower $name)
 +    eval echo "${lcname}_VERSION=\$${name}_VERSION" >> config.mak
 +    eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak
 +}
 +
 +get_version_old LIBPOSTPROC libpostproc/version.h
 +
+ map 'get_version $v' $LIBRARY_LIST
  
  cat > $TMPH <<EOF
  /* Automatically generated by configure - do not modify! */
@@@ -824,14 -726,10 +824,15 @@@ int ff_read_riff_info(AVFormatContext *
  
          chunk_code = avio_rl32(pb);
          chunk_size = avio_rl32(pb);
          if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) {
 -            av_log(s, AV_LOG_WARNING, "too big INFO subchunk\n");
 -            break;
 +            avio_seek(pb, -9, SEEK_CUR);
 +            chunk_code = avio_rl32(pb);
 +            chunk_size = avio_rl32(pb);
 +            if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) {
-                 av_log(s, AV_LOG_ERROR, "too big INFO subchunk\n");
++                av_log(s, AV_LOG_WARNING, "too big INFO subchunk\n");
 +                return AVERROR_INVALIDDATA;
 +            }
          }
  
          chunk_size += (chunk_size & 1);
@@@ -87,7 -83,34 +87,36 @@@ cglobal vector_fmac_scalar, 4,4,3, dst
  
  INIT_XMM sse
  VECTOR_FMAC_SCALAR
 +%if HAVE_AVX_EXTERNAL
  INIT_YMM avx
  VECTOR_FMAC_SCALAR
 +%endif
+ ;------------------------------------------------------------------------------
+ ; void ff_vector_fmul_scalar(float *dst, const float *src, float mul, int len)
+ ;------------------------------------------------------------------------------
+ %macro VECTOR_FMUL_SCALAR 0
+ %if UNIX64
+ cglobal vector_fmul_scalar, 3,3,2, dst, src, len
+ %else
+ cglobal vector_fmul_scalar, 4,4,3, dst, src, mul, len
+ %endif
+ %if ARCH_X86_32
+     movss    m0, mulm
+ %elif WIN64
+     SWAP 0, 2
+ %endif
+     shufps   m0, m0, 0
+     lea    lenq, [lend*4-mmsize]
+ .loop:
+     mova     m1, [srcq+lenq]
+     mulps    m1, m0
+     mova  [dstq+lenq], m1
+     sub    lenq, mmsize
+     jge .loop
+     REP_RET
+ %endmacro
+ INIT_XMM sse
+ VECTOR_FMUL_SCALAR
Simple merge