Merge commit 'f919cc7df6ab844bc12f89fe7bef4fb915a47725'
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 29 May 2012 23:39:24 +0000 (01:39 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 29 May 2012 23:40:54 +0000 (01:40 +0200)
* commit 'f919cc7df6ab844bc12f89fe7bef4fb915a47725':
  fate: fix acodec/vsynth tests for make 3.81
  pcm_mpeg: fix number of consumed bytes to include the header.
  avfilter: include required header file avfilter.h in video.h
  x86: Avoid movs on BUTTERFLYPS when in AVX mode
  x86: use new schema for ASM macros
  fate: convert codec-regression.sh to makefile rules
  fate: allow tests to specify unit size for psnr comparison
  fate: teach videogen/rotozoom to output a single raw video stream
  http: Add support for reusing the http socket for subsequent requests
  http: Add support for using persistent connections

Merged-by: Michael Niedermayer <michaelni@gmx.at>
105 files changed:
1  2 
configure
libavcodec/pcm-mpeg.c
libavcodec/x86/fft_mmx.asm
libavformat/g723_1.c
libavformat/http.c
libavformat/http.h
libavutil/x86/x86util.asm
tests/Makefile
tests/fate-run.sh
tests/fate/aac.mak
tests/fate/ac3.mak
tests/fate/acodec.mak
tests/fate/audio.mak
tests/fate/vcodec.mak
tests/ref/fate/acodec-adpcm-ima_qt
tests/ref/fate/acodec-adpcm_ima_qt
tests/ref/fate/acodec-alac
tests/ref/fate/acodec-aref
tests/ref/fate/acodec-dca
tests/ref/fate/acodec-flac
tests/ref/fate/acodec-g723_1
tests/ref/fate/acodec-pcm-s16be
tests/ref/fate/acodec-pcm-s24be
tests/ref/fate/acodec-pcm-s32be
tests/ref/fate/acodec-pcm-s8
tests/ref/fate/acodec-ra144
tests/ref/fate/acodec-roqaudio
tests/ref/fate/vsynth1-amv
tests/ref/fate/vsynth1-avui
tests/ref/fate/vsynth1-cljr
tests/ref/fate/vsynth1-dnxhd-1080i
tests/ref/fate/vsynth1-dnxhd_1080i
tests/ref/fate/vsynth1-dv
tests/ref/fate/vsynth1-dv-411
tests/ref/fate/vsynth1-dv-50
tests/ref/fate/vsynth1-dv_411
tests/ref/fate/vsynth1-ffvhuff
tests/ref/fate/vsynth1-flashsv
tests/ref/fate/vsynth1-flashsv2
tests/ref/fate/vsynth1-huffyuv
tests/ref/fate/vsynth1-j2k
tests/ref/fate/vsynth1-jpegls
tests/ref/fate/vsynth1-mpeg4
tests/ref/fate/vsynth1-mpng
tests/ref/fate/vsynth1-msvideo1
tests/ref/fate/vsynth1-prores
tests/ref/fate/vsynth1-prores_kostya
tests/ref/fate/vsynth1-qtrle
tests/ref/fate/vsynth1-qtrlegray
tests/ref/fate/vsynth1-r210
tests/ref/fate/vsynth1-rgb
tests/ref/fate/vsynth1-svq1
tests/ref/fate/vsynth1-v308
tests/ref/fate/vsynth1-v408
tests/ref/fate/vsynth1-y41p
tests/ref/fate/vsynth1-yuv
tests/ref/fate/vsynth1-yuv4
tests/ref/fate/vsynth1-zlib
tests/ref/fate/vsynth1-zmbv
tests/ref/fate/vsynth2-amv
tests/ref/fate/vsynth2-avui
tests/ref/fate/vsynth2-cljr
tests/ref/fate/vsynth2-dnxhd-1080i
tests/ref/fate/vsynth2-dnxhd_1080i
tests/ref/fate/vsynth2-dv
tests/ref/fate/vsynth2-dv-411
tests/ref/fate/vsynth2-dv-50
tests/ref/fate/vsynth2-dv_411
tests/ref/fate/vsynth2-ffvhuff
tests/ref/fate/vsynth2-flashsv
tests/ref/fate/vsynth2-flashsv2
tests/ref/fate/vsynth2-huffyuv
tests/ref/fate/vsynth2-j2k
tests/ref/fate/vsynth2-jpegls
tests/ref/fate/vsynth2-mpeg4
tests/ref/fate/vsynth2-mpng
tests/ref/fate/vsynth2-msvideo1
tests/ref/fate/vsynth2-prores
tests/ref/fate/vsynth2-prores_kostya
tests/ref/fate/vsynth2-qtrle
tests/ref/fate/vsynth2-qtrlegray
tests/ref/fate/vsynth2-r210
tests/ref/fate/vsynth2-rgb
tests/ref/fate/vsynth2-svq1
tests/ref/fate/vsynth2-v308
tests/ref/fate/vsynth2-v408
tests/ref/fate/vsynth2-y41p
tests/ref/fate/vsynth2-yuv
tests/ref/fate/vsynth2-yuv4
tests/ref/fate/vsynth2-zlib
tests/ref/fate/vsynth2-zmbv
tests/ref/seek/dv_411_dv
tests/ref/seek/dv_50_dv
tests/ref/seek/mpeg1_mpeg1video
tests/ref/seek/mpeg1b_mpeg1video
tests/ref/seek/mpeg2_422_mpeg2video
tests/ref/seek/mpeg2_idct_int_mpeg2video
tests/ref/seek/mpeg2_ilace_mpeg2video
tests/ref/seek/mpeg2_ivlc_qprd_mpeg2video
tests/ref/seek/mpeg2_thread_ivlc_mpeg2video
tests/ref/seek/mpeg2_thread_mpeg2video
tests/regression-funcs.sh
tests/rotozoom.c
tests/utils.c
tests/videogen.c

diff --combined configure
+++ b/configure
@@@ -1,6 -1,6 +1,6 @@@
  #!/bin/sh
  #
 -# Libav configure script
 +# FFmpeg configure script
  #
  # Copyright (c) 2000-2002 Fabrice Bellard
  # Copyright (c) 2005-2008 Diego Biurrun
@@@ -44,9 -44,9 +44,9 @@@ if test "$E1" != 0 || test "$E2" = 0; t
      echo "No compatible shell script interpreter found."
      echo "This configure script requires a POSIX-compatible shell"
      echo "such as bash or ksh."
 -    echo "THIS IS NOT A BUG IN LIBAV, DO NOT REPORT IT AS SUCH."
 +    echo "THIS IS NOT A BUG IN FFMPEG, DO NOT REPORT IT AS SUCH."
      echo "Instead, install a working POSIX-compatible shell."
 -    echo "Disabling this configure test will create a broken Libav."
 +    echo "Disabling this configure test will create a broken FFmpeg."
      if test "$BASH_VERSION" = '2.04.0(1)-release'; then
          echo "This bash version ($BASH_VERSION) is broken on your platform."
          echo "Upgrade to a later version if available."
@@@ -78,7 -78,7 +78,7 @@@ Standard options
    --disable-logging        do not log configure debug information
    --prefix=PREFIX          install in PREFIX [$prefix]
    --bindir=DIR             install binaries in DIR [PREFIX/bin]
 -  --datadir=DIR            install data files in DIR [PREFIX/share/avconv]
 +  --datadir=DIR            install data files in DIR [PREFIX/share/ffmpeg]
    --libdir=DIR             install libs in DIR [PREFIX/lib]
    --shlibdir=DIR           install shared libs in DIR [PREFIX/lib]
    --incdir=DIR             install includes in DIR [PREFIX/include]
@@@ -101,21 -101,18 +101,21 @@@ Configuration options
  
  Component options:
    --disable-doc            do not build documentation
 -  --disable-avconv         disable avconv build
 -  --disable-avplay         disable avplay build
 -  --disable-avprobe        disable avprobe build
 -  --disable-avserver       disable avserver build
 +  --disable-ffmpeg         disable ffmpeg build
 +  --disable-ffplay         disable ffplay build
 +  --disable-ffprobe        disable ffprobe build
 +  --disable-ffserver       disable ffserver build
    --disable-avdevice       disable libavdevice build
    --disable-avcodec        disable libavcodec build
    --disable-avformat       disable libavformat build
 +  --disable-swresample     disable libswresample build
    --disable-swscale        disable libswscale build
 +  --disable-postproc       disable libpostproc build
    --disable-avfilter       disable video filter support [no]
 -  --disable-avresample     disable libavresample build [no]
 +  --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
    --disable-rdft           disable RDFT code
    --disable-fft            disable FFT code
    --enable-dxva2           enable DXVA2 code
 -  --enable-vaapi           enable VAAPI code
 -  --enable-vda             enable VDA code
 -  --enable-vdpau           enable VDPAU code
 +  --enable-vaapi           enable VAAPI code [autodetect]
 +  --enable-vda             enable VDA code   [autodetect]
 +  --enable-vdpau           enable VDPAU code [autodetect]
  
  Individual component options:
    --disable-everything     disable all components listed below
  External library support:
    --enable-avisynth        enable reading of AVISynth script files [no]
    --enable-bzlib           enable bzlib [autodetect]
 +  --enable-fontconfig      enable fontconfig
    --enable-frei0r          enable frei0r video filtering
    --enable-gnutls          enable gnutls [no]
 +  --enable-libaacplus      enable AAC+ encoding via libaacplus [no]
 +  --enable-libass          enable libass subtitles rendering [no]
 +  --enable-libbluray       enable BluRay reading using libbluray [no]
 +  --enable-libcelt         enable CELT decoding via libcelt [no]
    --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]
    --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
    --enable-libopencv       enable video filtering via libopencv [no]
    --enable-libfaac         enable FAAC support via libfaac [no]
    --enable-libfreetype     enable libfreetype [no]
    --enable-libgsm          enable GSM support via libgsm [no]
 +  --enable-libmodplug      enable ModPlug via libmodplug [no]
    --enable-libmp3lame      enable MP3 encoding via libmp3lame [no]
 -  --enable-libopenjpeg     enable JPEG 2000 decoding via OpenJPEG [no]
 +  --enable-libnut          enable NUT (de)muxing via libnut,
 +                           native (de)muxer exists [no]
 +  --enable-libopenjpeg     enable JPEG 2000 encoding/decoding via OpenJPEG [no]
    --enable-libpulse        enable Pulseaudio input via libpulse [no]
    --enable-librtmp         enable RTMP[E] support via librtmp [no]
    --enable-libschroedinger enable Dirac support via libschroedinger [no]
    --enable-libspeex        enable Speex support via libspeex [no]
 +  --enable-libstagefright-h264  enable H.264 decoding via libstagefright [no]
    --enable-libtheora       enable Theora encoding via libtheora [no]
 +  --enable-libutvideo      enable Ut Video encoding and decoding via libutvideo [no]
 +  --enable-libv4l2         enable libv4l2/v4l-utils [no]
    --enable-libvo-aacenc    enable AAC encoding via libvo-aacenc [no]
    --enable-libvo-amrwbenc  enable AMR-WB encoding via libvo-amrwbenc [no]
 -  --enable-libvorbis       enable Vorbis encoding via libvorbis,
 +  --enable-libvorbis       enable Vorbis en/decoding via libvorbis,
                             native implementation exists [no]
    --enable-libvpx          enable VP8 support via libvpx [no]
    --enable-libx264         enable H.264 encoding via x264 [no]
    --enable-libxavs         enable AVS encoding via xavs [no]
    --enable-libxvid         enable Xvid encoding via xvidcore,
                             native MPEG-4/Xvid encoder exists [no]
 +  --enable-openal          enable OpenAL 1.1 capture support [no]
    --enable-openssl         enable openssl [no]
    --enable-zlib            enable zlib [autodetect]
  
@@@ -217,26 -202,22 +217,26 @@@ Advanced options (experts only)
    --target-os=OS           compiler targets OS [$target_os]
    --target-exec=CMD        command to run executables on target
    --target-path=DIR        path to view of build directory on target
 -  --nm=NM                  use nm tool
 +  --nm=NM                  use nm tool NM [$nm_default]
    --ar=AR                  use archive tool AR [$ar_default]
    --as=AS                  use assembler AS [$as_default]
 +  --yasmexe=EXE            use yasm-compatible assembler EXE [$yasmexe_default]
    --cc=CC                  use C compiler CC [$cc_default]
 -  --ld=LD                  use linker LD
 +  --cxx=CXX                use C compiler CXX [$cxx_default]
 +  --ld=LD                  use linker LD [$ld_default]
    --host-cc=HOSTCC         use host C compiler HOSTCC
    --host-cflags=HCFLAGS    use HCFLAGS when compiling for host
    --host-ldflags=HLDFLAGS  use HLDFLAGS when linking for host
    --host-libs=HLIBS        use libs HLIBS when linking for host
    --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS [$CFLAGS]
 +  --extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS [$CXXFLAGS]
    --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS]
    --extra-libs=ELIBS       add ELIBS [$ELIBS]
    --extra-version=STRING   version string suffix []
    --optflags               override optimization-related compiler flags
    --build-suffix=SUFFIX    library name suffix []
    --malloc-prefix=PREFIX   prefix malloc and related names with PREFIX
 +  --progs-suffix=SUFFIX    program name suffix []
    --arch=ARCH              select architecture [$arch]
    --cpu=CPU                select the minimum required CPU (affects
                             instruction selection, may crash on older CPUs)
@@@ -268,23 -249,14 +268,23 @@@ Optimization options (experts only)
    --disable-neon           disable NEON optimizations
    --disable-vis            disable VIS optimizations
    --disable-yasm           disable use of yasm assembler
 +  --postproc-version=V     build libpostproc version V.
 +                           Where V can be '$ALT_PP_VER_MAJOR.$ALT_PP_VER_MINOR.$ALT_PP_VER_MICRO' or 'current'. [$postproc_version_default]
  
 -Developer options (useful when working on Libav itself):
 +Developer options (useful when working on FFmpeg itself):
 +  --enable-coverage        build with test coverage instrumentation
    --disable-debug          disable debugging symbols
    --enable-debug=LEVEL     set the debug level [$debuglevel]
    --disable-optimizations  disable compiler optimizations
    --enable-extra-warnings  enable more compiler warnings
 +  --disable-stripping      disable stripping of executables and shared libraries
 +  --assert-level=level     0(default), 1 or 2, amount of assertion testing,
 +                           2 causes a slowdown at runtime.
 +  --valgrind=VALGRIND      run "make fate" tests through valgrind to detect memory
 +                           leaks and errors, using the specified valgrind binary.
 +                           Cannot be combined with --target-exec
    --samples=PATH           location of test samples for FATE, if not set use
 -                           \$LIBAV_SAMPLES at make invocation time.
 +                           \$FATE_SAMPLES at make invocation time.
    --enable-xmm-clobber-test check XMM registers for clobbering (Win64-only;
                             should be used only for debugging purposes)
  
@@@ -321,7 -293,7 +321,7 @@@ die()
  
  If you think configure made a mistake, make sure you are using the latest
  version from Git.  If the latest version fails, report the problem to the
 -libav-user@libav.org mailing list or IRC #libav on irc.freenode.net.
 +ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
  EOF
      if disabled logging; then
          cat <<EOF
@@@ -619,10 -591,6 +619,10 @@@ add_cflags()
      append CFLAGS $($filter_cflags "$@")
  }
  
 +add_cxxflags(){
 +    append CXXFLAGS $($filter_cflags "$@")
 +}
 +
  add_asflags(){
      append ASFLAGS $($filter_asflags "$@")
  }
@@@ -647,13 -615,6 +647,13 @@@ check_cc()
      check_cmd $cc $CPPFLAGS $CFLAGS "$@" -c -o $TMPO $TMPC
  }
  
 +check_cxx(){
 +    log check_cxx "$@"
 +    cat > $TMPCPP
 +    log_file $TMPCPP
 +    check_cmd $cxx $CPPFLAGS $CFLAGS $CXXFLAGS "$@" -c -o $TMPO $TMPCPP
 +}
 +
  check_cpp(){
      log check_cpp "$@"
      cat > $TMPC
@@@ -689,14 -650,12 +689,14 @@@ check_yasm()
  
  check_ld(){
      log check_ld "$@"
 +    type=$1
 +    shift 1
      flags=''
      libs=''
      for f; do
          test "${f}" = "${f#-l}" && flags="$flags $f" || libs="$libs $f"
      done
 -    check_cc $($filter_cflags $flags) || return
 +    check_$type $($filter_cflags $flags) || return
      check_cmd $ld $LDFLAGS $flags -o $TMPE $TMPO $libs $extralibs
  }
  
@@@ -716,17 -675,9 +716,17 @@@ int x
  EOF
  }
  
 +check_cxxflags(){
 +    log check_cxxflags "$@"
 +    set -- $($filter_cflags "$@")
 +    check_cxx "$@" <<EOF && append CXXFLAGS "$@"
 +int x;
 +EOF
 +}
 +
  test_ldflags(){
      log test_ldflags "$@"
 -    check_ld "$@" <<EOF
 +    check_ld "cc" "$@" <<EOF
  int main(void){ return 0; }
  EOF
  }
@@@ -752,7 -703,7 +752,7 @@@ check_func()
      func=$1
      shift
      disable $func
 -    check_ld "$@" <<EOF && enable $func
 +    check_ld "cc" "$@" <<EOF && enable $func
  extern int $func();
  int main(void){ $func(); }
  EOF
@@@ -763,10 -714,10 +763,10 @@@ check_mathfunc()
      func=$1
      shift
      disable $func
 -    check_ld "$@" <<EOF && enable $func
 +    check_ld "cc" "$@" <<EOF && enable $func
  #include <math.h>
  float foo(float f) { return $func(f); }
 -int main(void){ return 0; }
 +int main(void){ return (int) foo; }
  EOF
  }
  
@@@ -783,26 -734,7 +783,26 @@@ check_func_headers()
              echo "long check_$func(void) { return (long) $func; }"
          done
          echo "int main(void) { return 0; }"
 -    } | check_ld "$@" && enable $funcs && enable_safe $headers
 +    } | check_ld "cc" "$@" && enable $funcs && enable_safe $headers
 +}
 +
 +check_class_headers_cpp(){
 +    log check_class_headers_cpp "$@"
 +    headers=$1
 +    classes=$2
 +    shift 2
 +    {
 +        for hdr in $headers; do
 +            echo "#include <$hdr>"
 +        done
 +        echo "int main(void) { "
 +        i=1
 +        for class in $classes; do
 +            echo "$class obj$i;"
 +            i=$(expr $i + 1)
 +        done
 +        echo "return 0; }"
 +    } | check_ld "cxx" "$@" && enable $funcs && enable_safe $headers
  }
  
  check_cpp_condition(){
@@@ -834,21 -766,13 +834,21 @@@ check_lib2()
      check_func_headers "$headers" "$funcs" "$@" && add_extralibs "$@"
  }
  
 +check_lib_cpp(){
 +    log check_lib_cpp "$@"
 +    headers="$1"
 +    classes="$2"
 +    shift 2
 +    check_class_headers_cpp "$headers" "$classes" "$@" && add_extralibs "$@"
 +}
 +
  check_pkg_config(){
      log check_pkg_config "$@"
      pkg="$1"
      headers="$2"
      funcs="$3"
      shift 3
 -    $pkg_config --exists $pkg || return
 +    $pkg_config --exists $pkg 2>/dev/null || return
      pkg_cflags=$($pkg_config --cflags $pkg)
      pkg_libs=$($pkg_config --libs $pkg)
      check_func_headers "$headers" "$funcs" $pkg_cflags $pkg_libs "$@" &&
  }
  
  check_exec(){
 -    check_ld "$@" && { enabled cross_compile || $TMPE >> $logfile 2>&1; }
 +    check_ld "cc" "$@" && { enabled cross_compile || $TMPE >> $logfile 2>&1; }
  }
  
  check_exec_crash(){
  static void sighandler(int sig){
      raise(SIGTERM);
  }
 +int func(void){
 +    $code
 +}
 +int (*func_ptr)(void) = func;
  int main(void){
      signal(SIGILL, sighandler);
      signal(SIGFPE, sighandler);
  #ifdef SIGBUS
      signal(SIGBUS, sighandler);
  #endif
 -    { $code }
 +    return func_ptr();
  }
  EOF
  }
@@@ -941,14 -861,6 +941,14 @@@ require2()
      check_lib2 "$headers" $func "$@" || die "ERROR: $name not found"
  }
  
 +require_cpp(){
 +    name="$1"
 +    headers="$2"
 +    classes="$3"
 +    shift 3
 +    check_lib_cpp "$headers" "$classes" "$@" || die "ERROR: $name not found"
 +}
 +
  require_pkg_config(){
      pkg="$1"
      check_pkg_config "$@" || die "ERROR: $pkg not found"
@@@ -1000,10 -912,10 +1000,10 @@@ COMPONENT_LIST=
  "
  
  PROGRAM_LIST="
 -    avconv
 -    avplay
 -    avprobe
 -    avserver
 +    ffplay
 +    ffprobe
 +    ffserver
 +    ffmpeg
  "
  
  CONFIG_LIST="
      avresample
      avisynth
      bzlib
 +    crystalhd
      dct
      doc
      dwt
      dxva2
      fastdiv
      fft
 +    fontconfig
      frei0r
      gnutls
      gpl
      gray
      hardcoded_tables
 +    libaacplus
 +    libass
 +    libbluray
      libcdio
 +    libcelt
      libdc1394
      libfaac
      libfreetype
      libgsm
 +    libmodplug
      libmp3lame
 +    libnut
      libopencore_amrnb
      libopencore_amrwb
      libopencv
      librtmp
      libschroedinger
      libspeex
 +    libstagefright_h264
      libtheora
 +    libutvideo
 +    libv4l2
      libvo_aacenc
      libvo_amrwbenc
      libvorbis
      mpegaudiodsp
      network
      nonfree
 +    openal
      openssl
      pic
 +    postproc
      rdft
      rtpdec
      runtime_cpudetect
      small
      sram
      static
 +    swresample
      swscale
      swscale_alpha
      thumb
  THREADS_LIST='
      pthreads
      w32threads
 +    os2threads
  '
  
  ARCH_LIST='
@@@ -1157,11 -1054,8 +1157,11 @@@ HAVE_LIST=
      altivec_h
      arpa_inet_h
      asm_mod_y
 +    asm_types_h
      attribute_may_alias
      attribute_packed
 +    cbrtf
 +    clock_gettime
      closesocket
      cmov
      dcbzl
      GetProcessMemoryInfo
      GetProcessTimes
      getrusage
 +    glob
      gnu_as
      ibm_asm
      inet_aton
      inline_asm
      isatty
 +    kbhit
      ldbrx
      libdc1394_1
      libdc1394_2
      loongson
      lrint
      lrintf
 +    lzo1x_999_compress
      machine_ioctl_bt848_h
      machine_ioctl_meteor_h
 +    makeinfo
      malloc_h
      MapViewOfFile
      memalign
      mkstemp
      mmap
      netinet_sctp_h
 +    PeekNamedPipe
      poll_h
      posix_memalign
 +    pthread_cancel
      round
      roundf
      sched_getaffinity
      soundcard_h
      strerror_r
      strptime
 -    strtok_r
      struct_addrinfo
      struct_ipv6_mreq
      struct_rusage_ru_maxrss
      sys_select_h
      sys_soundcard_h
      sys_videoio_h
 +    termios_h
      threads
      trunc
      truncf
@@@ -1284,13 -1172,11 +1284,13 @@@ CMDLINE_SELECT=
      $CONFIG_LIST
      $THREADS_LIST
      asm
 +    coverage
      cross_compile
      debug
      extra_warnings
      logging
      optimizations
 +    stripping
      symver
      yasm
  "
@@@ -1310,12 -1196,10 +1310,12 @@@ CMDLINE_SET=
      ar
      arch
      as
 +    assert_level
      build_suffix
      cc
      cpu
      cross_prefix
 +    cxx
      dep_cc
      extra_version
      host_cc
      host_ldflags
      host_libs
      host_os
 +    install
      ld
      logfile
      malloc_prefix
      nm
      optflags
      pkg_config
 +    postproc_version
 +    progs_suffix
      samples
 +    strip
      sysinclude
      sysroot
      target_exec
      target_os
      target_path
 +    valgrind
 +    yasmexe
  "
  
  CMDLINE_APPEND="
      extra_cflags
 +    extra_cxxflags
  "
  
  # code dependency declarations
@@@ -1421,7 -1298,6 +1421,7 @@@ flac_decoder_select="golomb
  flac_encoder_select="golomb lpc"
  flashsv_decoder_select="zlib"
  flashsv_encoder_select="zlib"
 +flashsv2_encoder_select="zlib"
  flashsv2_decoder_select="zlib"
  flv_decoder_select="h263_decoder"
  flv_encoder_select="h263_encoder"
@@@ -1432,12 -1308,10 +1432,12 @@@ h263_encoder_select="aandct
  h263_vaapi_hwaccel_select="vaapi h263_decoder"
  h263i_decoder_select="h263_decoder"
  h263p_encoder_select="h263_encoder"
 +h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser"
  h264_decoder_select="golomb h264chroma h264dsp h264pred h264qpel"
  h264_dxva2_hwaccel_deps="dxva2api_h"
  h264_dxva2_hwaccel_select="dxva2 h264_decoder"
  h264_vaapi_hwaccel_select="vaapi h264_decoder"
 +h264_vda_hwaccel_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
  h264_vda_hwaccel_select="vda h264_decoder"
  h264_vdpau_decoder_select="vdpau h264_decoder"
  imc_decoder_select="fft mdct sinewin"
@@@ -1463,20 -1337,15 +1463,20 @@@ mpeg_vdpau_decoder_select="vdpau mpegvi
  mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h"
  mpeg_xvmc_decoder_select="mpegvideo_decoder"
  mpeg1_vdpau_decoder_select="vdpau mpeg1video_decoder"
 +mpeg1_vdpau_hwaccel_select="vdpau mpeg1video_decoder"
  mpeg1video_encoder_select="aandct"
 +mpeg2_crystalhd_decoder_select="crystalhd"
  mpeg2_dxva2_hwaccel_deps="dxva2api_h"
  mpeg2_dxva2_hwaccel_select="dxva2 mpeg2video_decoder"
 +mpeg2_vdpau_hwaccel_select="vdpau mpeg2video_decoder"
  mpeg2_vaapi_hwaccel_select="vaapi mpeg2video_decoder"
  mpeg2video_encoder_select="aandct"
 +mpeg4_crystalhd_decoder_select="crystalhd"
  mpeg4_decoder_select="h263_decoder mpeg4video_parser"
  mpeg4_encoder_select="h263_encoder"
  mpeg4_vaapi_hwaccel_select="vaapi mpeg4_decoder"
  mpeg4_vdpau_decoder_select="vdpau mpeg4_decoder"
 +msmpeg4_crystalhd_decoder_select="crystalhd"
  msmpeg4v1_decoder_select="h263_decoder"
  msmpeg4v1_encoder_select="h263_encoder"
  msmpeg4v2_decoder_select="h263_decoder"
@@@ -1501,9 -1370,6 +1501,9 @@@ shorten_decoder_select="golomb
  sipr_decoder_select="lsp"
  snow_decoder_select="dwt"
  snow_encoder_select="aandct dwt"
 +sonic_decoder_select="golomb"
 +sonic_encoder_select="golomb"
 +sonic_ls_encoder_select="golomb"
  svq1_encoder_select="aandct"
  svq3_decoder_select="golomb h264chroma h264dsp h264pred h264qpel"
  svq3_decoder_suggest="zlib"
@@@ -1513,7 -1379,6 +1513,7 @@@ tiff_encoder_suggest="zlib
  truehd_decoder_select="mlp_decoder"
  tscc_decoder_select="zlib"
  twinvq_decoder_select="mdct lsp sinewin"
 +vc1_crystalhd_decoder_select="crystalhd"
  vc1_decoder_select="h263_decoder h264chroma h264qpel"
  vc1_dxva2_hwaccel_deps="dxva2api_h"
  vc1_dxva2_hwaccel_select="dxva2 vc1_decoder"
@@@ -1537,7 -1402,6 +1537,7 @@@ wmv1_encoder_select="h263_encoder
  wmv2_decoder_select="h263_decoder"
  wmv2_encoder_select="h263_encoder"
  wmv3_decoder_select="vc1_decoder"
 +wmv3_crystalhd_decoder_select="crystalhd"
  wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel"
  wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel"
  wmv3_vdpau_decoder_select="vc1_vdpau_decoder"
@@@ -1548,7 -1412,6 +1548,7 @@@ zlib_encoder_select="zlib
  zmbv_decoder_select="zlib"
  zmbv_encoder_select="zlib"
  
 +crystalhd_deps="libcrystalhd_libcrystalhd_if_h"
  vaapi_deps="va_va_h"
  vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
  vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h"
  h264_parser_select="golomb h264dsp h264pred"
  
  # external libraries
 +libaacplus_encoder_deps="libaacplus"
 +libcelt_decoder_deps="libcelt"
  libfaac_encoder_deps="libfaac"
  libgsm_decoder_deps="libgsm"
  libgsm_encoder_deps="libgsm"
  libgsm_ms_decoder_deps="libgsm"
  libgsm_ms_encoder_deps="libgsm"
 +libmodplug_demuxer_deps="libmodplug"
  libmp3lame_encoder_deps="libmp3lame"
  libopencore_amrnb_decoder_deps="libopencore_amrnb"
  libopencore_amrnb_encoder_deps="libopencore_amrnb"
  libopencore_amrwb_decoder_deps="libopencore_amrwb"
  libopenjpeg_decoder_deps="libopenjpeg"
 +libopenjpeg_encoder_deps="libopenjpeg"
  libschroedinger_decoder_deps="libschroedinger"
  libschroedinger_encoder_deps="libschroedinger"
  libspeex_decoder_deps="libspeex"
  libspeex_encoder_deps="libspeex"
 +libstagefright_h264_decoder_deps="libstagefright_h264"
  libtheora_encoder_deps="libtheora"
  libvo_aacenc_encoder_deps="libvo_aacenc"
  libvo_amrwbenc_encoder_deps="libvo_amrwbenc"
 +libvorbis_decoder_deps="libvorbis"
  libvorbis_encoder_deps="libvorbis"
  libvpx_decoder_deps="libvpx"
  libvpx_encoder_deps="libvpx"
  libx264_encoder_deps="libx264"
 +libx264rgb_encoder_deps="libx264"
  libxavs_encoder_deps="libxavs"
  libxvid_encoder_deps="libxvid"
 +libutvideo_decoder_deps="libutvideo"
 +libutvideo_encoder_deps="libutvideo"
  
  # demuxers / muxers
  ac3_demuxer_select="ac3_parser"
@@@ -1598,8 -1452,6 +1598,8 @@@ dirac_demuxer_select="dirac_parser
  eac3_demuxer_select="ac3_parser"
  flac_demuxer_select="flac_parser"
  ipod_muxer_select="mov_muxer"
 +libnut_demuxer_deps="libnut"
 +libnut_muxer_deps="libnut"
  matroska_audio_muxer_select="matroska_muxer"
  matroska_demuxer_suggest="zlib bzlib"
  mov_demuxer_suggest="zlib"
@@@ -1625,30 -1477,22 +1625,30 @@@ w64_demuxer_deps="wav_demuxer
  alsa_indev_deps="alsa_asoundlib_h snd_pcm_htimestamp"
  alsa_outdev_deps="alsa_asoundlib_h"
  bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h"
 +dshow_indev_deps="IBaseFilter"
 +dshow_indev_extralibs="-lpsapi -lole32 -lstrmiids -luuid"
  dv1394_indev_deps="dv1394 dv_demuxer"
  fbdev_indev_deps="linux_fb_h"
 -jack_indev_deps="jack_jack_h"
 +jack_indev_deps="jack_jack_h sem_timedwait"
 +lavfi_indev_deps="avfilter"
  libcdio_indev_deps="libcdio"
  libdc1394_indev_deps="libdc1394"
 +libv4l2_indev_deps="libv4l2"
 +openal_indev_deps="openal"
  oss_indev_deps_any="soundcard_h sys_soundcard_h"
  oss_outdev_deps_any="soundcard_h sys_soundcard_h"
  pulse_indev_deps="libpulse"
 +sdl_outdev_deps="sdl"
  sndio_indev_deps="sndio_h"
  sndio_outdev_deps="sndio_h"
 +v4l_indev_deps="linux_videodev_h"
  v4l2_indev_deps_any="linux_videodev2_h sys_videoio_h"
  vfwcap_indev_deps="capCreateCaptureWindow vfwcap_defines"
  vfwcap_indev_extralibs="-lavicap32"
  x11_grab_device_indev_deps="x11grab XShmCreateImage"
  
  # protocols
 +bluray_protocol_deps="libbluray"
  gopher_protocol_deps="network"
  httpproxy_protocol_deps="network"
  httpproxy_protocol_select="tcp_protocol"
@@@ -1672,50 -1516,32 +1672,50 @@@ 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"
  blackframe_filter_deps="gpl"
  boxblur_filter_deps="gpl"
 +colormatrix_filter_deps="gpl"
  cropdetect_filter_deps="gpl"
  delogo_filter_deps="gpl"
 +deshake_filter_deps="avcodec"
  drawtext_filter_deps="libfreetype"
 -frei0r_filter_deps="frei0r dlopen strtok_r"
 +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'
  hqdn3d_filter_deps="gpl"
 +movie_filter_deps="avcodec avformat"
 +mp_filter_deps="gpl avcodec swscale postproc"
 +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"
 +super2xsai_filter_deps="gpl"
 +tinterlace_filter_deps="gpl"
  yadif_filter_deps="gpl"
  
  # libraries
  avdevice_deps="avcodec avformat"
  avfilter_deps="swscale"
  avformat_deps="avcodec"
 +postproc_deps="gpl"
  
  # programs
 -avconv_deps="avcodec avfilter avformat avresample swscale format_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'
 +ffplay_deps="avcodec avformat swscale swresample sdl"
 +ffplay_select="buffersink_filter rdft"
 +ffprobe_deps="avcodec avformat"
 +ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
 +ffserver_extralibs='$ldl'
 +ffmpeg_deps="avcodec avfilter avformat swscale swresample"
 +ffmpeg_select="buffersink_filter format_filter aformat_filter"
  
  doc_deps="texi2html"
  
@@@ -1737,56 -1563,6 +1737,6 @@@ test_deps()
  mxf_d10_test_deps="avfilter"
  seek_lavf_mxf_d10_test_deps="mxf_d10_test"
  
- test_deps _encoder _decoder                                             \
-     adpcm_ima_qt                                                        \
-     adpcm_ima_wav                                                       \
-     adpcm_ms                                                            \
-     adpcm_swf                                                           \
-     adpcm_yamaha=adpcm_yam                                              \
-     alac                                                                \
-     asv1                                                                \
-     asv2                                                                \
-     bmp                                                                 \
-     dnxhd="dnxhd_1080i dnxhd_720p dnxhd_720p_rd"                        \
-     dvvideo="dv dv_411 dv50"                                            \
-     ffv1                                                                \
-     flac                                                                \
-     flashsv                                                             \
-     flv                                                                 \
-     adpcm_g726=g726                                                     \
-     gif                                                                 \
-     h261                                                                \
-     h263="h263 h263p"                                                   \
-     huffyuv                                                             \
-     jpegls                                                              \
-     mjpeg="jpg mjpeg ljpeg"                                             \
-     mp2                                                                 \
-     mpeg1video="mpeg mpeg1b"                                            \
-     mpeg2video="mpeg2 mpeg2_422 mpeg2_idct_int mpeg2_ilace mpeg2_ivlc_qprd" \
-     mpeg2video="mpeg2thread mpeg2thread_ilace"                          \
-     mpeg4="mpeg4 mpeg4_adap mpeg4_qpel mpeg4_qprd mpeg4adv mpeg4nr"     \
-     mpeg4="mpeg4thread error rc"                                        \
-     msmpeg4v3=msmpeg4                                                   \
-     msmpeg4v2                                                           \
-     pbm=pbmpipe                                                         \
-     pcx                                                                 \
-     pgm="pgm pgmpipe"                                                   \
-     png                                                                 \
-     ppm="ppm ppmpipe"                                                   \
-     rawvideo="rgb yuv"                                                  \
-     roq                                                                 \
-     rv10                                                                \
-     rv20                                                                \
-     sgi                                                                 \
-     snow="snow snowll"                                                  \
-     svq1                                                                \
-     targa=tga                                                           \
-     tiff                                                                \
-     wmav1                                                               \
-     wmav2                                                               \
-     wmv1                                                                \
-     wmv2                                                                \
  test_deps _muxer _demuxer                                               \
      aiff                                                                \
      pcm_alaw=alaw                                                       \
      gxf                                                                 \
      matroska=mkv                                                        \
      mmf                                                                 \
 -    mov                                                                 \
 +    mov="mov ismv"                                                      \
      pcm_mulaw=mulaw                                                     \
      mxf="mxf mxf_d10"                                                   \
      nut                                                                 \
 -    ogg                                                                 \
 +    ogg="ogg ogg_vp3"                                                   \
      rawvideo=pixfmt                                                     \
      rm                                                                  \
      swf                                                                 \
      wav                                                                 \
      yuv4mpegpipe=yuv4mpeg                                               \
  
- ac3_fixed_test_deps="ac3_fixed_encoder ac3_decoder"
 +colormatrix1_test_deps="colormatrix_filter"
 +colormatrix2_test_deps="colormatrix_filter"
 +flashsv2_test_deps="zlib"
  mpg_test_deps="mpeg1system_muxer mpegps_demuxer"
 +mpng_test_deps="zlib"
 +pp_test_deps="mp_filter"
 +pp2_test_deps="mp_filter"
 +pp3_test_deps="mp_filter"
 +pp4_test_deps="mp_filter"
 +pp5_test_deps="mp_filter"
 +pp6_test_deps="mp_filter"
 +zlib_test_deps="zlib"
 +zmbv_test_deps="zlib"
  
  # default parameters
  
@@@ -1834,27 -1597,23 +1783,27 @@@ logfile="config.log
  # installation paths
  prefix_default="/usr/local"
  bindir_default='${prefix}/bin'
 -datadir_default='${prefix}/share/avconv'
 +datadir_default='${prefix}/share/ffmpeg'
  incdir_default='${prefix}/include'
  libdir_default='${prefix}/lib'
  mandir_default='${prefix}/share/man'
  shlibdir_default="$libdir_default"
 +postproc_version_default="current"
  
  # toolchain
  ar_default="ar"
  cc_default="gcc"
 +cxx_default="g++"
  cc_version=\"unknown\"
  host_cc_default="gcc"
 +install="install"
  ln_s="ln -sf"
  nm_default="nm"
  objformat="elf"
  pkg_config_default=pkg-config
  ranlib="ranlib"
 -yasmexe="yasm"
 +strip_default="strip"
 +yasmexe_default="yasm"
  
  nm_opts='-g'
  nogas=":"
@@@ -1867,12 -1626,6 +1816,12 @@@ 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 $PROGRAM_LIST
  
@@@ -1880,10 -1633,8 +1829,10 @@@ enable avcode
  enable avdevice
  enable avfilter
  enable avformat
 -enable avresample
  enable avutil
 +enable postproc
 +enable stripping
 +enable swresample
  enable swscale
  
  enable asm
@@@ -1898,7 -1649,7 +1847,7 @@@ enable swscale_alph
  
  # build settings
  SHFLAGS='-shared -Wl,-soname,$$(@F)'
 -AVSERVERLDFLAGS=-Wl,-E
 +FFSERVERLDFLAGS=-Wl,-E
  LIBPREF="lib"
  LIBSUF=".a"
  FULLNAME='$(NAME)$(BUILDSUF)'
@@@ -1914,7 -1665,6 +1863,7 @@@ SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJ
  
  AS_O='-o $@'
  CC_O='-o $@'
 +CXX_O='-o $@'
  
  host_cflags='-D_ISOC99_SOURCE -O3 -g'
  host_libs='-lm'
@@@ -1941,7 -1691,7 +1890,7 @@@ for v in "$@"; d
      r=${v#*=}
      l=${v%"$r"}
      r=$(sh_quote "$r")
 -    LIBAV_CONFIGURATION="${LIBAV_CONFIGURATION# } ${l}${r}"
 +    FFMPEG_CONFIGURATION="${FFMPEG_CONFIGURATION# } ${l}${r}"
  done
  
  find_things(){
@@@ -1981,16 -1731,11 +1930,12 @@@ find_tests()
      map "echo ${2}\${v}_test" $(ls "$source_path"/tests/ref/$1 | grep -v '[^-a-z0-9_]')
  }
  
- ACODEC_TESTS=$(find_tests acodec)
- VCODEC_TESTS=$(find_tests vsynth1)
 +LAVF_FATE_TESTS=$(find_tests lavf-fate)
  LAVF_TESTS=$(find_tests lavf)
  LAVFI_TESTS=$(find_tests lavfi)
  SEEK_TESTS=$(find_tests seek seek_)
  
- ALL_TESTS="$ACODEC_TESTS $VCODEC_TESTS $LAVF_FATE_TESTS $LAVF_TESTS $LAVFI_TESTS $SEEK_TESTS"
- pcm_test_deps=$(map 'echo ${v%_*}_decoder $v' $(filter pcm_* $ENCODER_LIST))
 -ALL_TESTS="$LAVF_TESTS $LAVFI_TESTS $SEEK_TESTS"
++ALL_TESTS="$LAVF_FATE_TESTS $LAVF_TESTS $LAVFI_TESTS $SEEK_TESTS"
  
  for n in $COMPONENT_LIST; do
      v=$(toupper ${n%s})_LIST
@@@ -2070,7 -1815,7 +2015,7 @@@ don
  
  disabled logging && logfile=/dev/null
  
 -echo "# $0 $LIBAV_CONFIGURATION" > $logfile
 +echo "# $0 $FFMPEG_CONFIGURATION" > $logfile
  set >> $logfile
  
  test -n "$cross_prefix" && enable cross_compile
@@@ -2080,29 -1825,17 +2025,29 @@@ if enabled cross_compile; the
          die "Must specify target arch and OS when cross-compiling"
  fi
  
 -set_default arch target_os
 +set_default arch target_os postproc_version
 +
 +# Check if we should build alternative libpostproc version instead of current
 +if   test "$postproc_version" = $ALT_PP_VER; then
 +  LIBPOSTPROC_VERSION=$ALT_PP_VER
 +  LIBPOSTPROC_VERSION_MAJOR=$ALT_PP_VER_MAJOR
 +  LIBPOSTPROC_VERSION_MINOR=$ALT_PP_VER_MINOR
 +  LIBPOSTPROC_VERSION_MICRO=$ALT_PP_VER_MICRO
 +elif test "$postproc_version" != current; then
 +  die "Invalid argument to --postproc-version. See --help output."
 +fi
  
  ar_default="${cross_prefix}${ar_default}"
  cc_default="${cross_prefix}${cc_default}"
 +cxx_default="${cross_prefix}${cxx_default}"
  nm_default="${cross_prefix}${nm_default}"
  pkg_config_default="${cross_prefix}${pkg_config_default}"
  ranlib="${cross_prefix}${ranlib}"
 +strip_default="${cross_prefix}${strip_default}"
  
  sysinclude_default="${sysroot}/usr/include"
  
 -set_default cc nm pkg_config sysinclude
 +set_default cc cxx nm pkg_config strip sysinclude yasmexe
  enabled cross_compile || host_cc_default=$cc
  set_default host_cc
  
@@@ -2145,7 -1878,6 +2090,7 @@@ trap 'rm -f -- $TMPFILES' EXI
  
  tmpfile TMPASM .asm
  tmpfile TMPC   .c
 +tmpfile TMPCPP .cpp
  tmpfile TMPE   $EXESUF
  tmpfile TMPH   .h
  tmpfile TMPO   .o
@@@ -2380,11 -2112,9 +2325,11 @@@ test -n "$cc_type" && enable $cc_type |
  set_default ar as dep_cc ld
  
  test -n "$CC_DEPFLAGS" || CCDEP=$DEPEND_CMD
 +test -n "$CXX_DEPFLAGS" || CXXDEP=$DEPEND_CMD
  test -n "$AS_DEPFLAGS" || ASDEP=$DEPEND_CMD
  
  add_cflags $extra_cflags
 +add_cxxflags $extra_cxxflags
  add_asflags $extra_cflags
  
  if test -n "$sysroot"; then
  
  # Deal with common $arch aliases
  case "$arch" in
 -    arm*)
 +    arm*|iPad*)
          arch="arm"
      ;;
      mips|mipsel|IP*)
          arch="parisc"
          subarch="parisc64"
      ;;
 -    "Power Macintosh"|ppc|powerpc)
 +    "Power Macintosh"|ppc|powerpc|ppc64|powerpc64)
          arch="ppc"
      ;;
 -    ppc64|powerpc64)
 -        arch="ppc"
 -        subarch="ppc64"
 -    ;;
      s390|s390x)
          arch="s390"
      ;;
          arch="sparc"
          subarch="sparc64"
      ;;
 -    i[3-6]86|i86pc|BePC|x86pc|x86_64|amd64)
 +    i[3-6]86|i86pc|BePC|x86pc|x86_64|x86_32|amd64)
          arch="x86"
      ;;
  esac
@@@ -2618,7 -2352,6 +2563,7 @@@ if test "$?" != 0; the
  fi
  
  add_cppflags -D_ISOC99_SOURCE
 +add_cxxflags -D__STDC_CONSTANT_MACROS
  check_cflags -std=c99
  check_cc -D_FILE_OFFSET_BITS=64 <<EOF && add_cppflags -D_FILE_OFFSET_BITS=64
  #include <stdlib.h>
              spic=$shared
          fi
      ;;
 +    ppc)
 +        check_cc <<EOF && subarch="ppc64"
 +        int test[(int)sizeof(char*) - 7];
 +EOF
 +    ;;
  esac
  
  enable $subarch
@@@ -2661,7 -2389,7 +2606,7 @@@ case $target_os i
          host_libs=
          ;;
      sunos)
 -        AVSERVERLDFLAGS=""
 +        FFSERVERLDFLAGS=""
          SHFLAGS='-shared -Wl,-h,$$(@F)'
          enabled x86 && SHFLAGS="-mimpure-text $SHFLAGS"
          network_extralibs="-lsocket -lnsl"
          ;;
      openbsd)
          # On OpenBSD 4.5. the compiler does not use PIC unless
 -        # explicitly using -fPIC. Libav builds fine without PIC,
 +        # explicitly using -fPIC. FFmpeg builds fine without PIC,
          # however the generated executable will not do anything
          # (simply quits with exit-code 1, no crash, no output).
          # Thus explicitly enable PIC here.
          ;;
      bsd/os)
          add_extralibs -lpoll -lgnugetopt
 +        strip="strip -d"
          ;;
      darwin)
          gas="gas-preprocessor.pl $cc"
          enabled ppc && add_asflags -force_cpusubtype_ALL
          SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)'
          enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress
 +        strip="${strip} -x"
          add_ldflags -Wl,-dynamic,-search_paths_first
          SLIBSUF=".dylib"
          SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)'
          SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME).$(LIBMAJOR)$(SLIBSUF)'
 -        AVSERVERLDFLAGS=-Wl,-bind_at_load
 +        FFSERVERLDFLAGS=-Wl,-bind_at_load
          objformat="macho"
          enabled x86_64 && objformat="macho64"
          enabled_any pic shared ||
          fi
          LIBTARGET=i386
          if enabled x86_64; then
 -            LIBTARGET="i386:x86-64"
 +            LIBTARGET=x64
          elif enabled arm; then
              LIBTARGET=arm-wince
          fi
          SLIBSUF=".dll"
          SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
          SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
 -        SLIB_EXTRA_CMD=-'$(DLLTOOL) -m $(LIBTARGET) -d $$(@:$(SLIBSUF)=.def) -l $(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib) -D $(SLIBNAME_WITH_MAJOR)'
 +        SLIB_EXTRA_CMD='-lib.exe /machine:$(LIBTARGET) /def:$$(@:$(SLIBSUF)=.def) /out:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'
          SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
          SLIB_INSTALL_LINKS=
          SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
          SLIB_INSTALL_EXTRA_LIB='lib$(SLIBNAME:$(SLIBSUF)=.dll.a) $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'
          SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base'
          objformat="win32"
 -        dlltool="${cross_prefix}dlltool"
          enable dos_paths
          check_cflags -fno-common
          check_cpp_condition _mingw.h "defined (__MINGW64_VERSION_MAJOR) || (__MINGW32_MAJOR_VERSION > 3) \
          ranlib="echo ignoring ranlib"
          ;;
      os/2*)
 +        strip="lxlite -CS"
          ln_s="cp -f"
          objformat="aout"
          add_cppflags -D_GNU_SOURCE
          add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap
          SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf'
 -        AVSERVERLDFLAGS=""
 +        FFSERVERLDFLAGS=""
          LIBSUF="_s.a"
          SLIBPREF=""
          SLIBSUF=".dll"
            emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;'
          SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib'
          enable dos_paths
 +        enable_weak os2threads
          ;;
      gnu/kfreebsd)
          add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE
@@@ -2832,7 -2557,7 +2777,7 @@@ esc()
      echo "$*" | sed 's/%/%25/g;s/:/%3a/g'
  }
  
 -echo "config:$arch:$subarch:$cpu:$target_os:$(esc $cc_ident):$(esc $LIBAV_CONFIGURATION)" >config.fate
 +echo "config:$arch:$subarch:$cpu:$target_os:$(esc $cc_ident):$(esc $FFMPEG_CONFIGURATION)" >config.fate
  
  check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || defined(PIC)" && enable pic
  
@@@ -2853,20 -2578,14 +2798,20 @@@ die_license_disabled() 
      enabled $1 || { enabled $2 && die "$2 is $1 and --enable-$1 is not specified."; }
  }
  
 +die_license_disabled_gpl() {
 +    enabled $1 || { enabled $2 && die "$2 is incompatible with the gpl and --enable-$1 is not specified."; }
 +}
 +
  die_license_disabled gpl libcdio
 +die_license_disabled gpl libutvideo
  die_license_disabled gpl libx264
  die_license_disabled gpl libxavs
  die_license_disabled gpl libxvid
  die_license_disabled gpl x11grab
  
 +die_license_disabled nonfree libaacplus
  die_license_disabled nonfree libfaac
 -die_license_disabled nonfree openssl
 +enabled gpl && die_license_disabled_gpl nonfree openssl
  
  die_license_disabled version3 libopencore_amrnb
  die_license_disabled version3 libopencore_amrwb
@@@ -2930,7 -2649,7 +2875,7 @@@ elif enabled arm; the
      elif ! check_cpp_condition stddef.h "defined __ARM_PCS || defined __SOFTFP__"; then
          case "${cross_prefix:-$cc}" in
              *hardfloat*)         enable vfp_args;   fpabi=vfp ;;
 -            *) check_ld <<EOF && enable vfp_args && fpabi=vfp || fpabi=soft ;;
 +            *) check_ld "cc" <<EOF && enable vfp_args && fpabi=vfp || fpabi=soft ;;
  __asm__ (".eabi_attribute 28, 1");
  int main(void) { return 0; }
  EOF
  # Solaris has nanosleep in -lrt, OpenSolaris no longer needs that
  check_func nanosleep || { check_func nanosleep -lrt && add_extralibs -lrt; }
  
 +check_func  clock_gettime || { check_func clock_gettime -lrt && add_extralibs -lrt; }
  check_func  fcntl
  check_func  fork
  check_func  getaddrinfo $network_extralibs
@@@ -3110,53 -2828,39 +3055,53 @@@ check_func  ${malloc_prefix}posix_memal
  check_func  setrlimit
  check_func  strerror_r
  check_func  strptime
 -check_func  strtok_r
  check_func  sched_getaffinity
  check_func  sysconf
  check_func  sysctl
 +check_func_headers conio.h kbhit
 +check_func_headers windows.h PeekNamedPipe
  check_func_headers io.h setmode
 +check_func_headers lzo/lzo1x.h lzo1x_999_compress
  check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi
  check_func_headers windows.h GetProcessAffinityMask
  check_func_headers windows.h GetProcessTimes
  check_func_headers windows.h MapViewOfFile
  check_func_headers windows.h VirtualAlloc
 +check_func_headers glob.h glob
  
  check_header dlfcn.h
 -check_header dxva2api.h
 +check_header dxva2api.h -D_WIN32_WINNT=0x0600
 +check_header libcrystalhd/libcrystalhd_if.h
  check_header malloc.h
  check_header poll.h
  check_header sys/mman.h
  check_header sys/param.h
  check_header sys/resource.h
  check_header sys/select.h
 +check_header termios.h
  check_header vdpau/vdpau.h
  check_header vdpau/vdpau_x11.h
  check_header X11/extensions/XvMClib.h
 +check_header asm/types.h
  
  disabled  zlib || check_lib   zlib.h      zlibVersion -lz   || disable  zlib
  disabled bzlib || check_lib2 bzlib.h BZ2_bzlibVersion -lbz2 || disable bzlib
  
 +# check for VDA header
 +if ! disabled vda; then
 +    if check_header VideoDecodeAcceleration/VDADecoder.h; then
 +        enable vda
 +        add_extralibs -framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore
 +    fi
 +fi
 +
  if ! disabled w32threads && ! enabled pthreads; then
      check_func _beginthreadex && enable w32threads
  fi
  
  # check for some common methods of building with pthread support
  # do this before the optional library checks as some of them require pthreads
 -if ! disabled pthreads && ! enabled w32threads; then
 +if ! disabled pthreads && ! enabled w32threads && ! enabled os2threads; then
      enable pthreads
      if check_func pthread_create; then
          :
@@@ -3181,15 -2885,9 +3126,15 @@@ for thread in $THREADS_LIST; d
      fi
  done
  
 +if enabled pthreads; then
 +  check_func pthread_cancel
 +fi
 +
  check_lib math.h sin -lm && LIBM="-lm"
 +disabled crystalhd || check_lib libcrystalhd/libcrystalhd_if.h DtsCrystalHDVersion -lcrystalhd || disable crystalhd
  enabled vaapi && require vaapi va/va.h vaInitialize -lva
  
 +check_mathfunc cbrtf
  check_mathfunc exp2
  check_mathfunc exp2f
  check_mathfunc llrint
@@@ -3205,53 -2903,34 +3150,53 @@@ check_mathfunc trunc
  
  # these are off by default, so fail if requested and not available
  enabled avisynth   && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
 +enabled fontconfig && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit
  enabled frei0r     && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
  enabled gnutls     && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init
 +enabled libaacplus && require  "libaacplus >= 2.0.0" aacplus.h aacplusEncOpen -laacplus
 +enabled libass     && require_pkg_config libass ass/ass.h ass_library_init
 +enabled libbluray  && require libbluray libbluray/bluray.h bd_open -lbluray
 +enabled libcelt    && require libcelt celt/celt.h celt_decode -lcelt0 &&
 +                      { check_lib celt/celt.h celt_decoder_create_custom -lcelt0 ||
 +                        die "ERROR: libcelt version must be >= 0.11.0."; }
  enabled libfaac    && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
  enabled libfreetype && require_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType
  enabled libgsm     && require  libgsm gsm/gsm.h gsm_create -lgsm
 +enabled libmodplug && require  libmodplug libmodplug/modplug.h ModPlug_Load -lmodplug
  enabled libmp3lame && require  "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame
 +enabled libnut     && require  libnut libnut.h nut_demuxer_init -lnut
  enabled libopencore_amrnb  && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
  enabled libopencore_amrwb  && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb
 -enabled libopencv  && require_pkg_config opencv opencv/cv.h cvCreateImageHeader
 +enabled libopencv  && require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader
  enabled libopenjpeg && require libopenjpeg openjpeg.h opj_version -lopenjpeg
  enabled libpulse && require_pkg_config libpulse-simple pulse/simple.h pa_simple_new
  enabled librtmp    && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
  enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init
  enabled libspeex   && require  libspeex speex/speex.h speex_decoder_init -lspeex
 +enabled libstagefright_h264  && require_cpp libstagefright_h264 "binder/ProcessState.h media/stagefright/MetaData.h
 +    media/stagefright/MediaBufferGroup.h media/stagefright/MediaDebug.h media/stagefright/MediaDefs.h
 +    media/stagefright/OMXClient.h media/stagefright/OMXCodec.h" android::OMXClient -lstagefright -lmedia -lutils -lbinder -lgnustl_static
  enabled libtheora  && require  libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
 +enabled libutvideo    && require_cpp utvideo "stdint.h stdlib.h utvideo/utvideo.h utvideo/Codec.h" 'CCodec*' -lutvideo -lstdc++
 +enabled libv4l2    && require_pkg_config libv4l2 libv4l2.h v4l2_ioctl
  enabled libvo_aacenc && require libvo_aacenc vo-aacenc/voAAC.h voGetAACEncAPI -lvo-aacenc
  enabled libvo_amrwbenc && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc
  enabled libvorbis  && require  libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg
  enabled libvpx     && {
      enabled libvpx_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_dec_init_ver -lvpx ||
                                  die "ERROR: libvpx decoder version must be >=0.9.1"; }
 -    enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_enc_init_ver -lvpx ||
 -                                die "ERROR: libvpx encoder version must be >=0.9.1"; } }
 +    enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_CQ" -lvpx ||
 +                                die "ERROR: libvpx encoder version must be >=0.9.6"; } }
  enabled libx264    && require  libx264 x264.h x264_encoder_encode -lx264 &&
                        { check_cpp_condition x264.h "X264_BUILD >= 118" ||
                          die "ERROR: libx264 version must be >= 0.118."; }
  enabled libxavs    && require  libxavs xavs.h xavs_encoder_encode -lxavs
  enabled libxvid    && require  libxvid xvid.h xvid_global -lxvidcore
 +enabled openal     && { { for al_libs in "${OPENAL_LIBS}" "-lopenal" "-lOpenAL32"; do
 +                        check_lib 'AL/al.h' alGetError "${al_libs}" && break; done } ||
 +                        die "ERROR: openal not found"; } &&
 +                      { check_cpp_condition "AL/al.h" "defined(AL_VERSION_1_1)" ||
 +                        die "ERROR: openal version must be 1.1 or compatible"; }
  enabled openssl    && { check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto ||
                          check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
                          check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
@@@ -3266,28 -2945,15 +3211,28 @@@ if enabled libdc1394; the
      die "ERROR: No version of libdc1394 found "
  fi
  
 +SDL_CONFIG="${cross_prefix}sdl-config"
  if check_pkg_config sdl SDL_events.h SDL_PollEvent; then
      check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x010201" $sdl_cflags &&
      enable sdl &&
      check_struct SDL.h SDL_VideoInfo current_w $sdl_cflags && enable sdl_video_size
 +else
 +  if "${SDL_CONFIG}" --version > /dev/null 2>&1; then
 +    sdl_cflags=$("${SDL_CONFIG}" --cflags)
 +    sdl_libs=$("${SDL_CONFIG}" --libs)
 +    check_func_headers SDL_version.h SDL_Linked_Version $sdl_cflags $sdl_libs &&
 +    check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x010201" $sdl_cflags &&
 +    enable sdl &&
 +    check_struct SDL.h SDL_VideoInfo current_w $sdl_cflags && enable sdl_video_size
 +  fi
  fi
 +enabled sdl && add_cflags $sdl_cflags && add_extralibs $sdl_libs
  
  texi2html -version > /dev/null 2>&1 && enable texi2html || disable texi2html
 +makeinfo --version > /dev/null 2>&1 && enable makeinfo  || disable makeinfo
  
  check_header linux/fb.h
 +check_header linux/videodev.h
  check_header linux/videodev2.h
  check_struct linux/videodev2.h "struct v4l2_frmivalenum" discrete
  
@@@ -3298,8 -2964,6 +3243,8 @@@ check_func_headers "windows.h vfw.h" ca
  # w32api 3.12 had it defined wrong
  check_cpp_condition vfw.h "WM_CAP_DRIVER_CONNECT > WM_USER" && enable vfwcap_defines
  
 +check_type "dshow.h" IBaseFilter
 +
  # check for ioctl_meteor.h, ioctl_bt848.h and alternatives
  { check_header dev/bktr/ioctl_meteor.h &&
    check_header dev/bktr/ioctl_bt848.h; } ||
  check_header dev/ic/bt8xx.h
  
  check_header sndio.h
 -check_header sys/soundcard.h
 +if check_struct sys/soundcard.h audio_buf_info bytes; then
 +    enable_safe sys/soundcard.h
 +else
 +    check_cc -D__BSD_VISIBLE -D__XSI_VISIBLE <<EOF && add_cppflags -D__BSD_VISIBLE -D__XSI_VISIBLE && enable_safe sys/soundcard.h
 +    #include <sys/soundcard.h>
 +    audio_buf_info abc;
 +EOF
 +fi
  check_header soundcard.h
  
  enabled_any alsa_indev alsa_outdev && check_lib2 alsa/asoundlib.h snd_pcm_htimestamp -lasound
  
 -enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack
 +enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack && check_func sem_timedwait
  
  enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio
  
@@@ -3334,11 -2991,9 +3279,11 @@@ require X11 X11/Xlib.h XOpenDisplay -lX
  require Xext X11/extensions/XShm.h XShmCreateImage -lXext &&
  require Xfixes X11/extensions/Xfixes.h XFixesGetCursorImage -lXfixes
  
 -# check for VDA header
 -if ! disabled vda && check_header VideoDecodeAcceleration/VDADecoder.h; then
 -    enable vda && add_extralibs -framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore
 +if ! disabled vaapi; then
 +    check_lib va/va.h vaInitialize -lva && {
 +        check_cpp_condition va/va_version.h "VA_CHECK_VERSION(0,32,0)" ||
 +        warn "Please upgrade to VA-API >= 0.32 if you would like full VA-API support.";
 +    } || disable vaapi
  fi
  
  if ! disabled vdpau && enabled vdpau_vdpau_h; then
@@@ -3349,8 -3004,6 +3294,8 @@@ check_cpp_condition 
  fi
  
  enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel"
 +enabled coverage && add_cflags "-fprofile-arcs -ftest-coverage" && add_ldflags "-fprofile-arcs -ftest-coverage"
 +test -n "$valgrind" && target_exec="$valgrind --error-exitcode=1 --malloc-fill=0x2a --track-origins=yes --leak-check=full --gen-suppressions=all --suppressions=$source_path/tests/fate-valgrind.supp"
  
  # add some useful compiler flags if supported
  check_cflags -Wdeclaration-after-statement
@@@ -3362,17 -3015,17 +3307,17 @@@ check_cflags -Wdisabled-optimizatio
  check_cflags -Wpointer-arith
  check_cflags -Wredundant-decls
  check_cflags -Wno-pointer-sign
 -check_cflags -Wcast-qual
  check_cflags -Wwrite-strings
  check_cflags -Wtype-limits
  check_cflags -Wundef
  check_cflags -Wmissing-prototypes
 +check_cflags -Wno-pointer-to-int-cast
  check_cflags -Wstrict-prototypes
  enabled extra_warnings && check_cflags -Winline
  
  # add some linker flags
  check_ldflags -Wl,--warn-common
 -check_ldflags -Wl,-rpath-link=libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample
 +check_ldflags -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample
  test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic
  
  enabled xmm_clobber_test &&                             \
  fi
  check_cflags -fno-math-errno
  check_cflags -fno-signed-zeros
 +check_cc -mno-red-zone <<EOF && noredzone_flags="-mno-red-zone"
 +int x;
 +EOF
 +
  
  if enabled icc; then
      # Just warnings, no remarks
@@@ -3450,6 -3099,7 +3395,6 @@@ elif enabled gcc; the
      check_cflags -fno-tree-vectorize
      check_cflags -Werror=implicit-function-declaration
      check_cflags -Werror=missing-prototypes
 -    check_cflags -Werror=declaration-after-statement
  elif enabled llvm_gcc; then
      check_cflags -mllvm -stack-alignment=16
  elif enabled clang; then
@@@ -3479,41 -3129,9 +3424,41 @@@ check_deps $CONFIG_LIST       
  
  enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }
  
 +if test $target_os = "haiku"; then
 +    disable memalign
 +    disable posix_memalign
 +fi
 +
  ! enabled_any memalign posix_memalign &&
      enabled_any $need_memalign && enable memalign_hack
  
 +# add_dep lib dep
 +# -> enable ${lib}_deps_${dep}
 +# -> add $dep to ${lib}_deps only once
 +add_dep() {
 +    lib=$1
 +    dep=$2
 +    enabled "${lib}_deps_${dep}" && return 0
 +    enable  "${lib}_deps_${dep}"
 +    prepend "${lib}_deps" $dep
 +}
 +
 +# merge deps lib components
 +# merge all ${component}_deps into ${lib}_deps and ${lib}_deps_*
 +merge_deps() {
 +    lib=$1
 +    shift
 +    for comp in $*; do
 +        enabled $comp || continue
 +        eval "dep=\"\$${comp}_deps\""
 +        for d in $dep; do
 +            add_dep $lib $d
 +        done
 +    done
 +}
 +
 +merge_deps libavfilter $FILTER_LIST
 +
  echo "install prefix            $prefix"
  echo "source path               $source_path"
  echo "C compiler                $cc"
@@@ -3521,9 -3139,6 +3466,9 @@@ echo "ARCH                      $arch (
  if test "$build_suffix" != ""; then
      echo "build suffix              $build_suffix"
  fi
 +if test "$progs_suffix" != ""; then
 +    echo "progs suffix              $progs_suffix"
 +fi
  if test "$extra_version" != ""; then
      echo "version string suffix     $extra_version"
  fi
@@@ -3562,12 -3177,10 +3507,12 @@@ if enabled sparc; the
      echo "VIS enabled               ${vis-no}"
  fi
  echo "debug symbols             ${debug-no}"
 +echo "strip symbols             ${stripping-no}"
  echo "optimize for size         ${small-no}"
  echo "optimizations             ${optimizations-no}"
  echo "static                    ${static-no}"
  echo "shared                    ${shared-no}"
 +echo "postprocessing support    ${postproc-no}"
  echo "new filter support        ${avfilter-no}"
  echo "network support           ${network-no}"
  echo "threading support         ${thread_type-no}"
@@@ -3579,16 -3192,11 +3524,16 @@@ echo "libvdpau enabled          ${vdpau
  echo "AVISynth enabled          ${avisynth-no}"
  echo "frei0r enabled            ${frei0r-no}"
  echo "gnutls enabled            ${gnutls-no}"
 +echo "libaacplus enabled        ${libaacplus-no}"
 +echo "libass enabled            ${libass-no}"
  echo "libcdio support           ${libcdio-no}"
 +echo "libcelt enabled           ${libcelt-no}"
  echo "libdc1394 support         ${libdc1394-no}"
  echo "libfaac enabled           ${libfaac-no}"
  echo "libgsm enabled            ${libgsm-no}"
 +echo "libmodplug enabled        ${libmodplug-no}"
  echo "libmp3lame enabled        ${libmp3lame-no}"
 +echo "libnut enabled            ${libnut-no}"
  echo "libopencore-amrnb support ${libopencore_amrnb-no}"
  echo "libopencore-amrwb support ${libopencore_amrwb-no}"
  echo "libopencv support         ${libopencv-no}"
@@@ -3597,10 -3205,7 +3542,10 @@@ echo "libpulse enabled          ${libpu
  echo "librtmp enabled           ${librtmp-no}"
  echo "libschroedinger enabled   ${libschroedinger-no}"
  echo "libspeex enabled          ${libspeex-no}"
 +echo "libstagefright-h264 enabled    ${libstagefright_h264-no}"
  echo "libtheora enabled         ${libtheora-no}"
 +echo "libutvideo enabled        ${libutvideo-no}"
 +echo "libv4l2 enabled           ${libv4l2-no}"
  echo "libvo-aacenc support      ${libvo_aacenc-no}"
  echo "libvo-amrwbenc support    ${libvo_amrwbenc-no}"
  echo "libvorbis enabled         ${libvorbis-no}"
@@@ -3608,7 -3213,6 +3553,7 @@@ echo "libvpx enabled            ${libvp
  echo "libx264 enabled           ${libx264-no}"
  echo "libxavs enabled           ${libxavs-no}"
  echo "libxvid enabled           ${libxvid-no}"
 +echo "openal enabled            ${openal-no}"
  echo "openssl enabled           ${openssl-no}"
  echo "zlib enabled              ${zlib-no}"
  echo "bzlib enabled             ${bzlib-no}"
@@@ -3638,15 -3242,11 +3583,15 @@@ echo "Creating config.mak and config.h.
  
  test -e Makefile || $ln_s "$source_path/Makefile" .
  
 +enabled stripping || strip="echo skipping strip"
 +
  config_files="$TMPH config.mak"
  
  cat > config.mak <<EOF
  # Automatically generated by configure - do not modify!
 -LIBAV_CONFIGURATION=$LIBAV_CONFIGURATION
 +ifndef FFMPEG_CONFIG_MAK
 +FFMPEG_CONFIG_MAK=1
 +FFMPEG_CONFIGURATION=$FFMPEG_CONFIGURATION
  prefix=$prefix
  LIBDIR=\$(DESTDIR)$libdir
  SHLIBDIR=\$(DESTDIR)$shlibdir
@@@ -3655,13 -3255,9 +3600,13 @@@ BINDIR=\$(DESTDIR)$bindi
  DATADIR=\$(DESTDIR)$datadir
  MANDIR=\$(DESTDIR)$mandir
  SRC_PATH=$source_path
 +ifndef MAIN_MAKEFILE
 +SRC_PATH:=\$(SRC_PATH:.%=..%)
 +endif
  CC_IDENT=$cc_ident
  ARCH=$arch
  CC=$cc
 +CXX=$cxx
  AS=$as
  LD=$ld
  DEPCC=$dep_cc
@@@ -3669,22 -3265,18 +3614,22 @@@ YASM=$yasmex
  YASMDEP=$yasmexe
  AR=$ar
  RANLIB=$ranlib
 +CP=cp -p
  LN_S=$ln_s
 +STRIP=$strip
  CPPFLAGS=$CPPFLAGS
  CFLAGS=$CFLAGS
 +CXXFLAGS=$CXXFLAGS
  ASFLAGS=$ASFLAGS
  AS_O=$CC_O
  CC_O=$CC_O
 -DLLTOOL=$dlltool
 +CXX_O=$CXX_O
  LDFLAGS=$LDFLAGS
 -AVSERVERLDFLAGS=$AVSERVERLDFLAGS
 +FFSERVERLDFLAGS=$FFSERVERLDFLAGS
  SHFLAGS=$SHFLAGS
  YASMFLAGS=$YASMFLAGS
  BUILDSUF=$build_suffix
 +PROGSSUF=$progs_suffix
  FULLNAME=$FULLNAME
  LIBPREF=$LIBPREF
  LIBSUF=$LIBSUF
@@@ -3695,7 -3287,6 +3640,7 @@@ EXESUF=$EXESU
  EXTRA_VERSION=$extra_version
  DEPFLAGS=$DEPFLAGS
  CCDEP=$CCDEP
 +CXXDEP=$CXXDEP
  ASDEP=$ASDEP
  CC_DEPFLAGS=$CC_DEPFLAGS
  AS_DEPFLAGS=$AS_DEPFLAGS
@@@ -3710,7 -3301,7 +3655,7 @@@ SDL_LIBS=$sdl_lib
  SDL_CFLAGS=$sdl_cflags
  LIB_INSTALL_EXTRA_CMD=$LIB_INSTALL_EXTRA_CMD
  EXTRALIBS=$extralibs
 -INSTALL=install
 +INSTALL=$install
  LIBTARGET=${LIBTARGET}
  SLIBNAME=${SLIBNAME}
  SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}
@@@ -3721,18 -3312,14 +3666,18 @@@ SLIB_INSTALL_NAME=${SLIB_INSTALL_NAME
  SLIB_INSTALL_LINKS=${SLIB_INSTALL_LINKS}
  SLIB_INSTALL_EXTRA_LIB=${SLIB_INSTALL_EXTRA_LIB}
  SLIB_INSTALL_EXTRA_SHLIB=${SLIB_INSTALL_EXTRA_SHLIB}
 -SAMPLES:=${samples:-\$(LIBAV_SAMPLES)}
 +SAMPLES:=${samples:-\$(FATE_SAMPLES)}
 +NOREDZONE_FLAGS=$noredzone_flags
  EOF
  
  get_version(){
      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
@@@ -3744,17 -3331,14 +3689,17 @@@ get_version LIBAVFILTER libavfilter/ver
  get_version LIBAVFORMAT libavformat/version.h
  get_version LIBAVRESAMPLE libavresample/version.h
  get_version LIBAVUTIL   libavutil/avutil.h
 +get_version LIBPOSTPROC libpostproc/postprocess.h
 +get_version LIBSWRESAMPLE libswresample/swresample.h
  get_version LIBSWSCALE  libswscale/swscale.h
  
  cat > $TMPH <<EOF
  /* Automatically generated by configure - do not modify! */
 -#ifndef LIBAV_CONFIG_H
 -#define LIBAV_CONFIG_H
 -#define LIBAV_CONFIGURATION "$(c_escape $LIBAV_CONFIGURATION)"
 -#define LIBAV_LICENSE "$(c_escape $license)"
 +#ifndef FFMPEG_CONFIG_H
 +#define FFMPEG_CONFIG_H
 +#define FFMPEG_CONFIGURATION "$(c_escape $FFMPEG_CONFIGURATION)"
 +#define FFMPEG_LICENSE "$(c_escape $license)"
 +#define FFMPEG_DATADIR "$(eval c_escape $datadir)"
  #define AVCONV_DATADIR "$(eval c_escape $datadir)"
  #define CC_TYPE "$cc_type"
  #define CC_VERSION $cc_version
  #define SLIBSUF "$SLIBSUF"
  EOF
  
 +test -n "$assert_level" &&
 +    echo "#define ASSERT_LEVEL $assert_level" >>$TMPH
 +
  test -n "$malloc_prefix" &&
      echo "#define MALLOC_PREFIX $malloc_prefix" >>$TMPH
  
@@@ -3791,16 -3372,12 +3736,14 @@@ print_config CONFIG_ "$config_files" $C
                                       $ALL_COMPONENTS    \
  
  cat >>config.mak <<EOF
- ACODEC_TESTS=$(print_enabled -n _test $ACODEC_TESTS)
- VCODEC_TESTS=$(print_enabled -n _test $VCODEC_TESTS)
 +LAVF_FATE_TESTS=$(print_enabled -n _test $LAVF_FATE_TESTS)
  LAVF_TESTS=$(print_enabled   -n _test $LAVF_TESTS)
  LAVFI_TESTS=$(print_enabled  -n _test $LAVFI_TESTS)
  SEEK_TESTS=$(print_enabled   -n _test $SEEK_TESTS)
  EOF
  
 -echo "#endif /* LIBAV_CONFIG_H */" >> $TMPH
 +echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH
 +echo "endif # FFMPEG_CONFIG_MAK" >> config.mak
  
  # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
  cp_if_changed $TMPH config.h
@@@ -3814,12 -3391,6 +3757,12 @@@ cat > $TMPH <<EO
  #define AVUTIL_AVCONFIG_H
  EOF
  
 +test "$postproc_version" != current && cat >> $TMPH <<EOF
 +#define LIBPOSTPROC_VERSION_MAJOR $LIBPOSTPROC_VERSION_MAJOR
 +#define LIBPOSTPROC_VERSION_MINOR $LIBPOSTPROC_VERSION_MINOR
 +#define LIBPOSTPROC_VERSION_MICRO $LIBPOSTPROC_VERSION_MICRO
 +EOF
 +
  print_config AV_HAVE_ $TMPH $HAVE_LIST_PUB
  
  echo "#endif /* AVUTIL_AVCONFIG_H */" >> $TMPH
@@@ -3871,23 -3442,10 +3814,23 @@@ Cflags: -I\${includedir
  EOF
  }
  
 -pkgconfig_generate libavutil "Libav utility library" "$LIBAVUTIL_VERSION" "$LIBM"
 -pkgconfig_generate libavcodec "Libav codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION"
 -pkgconfig_generate libavformat "Libav container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION"
 -pkgconfig_generate libavdevice "Libav device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION"
 -pkgconfig_generate libavfilter "Libav video filtering library" "$LIBAVFILTER_VERSION" "$extralibs"
 +libavfilter_pc_deps=""
 +enabled libavfilter_deps_avcodec    && prepend libavfilter_pc_deps "libavcodec = $LIBAVCODEC_VERSION,"
 +enabled libavfilter_deps_avformat   && prepend libavfilter_pc_deps "libavformat = $LIBAVFORMAT_VERSION,"
 +enabled libavfilter_deps_swscale    && prepend libavfilter_pc_deps "libswscale = $LIBSWSCALE_VERSION,"
 +enabled libavfilter_deps_swresample && prepend libavfilter_pc_deps "libswresample = $LIBSWRESAMPLE_VERSION,"
 +enabled libavfilter_deps_postproc   && prepend libavfilter_pc_deps "libpostproc = $LIBPOSTPROC_VERSION,"
 +libavfilter_pc_deps=${libavfilter_pc_deps%, }
 +
 +libavdevice_pc_deps="libavformat = $LIBAVFORMAT_VERSION"
 +enabled lavfi_indev && prepend libavdevice_pc_deps "libavfilter = $LIBAVFILTER_VERSION,"
 +
 +pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION" "$LIBM"
 +pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION"
 +pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION"
 +pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "$libavdevice_pc_deps"
 +pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "$libavfilter_pc_deps"
 +pkgconfig_generate libpostproc "FFmpeg postprocessing library" "$LIBPOSTPROC_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"
  pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs"
 -pkgconfig_generate libswscale "Libav image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"
 +pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"
 +pkgconfig_generate libswresample "FFmpeg audio rescaling library" "$LIBSWRESAMPLE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"
diff --combined libavcodec/pcm-mpeg.c
@@@ -2,20 -2,20 +2,20 @@@
   * LPCM codecs for PCM formats found in MPEG streams
   * Copyright (c) 2009 Christian Schmidt
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -69,14 -69,13 +69,14 @@@ static int pcm_bluray_parse_header(AVCo
  
      /* get the sample depth and derive the sample format from it */
      avctx->bits_per_coded_sample = bits_per_samples[header[3] >> 6];
 -    if (!avctx->bits_per_coded_sample) {
 -        av_log(avctx, AV_LOG_ERROR, "unsupported sample depth (0)\n");
 +    if (!(avctx->bits_per_coded_sample == 16 || avctx->bits_per_coded_sample == 24)) {
 +        av_log(avctx, AV_LOG_ERROR, "unsupported sample depth (%d)\n", avctx->bits_per_coded_sample);
          return -1;
      }
      avctx->sample_fmt = avctx->bits_per_coded_sample == 16 ? AV_SAMPLE_FMT_S16 :
                                                               AV_SAMPLE_FMT_S32;
 -    avctx->bits_per_raw_sample = avctx->bits_per_coded_sample;
 +    if (avctx->sample_fmt == AV_SAMPLE_FMT_S32)
 +        avctx->bits_per_raw_sample = avctx->bits_per_coded_sample;
  
      /* get the sample rate. Not all values are known or exist. */
      switch (header[2] & 0x0f) {
@@@ -312,7 -311,7 +312,7 @@@ static int pcm_bluray_decode_frame(AVCo
      if (avctx->debug & FF_DEBUG_BITSTREAM)
          av_dlog(avctx, "pcm_bluray_decode_frame: decoded %d -> %d bytes\n",
                  retval, buf_size);
-     return retval;
+     return retval + 4;
  }
  
  AVCodec ff_pcm_bluray_decoder = {
@@@ -6,20 -6,20 +6,20 @@@
  ;* This algorithm (though not any of the implementation details) is
  ;* based on libdjbfft by D. J. Bernstein.
  ;*
 -;* This file is part of Libav.
 +;* This file is part of FFmpeg.
  ;*
 -;* Libav is free software; you can redistribute it and/or
 +;* FFmpeg is free software; you can redistribute it and/or
  ;* modify it under the terms of the GNU Lesser General Public
  ;* License as published by the Free Software Foundation; either
  ;* version 2.1 of the License, or (at your option) any later version.
  ;*
 -;* Libav is distributed in the hope that it will be useful,
 +;* FFmpeg is distributed in the hope that it will be useful,
  ;* but WITHOUT ANY WARRANTY; without even the implied warranty of
  ;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  ;* Lesser General Public License for more details.
  ;*
  ;* You should have received a copy of the GNU Lesser General Public
 -;* License along with Libav; if not, write to the Free Software
 +;* License along with FFmpeg; if not, write to the Free Software
  ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  ;******************************************************************************
  
@@@ -28,7 -28,7 +28,7 @@@
  ; in blocks as conventient to the vector size.
  ; i.e. {4x real, 4x imaginary, 4x real, ...} (or 2x respectively)
  
 -%include "x86inc.asm"
 +%include "libavutil/x86/x86inc.asm"
  
  %if ARCH_X86_64
  %define pointer resq
@@@ -36,8 -36,6 +36,8 @@@
  %define pointer resd
  %endif
  
 +SECTION_RODATA
 +
  struc FFTContext
      .nbits:    resd 1
      .reverse:  resd 1
@@@ -49,6 -47,8 +49,6 @@@
      .tsin:     pointer 1
  endstruc
  
 -SECTION_RODATA
 -
  %define M_SQRT1_2 0.70710678118654752440
  %define M_COS_PI_1_8 0.923879532511287
  %define M_COS_PI_3_8 0.38268343236509
@@@ -388,7 -388,6 +388,7 @@@ fft32_interleave_avx
      sub r2d, mmsize/4
      jg .deint_loop
      ret
 +
  %endif
  
  INIT_XMM sse
@@@ -442,7 -441,7 +442,7 @@@ fft16_sse
  
  %macro FFT48_3DN 0
  align 16
- fft4_ %+ cpuname:
+ fft4 %+ SUFFIX:
      T2_3DN   m0, m1, Z(0), Z(1)
      mova     m2, Z(2)
      mova     m3, Z(3)
      ret
  
  align 16
- fft8_ %+ cpuname:
+ fft8 %+ SUFFIX:
      T2_3DN   m0, m1, Z(0), Z(1)
      mova     m2, Z(2)
      mova     m3, Z(3)
@@@ -593,12 -592,15 +593,15 @@@ DECL_PASS pass_interleave_3dnow, PASS_B
      call r2
  %endmacro ; FFT_DISPATCH
  
- %macro DECL_FFT 1-2 ; nbits, cpu, suffix
- %xdefine cpusuffix _ %+ cpuname
- %xdefine fullsuffix %2_ %+ cpuname
- %xdefine list_of_fft fft4 %+ cpusuffix SECTION_REL, fft8 %+ cpusuffix SECTION_REL
+ %macro DECL_FFT 1-2 ; nbits, suffix
+ %ifidn %0, 1
+ %xdefine fullsuffix SUFFIX
+ %else
+ %xdefine fullsuffix %2 %+ SUFFIX
+ %endif
+ %xdefine list_of_fft fft4 %+ SUFFIX SECTION_REL, fft8 %+ SUFFIX SECTION_REL
  %if %1>=5
- %xdefine list_of_fft list_of_fft, fft16 %+ cpusuffix SECTION_REL
+ %xdefine list_of_fft list_of_fft, fft16 %+ SUFFIX SECTION_REL
  %endif
  %if %1>=6
  %xdefine list_of_fft list_of_fft, fft32 %+ fullsuffix SECTION_REL
  
  align 16
  fft %+ n %+ fullsuffix:
-     call fft %+ n2 %+ cpusuffix
+     call fft %+ n2 %+ SUFFIX
      add r0, n*4 - (n&(-2<<%1))
-     call fft %+ n4 %+ cpusuffix
+     call fft %+ n4 %+ SUFFIX
      add r0, n*2 - (n2&(-2<<%1))
-     call fft %+ n4 %+ cpusuffix
+     call fft %+ n4 %+ SUFFIX
      sub r0, n*6 + (n2&(-2<<%1))
      lea r1, [cos_ %+ n]
      mov r2d, n4/2
@@@ -825,7 -827,7 +828,7 @@@ cglobal imdct_half, 3,12,8; FFTContext 
      mov  r0, r1
      mov  r1d, [r5+FFTContext.nbits]
  
-     FFT_DISPATCH _ %+ cpuname, r1
+     FFT_DISPATCH SUFFIX, r1
  
      mov  r0d, [r5+FFTContext.mdctsize]
      add  r6, r0
diff --combined libavformat/g723_1.c
index a12a47a,0000000..1e0fd07
mode 100644,000000..100644
--- /dev/null
@@@ -1,82 -1,0 +1,82 @@@
-     .extensions = "tco,rco",
 +/*
 + * G.723.1 demuxer
 + * Copyright (c) 2010 Mohamed Naufal Basheer
 + *
 + * This file is part of FFmpeg.
 + *
 + * FFmpeg is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU Lesser General Public
 + * License as published by the Free Software Foundation; either
 + * version 2.1 of the License, or (at your option) any later version.
 + *
 + * FFmpeg is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 + * Lesser General Public License for more details.
 + *
 + * You should have received a copy of the GNU Lesser General Public
 + * License along with FFmpeg; if not, write to the Free Software
 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 + */
 +
 +/**
 + * @file
 + * G.723.1 demuxer
 + */
 +
 +#include "avformat.h"
 +#include "internal.h"
 +
 +static const uint8_t frame_size[4] = {24, 20, 4, 1};
 +
 +static int g723_1_init(AVFormatContext *s)
 +{
 +    AVStream *st;
 +
 +    st = avformat_new_stream(s, NULL);
 +    if (!st)
 +        return AVERROR(ENOMEM);
 +
 +    st->codec->codec_type  = AVMEDIA_TYPE_AUDIO;
 +    st->codec->codec_id    = CODEC_ID_G723_1;
 +    st->codec->channels    = 1;
 +    st->codec->sample_rate = 8000;
 +
 +    avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate);
 +
 +    return 0;
 +}
 +
 +static int g723_1_read_packet(AVFormatContext *s, AVPacket *pkt)
 +{
 +    int size, byte, ret;
 +
 +    pkt->pos = avio_tell(s->pb);
 +    byte     = avio_r8(s->pb);
 +    size     = frame_size[byte & 3];
 +
 +    ret = av_new_packet(pkt, size);
 +    if (ret < 0)
 +        return ret;
 +
 +    pkt->data[0]      = byte;
 +    pkt->duration     = 240;
 +    pkt->stream_index = 0;
 +
 +    ret = avio_read(s->pb, pkt->data + 1, size - 1);
 +    if (ret < size - 1) {
 +        av_free_packet(pkt);
 +        return ret < 0 ? ret : AVERROR_EOF;
 +    }
 +
 +    return pkt->size;
 +}
 +
 +AVInputFormat ff_g723_1_demuxer = {
 +    .name        = "g723_1",
 +    .long_name   = NULL_IF_CONFIG_SMALL("G.723.1 format"),
 +    .read_header = g723_1_init,
 +    .read_packet = g723_1_read_packet,
++    .extensions = "tco,rco,g723_1",
 +    .flags = AVFMT_GENERIC_INDEX
 +};
diff --combined libavformat/http.c
@@@ -1,21 -1,21 +1,21 @@@
  /*
 - * HTTP protocol for avconv client
 + * HTTP protocol for ffmpeg client
   * Copyright (c) 2000, 2001 Fabrice Bellard
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -30,7 -30,7 +30,7 @@@
  #include "url.h"
  #include "libavutil/opt.h"
  
 -/* XXX: POST protocol is not completely implemented because avconv uses
 +/* XXX: POST protocol is not completely implemented because ffmpeg uses
     only a subset of it. */
  
  /* used for protocol handling */
@@@ -44,7 -44,6 +44,7 @@@ typedef struct 
      int line_count;
      int http_code;
      int64_t chunksize;      /**< Used if "Transfer-Encoding: chunked" otherwise -1. */
 +    char *user_agent;
      int64_t off, filesize;
      char location[MAX_URL_SIZE];
      HTTPAuthState auth_state;
      int chunked_post;
      int end_chunked_post;   /**< A flag which indicates if the end of chunked encoding has been sent. */
      int end_header;         /**< A flag which indicates we have finished to read POST reply. */
+     int multiple_requests;  /**< A flag which indicates if we use persistent connections. */
  } HTTPContext;
  
  #define OFFSET(x) offsetof(HTTPContext, x)
  #define D AV_OPT_FLAG_DECODING_PARAM
  #define E AV_OPT_FLAG_ENCODING_PARAM
 +#define DEC AV_OPT_FLAG_DECODING_PARAM
  static const AVOption options[] = {
  {"chunked_post", "use chunked transfer-encoding for posts", OFFSET(chunked_post), AV_OPT_TYPE_INT, {.dbl = 1}, 0, 1, E },
  {"headers", "custom HTTP headers, can override built in default headers", OFFSET(headers), AV_OPT_TYPE_STRING, { 0 }, 0, 0, D|E },
 +{"user-agent", "override User-Agent header", OFFSET(user_agent), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, DEC},
+ {"multiple_requests", "use persistent connections", OFFSET(multiple_requests), AV_OPT_TYPE_INT, {.dbl = 0}, 0, 1, D|E },
  {NULL}
  };
  #define HTTP_CLASS(flavor)\
@@@ -140,12 -139,16 +142,16 @@@ static int http_open_cnx(URLContext *h
      }
  
      ff_url_join(buf, sizeof(buf), lower_proto, NULL, hostname, port, NULL);
-     err = ffurl_open(&hd, buf, AVIO_FLAG_READ_WRITE,
-                      &h->interrupt_callback, NULL);
-     if (err < 0)
-         goto fail;
  
-     s->hd = hd;
+     if (!s->hd) {
+         err = ffurl_open(&hd, buf, AVIO_FLAG_READ_WRITE,
+                          &h->interrupt_callback, NULL);
+         if (err < 0)
+             goto fail;
+         s->hd = hd;
+     }
      cur_auth_type = s->auth_state.auth_type;
      cur_proxy_auth_type = s->auth_state.auth_type;
      if (http_connect(h, path, local_path, hoststr, auth, proxyauth, &location_changed) < 0)
      return AVERROR(EIO);
  }
  
+ int ff_http_do_new_request(URLContext *h, const char *uri)
+ {
+     HTTPContext *s = h->priv_data;
+     s->off = 0;
+     av_strlcpy(s->location, uri, sizeof(s->location));
+     return http_open_cnx(h);
+ }
  static int http_open(URLContext *h, const char *uri, int flags)
  {
      HTTPContext *s = h->priv_data;
@@@ -377,18 -390,25 +393,26 @@@ static int http_connect(URLContext *h, 
  
      /* set default headers if needed */
      if (!has_header(s->headers, "\r\nUser-Agent: "))
 -       len += av_strlcatf(headers + len, sizeof(headers) - len,
 -                          "User-Agent: %s\r\n", LIBAVFORMAT_IDENT);
 +        len += av_strlcatf(headers + len, sizeof(headers) - len,
 +                           "User-Agent: %s\r\n",
 +                           s->user_agent ? s->user_agent : LIBAVFORMAT_IDENT);
      if (!has_header(s->headers, "\r\nAccept: "))
          len += av_strlcpy(headers + len, "Accept: */*\r\n",
                            sizeof(headers) - len);
      if (!has_header(s->headers, "\r\nRange: ") && !post)
          len += av_strlcatf(headers + len, sizeof(headers) - len,
                             "Range: bytes=%"PRId64"-\r\n", s->off);
-     if (!has_header(s->headers, "\r\nConnection: "))
-         len += av_strlcpy(headers + len, "Connection: close\r\n",
-                           sizeof(headers)-len);
+     if (!has_header(s->headers, "\r\nConnection: ")) {
+         if (s->multiple_requests) {
+             len += av_strlcpy(headers + len, "Connection: keep-alive\r\n",
+                               sizeof(headers) - len);
+         } else {
+             len += av_strlcpy(headers + len, "Connection: close\r\n",
+                               sizeof(headers) - len);
+         }
+     }
      if (!has_header(s->headers, "\r\nHost: "))
          len += av_strlcatf(headers + len, sizeof(headers) - len,
                             "Host: %s\r\n", hoststr);
      s->filesize = -1;
      s->willclose = 0;
      s->end_chunked_post = 0;
+     s->end_header = 0;
      if (post) {
          /* Pretend that it did work. We didn't read any header yet, since
           * we've still to send the POST data, but the code calling this
diff --combined libavformat/http.h
@@@ -2,20 -2,20 +2,20 @@@
   * HTTP definitions
   * Copyright (c) 2010 Josh Allmann
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
   */
  void ff_http_init_auth_state(URLContext *dest, const URLContext *src);
  
+ /**
+  * Send a new HTTP request, reusing the old connection.
+  *
+  * @param h pointer to the ressource
+  * @param uri uri used to perform the request
+  * @return a negative value if an error condition occured, 0
+  * otherwise
+  */
+ int ff_http_do_new_request(URLContext *h, const char *uri);
  #endif /* AVFORMAT_HTTP_H */
@@@ -6,20 -6,20 +6,20 @@@
  ;* Authors: Loren Merritt <lorenm@u.washington.edu>
  ;*          Holger Lubitz <holger@lubitz.org>
  ;*
 -;* This file is part of Libav.
 +;* This file is part of FFmpeg.
  ;*
 -;* Libav is free software; you can redistribute it and/or
 +;* FFmpeg is free software; you can redistribute it and/or
  ;* modify it under the terms of the GNU Lesser General Public
  ;* License as published by the Free Software Foundation; either
  ;* version 2.1 of the License, or (at your option) any later version.
  ;*
 -;* Libav is distributed in the hope that it will be useful,
 +;* FFmpeg is distributed in the hope that it will be useful,
  ;* but WITHOUT ANY WARRANTY; without even the implied warranty of
  ;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  ;* Lesser General Public License for more details.
  ;*
  ;* You should have received a copy of the GNU Lesser General Public
 -;* License along with Libav; if not, write to the Free Software
 +;* License along with FFmpeg; if not, write to the Free Software
  ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  ;******************************************************************************
  
  %macro TRANSPOSE4x4PS 5
      SBUTTERFLYPS %1, %2, %5
      SBUTTERFLYPS %3, %4, %5
-     movaps  m%5, m%1
-     movlhps m%1, m%3
-     movhlps m%3, m%5
-     movaps  m%5, m%2
-     movlhps m%2, m%4
-     movhlps m%4, m%5
-     SWAP %2, %3
+     movlhps m%5, m%1, m%3
+     movhlps m%3, m%1
+     SWAP %5, %1
+     movlhps m%5, m%2, m%4
+     movhlps m%4, m%2
+     SWAP %5, %2, %3
  %endmacro
  
  %macro TRANSPOSE8x8W 9-11
diff --combined tests/Makefile
@@@ -1,21 -1,7 +1,19 @@@
- AREF = fate-acodec-aref
- VREF = fate-vsynth1-vref fate-vsynth2-vref
- REFS = $(AREF) $(VREF)
 +FFSERVER_REFFILE = $(SRC_PATH)/tests/ffserver.regression.ref
 +
- $(VREF): ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/vsynth2/00.pgm
- $(AREF): ffmpeg$(EXESUF) tests/data/asynth1.sw tests/data/asynth-16000-1.wav
+ VREF = tests/vsynth1/00.pgm
+ AREF = tests/data/asynth1.sw
 +
- OBJDIRS += tests/data tests/vsynth1 tests/vsynth2
 +$(AREF): CMP=
 +
 +ffservertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/data/asynth1.sw
 +      @echo
 +      @echo "Unfortunately ffserver is broken and therefore its regression"
 +      @echo "test fails randomly. Treat the results accordingly."
 +      @echo
 +      $(SRC_PATH)/tests/ffserver-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)/tests/ffserver.conf
 +
+ OBJDIRS += tests/data tests/vsynth1
  
  # Required due to missing automatic dependency tracking for HOSTOBJS.
  tests/rotozoom.o tests/videogen.o: tests/utils.c
  tests/vsynth1/00.pgm: tests/videogen$(HOSTEXESUF) | tests/vsynth1
        $(M)./$< 'tests/vsynth1/'
  
- tests/vsynth2/00.pgm: tests/rotozoom$(HOSTEXESUF) | tests/vsynth2
-       $(M)./$< 'tests/vsynth2/' $(SRC_PATH)/tests/lena.pnm
  tests/data/asynth1.sw: tests/audiogen$(HOSTEXESUF) | tests/data
        $(M)./$< $@
  
  tests/data/asynth-%.wav: tests/audiogen$(HOSTEXESUF) | tests/data
        $(M)./$< $@ $(subst -, ,$*)
  
- tests/data/%.sw tests/data/asynth% tests/vsynth%/00.pgm: TAG = GEN
+ tests/data/vsynth1.yuv: tests/videogen$(HOSTEXESUF) | tests/data
+       $(M)$< >$@
+ tests/data/vsynth2.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data
+       $(M)$< $(SRC_PATH)/tests/lena.pnm >$@
 -tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm: TAG = GEN
++tests/data/%.sw tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm: TAG = GEN
+ include $(SRC_PATH)/tests/fate/acodec.mak
+ include $(SRC_PATH)/tests/fate/vcodec.mak
  
  include $(SRC_PATH)/tests/fate/aac.mak
  include $(SRC_PATH)/tests/fate/ac3.mak
@@@ -55,7 -47,6 +59,7 @@@ include $(SRC_PATH)/tests/fate/image.ma
  include $(SRC_PATH)/tests/fate/indeo.mak
  include $(SRC_PATH)/tests/fate/libavcodec.mak
  include $(SRC_PATH)/tests/fate/libavutil.mak
 +include $(SRC_PATH)/tests/fate/mapchan.mak
  include $(SRC_PATH)/tests/fate/lossless-audio.mak
  include $(SRC_PATH)/tests/fate/lossless-video.mak
  include $(SRC_PATH)/tests/fate/microsoft.mak
@@@ -77,66 -68,44 +81,51 @@@ include $(SRC_PATH)/tests/fate/vqf.ma
  include $(SRC_PATH)/tests/fate/wavpack.mak
  include $(SRC_PATH)/tests/fate/wma.mak
  
- FATE_ACODEC  = $(ACODEC_TESTS:%=fate-acodec-%)
- FATE_VSYNTH1 = $(VCODEC_TESTS:%=fate-vsynth1-%)
- FATE_VSYNTH2 = $(VCODEC_TESTS:%=fate-vsynth2-%)
- FATE_VCODEC  = $(FATE_VSYNTH1) $(FATE_VSYNTH2)
 +FATE_LAVF_FATE = $(LAVF_FATE_TESTS:%=fate-lavf-fate-%)
  FATE_LAVF    = $(LAVF_TESTS:%=fate-lavf-%)
  FATE_LAVFI   = $(LAVFI_TESTS:%=fate-lavfi-%)
  FATE_SEEK    = $(SEEK_TESTS:seek_%=fate-seek-%)
  
- FATE_AVCONV += $(FATE_ACODEC)                                           \
-                $(FATE_VCODEC)                                           \
-                $(FATE_LAVF)                                             \
+ FATE_AVCONV += $(FATE_LAVF)                                             \
                 $(FATE_LAVFI)                                            \
                 $(FATE_SEEK)                                             \
  
 -FATE_AVCONV += $(FATE_AVCONV-yes)
 -FATE-$(CONFIG_AVCONV) += $(FATE_AVCONV)
 +FATE_FFMPEG += $(FATE_FFMPEG-yes) $(FATE_AVCONV) $(FATE_AVCONV-yes)
 +FATE-$(CONFIG_FFMPEG) += $(FATE_FFMPEG)
  
  FATE-$(CONFIG_AVCODEC)  += $(FATE_LIBAVCODEC)
  
 -FATE_SAMPLES-$(CONFIG_AVCONV) += $(FATE_SAMPLES_AVCONV)
 +FATE_SAMPLES-$(CONFIG_FFMPEG) += $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG)
  FATE_SAMPLES += $(FATE_SAMPLES-yes)
  
  FATE += $(FATE-yes)
  FATE += $(FATE_LIBAVUTIL)
  
 -$(FATE_AVCONV) $(FATE_SAMPLES_AVCONV): avconv$(EXESUF)
 +$(FATE_FFMPEG) $(FATE_LAVF_FATE) $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG): ffmpeg$(EXESUF)
  
- $(filter-out %-aref,$(FATE_ACODEC)): $(AREF)
- $(filter-out %-vref,$(FATE_VSYNTH1)): fate-vsynth1-vref
- $(filter-out %-vref,$(FATE_VSYNTH2)): fate-vsynth2-vref
- $(FATE_LAVF):   $(REFS)
- $(FATE_LAVFI):  $(REFS) tools/lavfi-showfiltfmts$(EXESUF)
- $(FATE_SEEK):   fate-codec fate-lavf libavformat/seek-test$(EXESUF)
+ $(FATE_LAVF):  $(AREF) $(VREF)
+ $(FATE_LAVFI): $(VREF) tools/lavfi-showfiltfmts$(EXESUF)
+ $(FATE_SEEK):  fate-acodec fate-vsynth2 fate-lavf libavformat/seek-test$(EXESUF)
  
- $(FATE_ACODEC):  CMD = codectest acodec
- $(FATE_VSYNTH1): CMD = codectest vsynth1
- $(FATE_VSYNTH2): CMD = codectest vsynth2
 +$(FATE_LAVF_FATE): CMD = lavffatetest
  $(FATE_LAVF):    CMD = lavftest
  $(FATE_LAVFI):   CMD = lavfitest
  $(FATE_SEEK):    CMD = seektest
  
- fate-codec:  fate-acodec fate-vcodec
- fate-acodec: $(FATE_ACODEC)
- fate-vcodec: $(FATE_VCODEC)
 +fate-lavf-fate: $(FATE_LAVF_FATE)
  fate-lavf:   $(FATE_LAVF)
  fate-lavfi:  $(FATE_LAVFI)
  fate-seek:   $(FATE_SEEK)
  
  ifdef SAMPLES
 +FATE += $(FATE_LAVF_FATE)
 +FATE += $(FATE_FULL) $(FATE_FULL-yes)
  FATE += $(FATE_SAMPLES)
  fate-rsync:
 -      rsync -vaLW rsync://fate-suite.libav.org/fate-suite/ $(SAMPLES)
 +      rsync -vaLW --timeout=60 --contimeout=60 rsync://fate.ffmpeg.org/fate-suite/ $(SAMPLES)
  else
 +fate::
 +      @echo "warning: only a subset of the fate tests will be run because SAMPLES is not specified"
  fate-rsync:
        @echo "use 'make fate-rsync SAMPLES=/path/to/samples' to sync the fate suite"
  $(FATE_SAMPLES):
@@@ -145,13 -114,11 +134,13 @@@ endi
  
  FATE_UTILS = base64 tiny_psnr
  
 -fate: $(FATE)
 +TOOL = ffmpeg
 +
 +fate:: $(FATE)
  
 -$(FATE): $(FATE_UTILS:%=tests/%$(HOSTEXESUF))
 +$(FATE) $(FATE_TESTS-no): $(FATE_UTILS:%=tests/%$(HOSTEXESUF))
        @echo "TEST    $(@:fate-%=%)"
-       $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' '$(SIZE_TOLERANCE)'
+       $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' '$(SIZE_TOLERANCE)' '$(CMP_UNIT)'
  
  fate-list:
        @printf '%s\n' $(sort $(FATE))
  clean:: testclean
  
  testclean:
 -      $(RM) -r tests/vsynth1 tests/vsynth2 tests/data
 +      $(RM) -r tests/vsynth1 tests/vsynth2 tests/data tools/lavfi-showfiltfmts$(EXESUF)
        $(RM) $(CLEANSUFFIXES:%=tests/%)
        $(RM) $(TESTTOOLS:%=tests/%$(HOSTEXESUF))
  
diff --combined tests/fate-run.sh
@@@ -21,6 -21,7 +21,7 @@@ cpuflags=${11:-all
  cmp_shift=${12:-0}
  cmp_target=${13:-0}
  size_tolerance=${14:-0}
+ cmp_unit=${15:-2}
  
  outdir="tests/data/fate"
  outfile="${outdir}/${test}"
@@@ -40,7 -41,7 +41,7 @@@ compare()
  }
  
  do_tiny_psnr(){
-     psnr=$(tests/tiny_psnr "$1" "$2" 2 $cmp_shift 0)
+     psnr=$(tests/tiny_psnr "$1" "$2" $cmp_unit $cmp_shift 0)
      val=$(expr "$psnr" : ".*$3: *\([0-9.]*\)")
      size1=$(expr "$psnr" : '.*bytes: *\([0-9]*\)')
      size2=$(expr "$psnr" : '.*bytes:[ 0-9]*/ *\([0-9]*\)')
@@@ -70,31 -71,31 +71,31 @@@ run()
  }
  
  probefmt(){
 -    run avprobe -show_format_entry format_name -v 0 "$@"
 +    run ffprobe -show_format_entry format_name -print_format default=nw=1:nk=1 -v 0 "$@"
  }
  
 -avconv(){
 -    run avconv -nostats -threads $threads -thread_type $thread_type -cpuflags $cpuflags "$@"
 +ffmpeg(){
 +    run ffmpeg -nostats -threads $threads -thread_type $thread_type -cpuflags $cpuflags "$@"
  }
  
  framecrc(){
 -    avconv "$@" -f framecrc -
 +    ffmpeg "$@" -f framecrc -
  }
  
  framemd5(){
 -    avconv "$@" -f framemd5 -
 +    ffmpeg "$@" -f framemd5 -
  }
  
  crc(){
 -    avconv "$@" -f crc -
 +    ffmpeg "$@" -f crc -
  }
  
  md5(){
 -    avconv "$@" md5:
 +    ffmpeg "$@" md5:
  }
  
  pcm(){
 -    avconv "$@" -vn -f s16le -
 +    ffmpeg "$@" -vn -f s16le -
  }
  
  enc_dec_pcm(){
      encfile="${outdir}/${test}.${out_fmt}"
      cleanfiles=$encfile
      encfile=$(target_path ${encfile})
 -    avconv -i $src_file "$@" -f $out_fmt -y ${encfile} || return
 -    avconv -f $out_fmt -i ${encfile} -c:a pcm_${pcm_fmt} -f ${dec_fmt} -
 +    ffmpeg -i $src_file "$@" -f $out_fmt -y ${encfile} || return
 +    ffmpeg -i ${encfile} -c:a pcm_${pcm_fmt} -f ${dec_fmt} -
  }
  
 -    avconv -f $src_fmt $DEC_OPTS -i $tsrcfile $ENC_OPTS $enc_opt $FLAGS \
+ FLAGS="-flags +bitexact -sws_flags +accurate_rnd+bitexact"
+ DEC_OPTS="-threads $threads -idct simple $FLAGS"
+ ENC_OPTS="-threads 1        -idct simple -dct fastint"
+ enc_dec(){
+     src_fmt=$1
+     srcfile=$2
+     enc_fmt=$3
+     enc_opt=$4
+     dec_fmt=$5
+     dec_opt=$6
+     encfile="${outdir}/${test}.${enc_fmt}"
+     decfile="${outdir}/${test}.out.${dec_fmt}"
+     cleanfiles="$cleanfiles $decfile"
+     test "$7" = -keep || cleanfiles="$cleanfiles $encfile"
+     tsrcfile=$(target_path $srcfile)
+     tencfile=$(target_path $encfile)
+     tdecfile=$(target_path $decfile)
 -    avconv $DEC_OPTS -i $tencfile $ENC_OPTS $dec_opt $FLAGS \
++    ffmpeg -f $src_fmt $DEC_OPTS -i $tsrcfile $ENC_OPTS $enc_opt $FLAGS \
+         -f $enc_fmt -y $tencfile || return
+     do_md5sum $encfile
+     echo $(wc -c $encfile)
++    ffmpeg $8 $DEC_OPTS -i $tencfile $ENC_OPTS $dec_opt $FLAGS \
+         -f $dec_fmt -y $tdecfile || return
+     do_md5sum $decfile
+     tests/tiny_psnr $srcfile $decfile $cmp_unit $cmp_shift
+ }
  regtest(){
      t="${test#$2-}"
      ref=${base}/ref/$2/$t
 -    ${base}/${1}-regression.sh $t $2 $3 "$target_exec" "$target_path" "$threads" "$thread_type" "$cpuflags"
 +    ${base}/${1}-regression.sh $t $2 $3 "$target_exec" "$target_path" "$threads" "$thread_type" "$cpuflags" "$samples"
 +}
 +
- codectest(){
-     regtest codec $1 tests/$1
- }
 +lavffatetest(){
 +    regtest lavf lavf-fate tests/vsynth1
  }
  
  lavftest(){
@@@ -139,10 -160,10 +164,10 @@@ seektest()
      case $t in
          image_*) file="tests/data/images/${t#image_}/%02d.${t#image_}" ;;
          *)       file=$(echo $t | tr _ '?')
-                  for d in acodec vsynth2 lavf; do
-                      test -f tests/data/$d/$file && break
+                  for d in fate/acodec- fate/vsynth2- lavf/; do
+                      test -f tests/data/$d$file && break
                   done
-                  file=$(echo tests/data/$d/$file)
+                  file=$(echo tests/data/$d$file)
                   ;;
      esac
      run libavformat/seek-test $target_path/$file
  mkdir -p "$outdir"
  
  exec 3>&2
$command > "$outfile" 2>$errfile
eval $command >"$outfile" 2>$errfile
  err=$?
  
  if [ $err -gt 128 ]; then
@@@ -177,9 -198,5 +202,9 @@@ f
  
  echo "${test}:${sig:-$err}:$($base64 <$cmpfile):$($base64 <$errfile)" >$repfile
  
 -test $err = 0 && rm -f $outfile $errfile $cmpfile $cleanfiles
 +if test $err = 0; then
 +    rm -f $outfile $errfile $cmpfile $cleanfiles
 +else
 +    echo "Test $test failed. Look at $errfile for details."
 +fi
  exit $err
diff --combined tests/fate/aac.mak
@@@ -71,25 -71,7 +71,25 @@@ FATE_AAC_CT = sbr_bc-ps_i.3gp  
  
  FATE_AAC += $(FATE_AAC_CT:%=fate-aac-ct-%)
  
 -FATE_SAMPLES_AVCONV += $(FATE_AAC)
 -fate-aac: $(FATE_AAC)
 +FATE_AAC_ENCODE += fate-aac-aref-encode
 +fate-aac-aref-encode: $(AREF)
 +fate-aac-aref-encode: CMD = enc_dec_pcm adts wav s16le $(REF) -strict -2 -c:a aac -b:a 512k
 +fate-aac-aref-encode: CMP = stddev
- fate-aac-aref-encode: REF = ./tests/data/acodec.ref.wav
++fate-aac-aref-encode: REF = ./tests/data/asynth-44100-2.wav
 +fate-aac-aref-encode: CMP_SHIFT = -4096
 +fate-aac-aref-encode: CMP_TARGET = 1862
 +fate-aac-aref-encode: SIZE_TOLERANCE = 2464
 +
 +FATE_AAC_ENCODE += fate-aac-ln-encode
 +fate-aac-ln-encode: CMD = enc_dec_pcm adts wav s16le $(REF) -strict -2 -c:a aac -b:a 512k
 +fate-aac-ln-encode: CMP = stddev
 +fate-aac-ln-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
 +fate-aac-ln-encode: CMP_SHIFT = -4096
 +fate-aac-ln-encode: CMP_TARGET = 65
 +fate-aac-ln-encode: SIZE_TOLERANCE = 3560
 +
 +FATE_SAMPLES_FFMPEG += $(FATE_AAC) $(FATE_AAC_ENCODE)
 +fate-aac: $(FATE_AAC) $(FATE_AAC_ENCODE)
 +
  $(FATE_AAC): CMP = oneoff
  $(FATE_AAC): FUZZ = 2
diff --combined tests/fate/ac3.mak
@@@ -46,5 -46,12 +46,12 @@@ fate-eac3-encode: CMP_TARGET = 514.0
  fate-eac3-encode: SIZE_TOLERANCE = 488
  fate-eac3-encode: FUZZ = 3
  
 -fate-ac3-fixed-encode: CMD = md5 -i $(SRC) -c ac3_fixed -b 128k -f ac3
+ FATE_AC3 += fate-ac3-fixed-encode
+ fate-ac3-fixed-encode: tests/data/asynth-44100-2.wav
+ fate-ac3-fixed-encode: SRC = tests/data/asynth-44100-2.wav
++fate-ac3-fixed-encode: CMD = md5 -i $(SRC) -c ac3_fixed -ab 128k -f ac3
+ fate-ac3-fixed-encode: CMP = oneline
+ fate-ac3-fixed-encode: REF = a1d1fc116463b771abf5aef7ed37d7b1
  FATE_SAMPLES_AVCONV += $(FATE_AC3)
  fate-ac3: $(FATE_AC3)
diff --combined tests/fate/acodec.mak
index 0000000,b4d0cea..58e742b
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,50 +1,69 @@@
 -fate-acodec-%: CMD = enc_dec wav $(SRC) $(FMT) "-b 128k -c $(CODEC)" wav "-c pcm_s16le" -keep
+ fate-acodec-%: CODEC = $(@:fate-acodec-%=%)
+ fate-acodec-%: SRC = tests/data/asynth-44100-2.wav
++fate-acodec-%: CMD = enc_dec wav $(SRC) $(FMT) "-b 128k -c $(CODEC) $(ENCOPTS)" wav "-c pcm_s16le $(DECOPTS)" -keep
+ fate-acodec-%: CMP_UNIT = 2
+ FATE_ACODEC_PCM = alaw mulaw                                            \
+                   s8 u8                                                 \
+                   s16be s16le                                           \
+                   s24be s24le                                           \
+                   s32be s32le                                           \
+                   f32be f32le                                           \
+                   f64be f64le
+ FATE_ACODEC += $(FATE_ACODEC_PCM:%=fate-acodec-pcm-%)
+ fate-acodec-pcm-%: FMT = wav
+ fate-acodec-pcm-%: CODEC = pcm_$(@:fate-acodec-pcm-%=%)
+ fate-acodec-pcm-s8:   FMT = mov
+ fate-acodec-pcm-s%be: FMT = mov
+ fate-acodec-pcm-f%be: FMT = au
+ FATE_ACODEC_ADPCM = adx ima_qt ima_wav ms swf yamaha
+ FATE_ACODEC += $(FATE_ACODEC_ADPCM:%=fate-acodec-adpcm-%)
+ fate-acodec-adpcm-%: CODEC = adpcm_$(@:fate-acodec-adpcm-%=%)
+ fate-acodec-adpcm-adx:     FMT = adx
+ fate-acodec-adpcm-ima_qt:  FMT = aiff
+ fate-acodec-adpcm-ima_wav: FMT = wav
+ fate-acodec-adpcm-ms:      FMT = wav
+ fate-acodec-adpcm-swf:     FMT = flv
+ fate-acodec-adpcm-yamaha:  FMT = wav
+ FATE_ACODEC += fate-acodec-mp2
+ fate-acodec-mp2: FMT = mp2
+ fate-acodec-mp2: CMP_SHIFT = -1924
+ FATE_ACODEC += fate-acodec-alac
+ fate-acodec-alac: FMT = mov
+ fate-acodec-alac: CODEC = alac -compression_level 1
+ FATE_ACODEC += fate-acodec-flac
+ fate-acodec-flac: FMT = flac
+ fate-acodec-flac: CODEC = flac -compression_level 2
++FATE_ACODEC += fate-acodec-g723_1
++fate-acodec-g723_1: FMT = g723_1
++fate-acodec-g723_1: CODEC = g723_1
++fate-acodec-g723_1: ENCOPTS = -b:a 6.3k -ac 1 -ar 8000
++#fate-acodec-g723_1: DECOPTS = -ac 2 -ar 44100
++
++FATE_ACODEC += fate-acodec-ra144
++fate-acodec-ra144: FMT = rm
++fate-acodec-ra144: CODEC = real_144
++fate-acodec-ra144: ENCOPTS = -ac 1
++fate-acodec-ra144: DECOPTS = -ac 2
++fate-acodec-ra144: CMP_SHIFT = -640
++
++FATE_ACODEC += fate-acodec-roqaudio
++fate-acodec-roqaudio: FMT = roq
++fate-acodec-roqaudio: CODEC = roq_dpcm
++fate-acodec-roqaudio: ENCOPTS = -ar 22050
++fate-acodec-roqaudio: DECOPTS = -ar 44100
++
+ $(FATE_ACODEC): tests/data/asynth-44100-2.wav
+ FATE_AVCONV += $(FATE_ACODEC)
+ fate-acodec: $(FATE_ACODEC)
diff --combined tests/fate/audio.mak
@@@ -10,47 -10,35 +10,47 @@@ fate-binkaudio-rdft: CMP = oneof
  fate-binkaudio-rdft: REF = $(SAMPLES)/bink/binkaudio_rdft.pcm
  fate-binkaudio-rdft: FUZZ = 2
  
 -FATE_SAMPLES_AVCONV += $(FATE_BINKAUDIO)
 +FATE_SAMPLES_AUDIO += $(FATE_BINKAUDIO)
  fate-binkaudio: $(FATE_BINKAUDIO)
  
 -FATE_SAMPLES_AVCONV += fate-bmv-audio
 +FATE_SAMPLES_AUDIO += fate-bmv-audio
  fate-bmv-audio: CMD = framecrc -i $(SAMPLES)/bmv/SURFING-partial.BMV -vn
  
 -FATE_SAMPLES_AVCONV += fate-delphine-cin-audio
 +FATE_SAMPLES_AUDIO += fate-delphine-cin-audio
  fate-delphine-cin-audio: CMD = framecrc -i $(SAMPLES)/delphine-cin/LOGO-partial.CIN -vn
  
 -FATE_SAMPLES_AVCONV += fate-dts
 +FATE_SAMPLES_AUDIO += fate-dts
  fate-dts: CMD = pcm -i $(SAMPLES)/dts/dts.ts
  fate-dts: CMP = oneoff
  fate-dts: REF = $(SAMPLES)/dts/dts.pcm
  
 -FATE_SAMPLES_AVCONV += fate-imc
 +FATE_SAMPLES_AUDIO += fate-imc
  fate-imc: CMD = pcm -i $(SAMPLES)/imc/imc.avi
  fate-imc: CMP = oneoff
  fate-imc: REF = $(SAMPLES)/imc/imc.pcm
  
 -FATE_SAMPLES_AVCONV += fate-nellymoser
 +FATE_SAMPLES_AUDIO += fate-nellymoser
  fate-nellymoser: CMD = pcm -i $(SAMPLES)/nellymoser/nellymoser.flv
  fate-nellymoser: CMP = oneoff
  fate-nellymoser: REF = $(SAMPLES)/nellymoser/nellymoser.pcm
  
 -FATE_SAMPLES_AVCONV += fate-sierra-vmd-audio
 +FATE_SAMPLES_AUDIO += fate-nellymoser-aref-encode
 +fate-nellymoser-aref-encode: $(AREF)
 +fate-nellymoser-aref-encode: CMD = enc_dec_pcm flv wav s16le $(REF) -c:a nellymoser
 +fate-nellymoser-aref-encode: CMP = stddev
- fate-nellymoser-aref-encode: REF = ./tests/data/acodec-16000-1.ref.wav
++fate-nellymoser-aref-encode: REF = ./tests/data/asynth-16000-1.wav
 +fate-nellymoser-aref-encode: CMP_SHIFT = -244
 +fate-nellymoser-aref-encode: CMP_TARGET = 9612
 +fate-nellymoser-aref-encode: SIZE_TOLERANCE = 268
 +
 +FATE_SAMPLES_AUDIO += fate-sierra-vmd-audio
  fate-sierra-vmd-audio: CMD = framecrc -i $(SAMPLES)/vmd/12.vmd -vn
  
 -FATE_SAMPLES_AVCONV += fate-smacker-audio
 +FATE_SAMPLES_AUDIO += fate-smacker-audio
  fate-smacker-audio: CMD = framecrc -i $(SAMPLES)/smacker/wetlogo.smk -vn
  
 -FATE_SAMPLES_AVCONV += fate-ws_snd
 +FATE_SAMPLES_AUDIO += fate-ws_snd
  fate-ws_snd: CMD = md5 -i $(SAMPLES)/vqa/ws_snd.vqa -f s16le
 +
 +FATE_SAMPLES_FFMPEG += $(FATE_SAMPLES_AUDIO)
 +fate-audio: $(FATE_SAMPLES_AUDIO)
diff --combined tests/fate/vcodec.mak
index 0000000,324320e..5d8366c
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,243 +1,288 @@@
 -fate-vsynth%: CMD = enc_dec "rawvideo -s 352x288 -pix_fmt yuv420p" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-s 352x288 -pix_fmt yuv420p $(DECOPTS)" -keep
+ fate-vsynth1-%: SRC = tests/data/vsynth1.yuv
+ fate-vsynth2-%: SRC = tests/data/vsynth2.yuv
+ fate-vsynth%: CODEC = $(word 3, $(subst -, ,$(@)))
+ fate-vsynth%: FMT = avi
 -fate-vsynth%-prores:             ENCOPTS = -profile hq
++fate-vsynth%: CMD = enc_dec "rawvideo -s 352x288 -pix_fmt yuv420p $(RAWDECOPTS)" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-s 352x288 -pix_fmt yuv420p -vsync 0 $(DECOPTS)" -keep "$(DECINOPTS)"
+ fate-vsynth%: CMP_UNIT = 1
++FATE_VCODEC += amv
++
+ FATE_VCODEC += asv1
+ fate-vsynth%-asv1:               ENCOPTS = -qscale 10
+ FATE_VCODEC += asv2
+ fate-vsynth%-asv2:               ENCOPTS = -qscale 10
+ FATE_VCODEC += cljr
+ FATE_VCODEC += dnxhd-720p
+ fate-vsynth%-dnxhd-720p:         ENCOPTS = -s hd720 -b 90M              \
+                                            -pix_fmt yuv422p -frames 5
+ fate-vsynth%-dnxhd-720p:         FMT     = dnxhd
+ FATE_VCODEC += dnxhd-720p-rd
+ fate-vsynth%-dnxhd-720p-rd:      ENCOPTS = -s hd720 -b 90M -threads 4 -mbd rd \
+                                            -pix_fmt yuv422p -frames 5
+ fate-vsynth%-dnxhd-720p-rd:      FMT     = dnxhd
+ FATE_VCODEC += dnxhd-720p-10bit
+ fate-vsynth%-dnxhd-720p-10bit:   ENCOPTS = -s hd720 -b 90M              \
+                                            -pix_fmt yuv422p10 -frames 5
+ fate-vsynth%-dnxhd-720p-10bit:   FMT     = dnxhd
+ FATE_VCODEC += dnxhd-1080i
+ fate-vsynth%-dnxhd-1080i:        ENCOPTS = -s hd1080 -b 120M -flags +ildct \
+                                            -pix_fmt yuv422p -frames 5
+ fate-vsynth%-dnxhd-1080i:        FMT     = mov
+ FATE_VCODEC += dv
+ fate-vsynth%-dv:                 CODEC   = dvvideo
+ fate-vsynth%-dv:                 ENCOPTS = -dct int -s pal
+ fate-vsynth%-dv:                 FMT     = dv
+ FATE_VCODEC += dv-411
+ fate-vsynth%-dv-411:             CODEC   = dvvideo
+ fate-vsynth%-dv-411:             ENCOPTS = -dct int -s pal -pix_fmt yuv411p \
+                                            -sws_flags area
+ fate-vsynth%-dv-411:             DECOPTS = -sws_flags area
+ fate-vsynth%-dv-411:             FMT     = dv
+ FATE_VCODEC += dv-50
+ fate-vsynth%-dv-50:              CODEC   = dvvideo
+ fate-vsynth%-dv-50:              ENCOPTS = -dct int -s pal -pix_fmt yuv422p \
+                                            -sws_flags neighbor
+ fate-vsynth%-dv-50:              DECOPTS = -sws_flags neighbor
+ fate-vsynth%-dv-50:              FMT     = dv
+ FATE_VCODEC += ffv1
+ fate-vsynth%-ffv1:               ENCOPTS = -strict -2
+ FATE_VCODEC += ffvhuff
+ FATE_VCODEC += flashsv
+ fate-vsynth%-flashsv:            ENCOPTS = -sws_flags neighbor+full_chroma_int
+ fate-vsynth%-flashsv:            DECOPTS = -sws_flags area
+ fate-vsynth%-flashsv:            FMT     = flv
++FATE_VCODEC += flashsv2
++fate-vsynth%-flashsv2:           ENCOPTS = -sws_flags neighbor+full_chroma_int -strict experimental -compression_level 0
++fate-vsynth%-flashsv2:           DECOPTS = -sws_flags area
++fate-vsynth%-flashsv2:           FMT     = flv
++
+ FATE_VCODEC += flv
+ fate-vsynth%-flv:                ENCOPTS = -qscale 10
+ fate-vsynth%-flv:                FMT     = flv
+ FATE_VCODEC += h261
+ fate-vsynth%-h261:               ENCOPTS = -qscale 11
+ FATE_VCODEC += h263
+ fate-vsynth%-h263:               ENCOPTS = -qscale 10
+ FATE_VCODEC += h263p
+ fate-vsynth%-h263p:              ENCOPTS = -qscale 2 -flags +aic -umv 1 -aiv 1 -ps 300
+ FATE_VCODEC += huffyuv
+ fate-vsynth%-huffyuv:            ENCOPTS = -pix_fmt yuv422p -sws_flags neighbor
+ fate-vsynth%-huffyuv:            DECOPTS = -strict -2 -sws_flags neighbor
+ FATE_VCODEC += jpegls
+ fate-vsynth%-jpegls:             ENCOPTS = -sws_flags neighbor+full_chroma_int
+ fate-vsynth%-jpegls:             DECOPTS = -sws_flags area
++FATE_VCODEC += j2k
++fate-vsynth%-j2k:                ENCOPTS = -qscale 7 -strict experimental -pix_fmt rgb24
++fate-vsynth%-j2k:                DECINOPTS = -vcodec j2k -strict experimental
++
+ FATE_VCODEC += ljpeg
+ fate-vsynth%-ljpeg:              ENCOPTS = -strict -1
+ FATE_VCODEC += mjpeg
+ fate-vsynth%-mjpeg:              ENCOPTS = -qscale 9 -pix_fmt yuvj420p
+ FATE_VCODEC += mpeg1
+ fate-vsynth%-mpeg1:              FMT     = mpeg1video
+ fate-vsynth%-mpeg1:              CODEC   = mpeg1video
+ fate-vsynth%-mpeg1:              ENCOPTS = -qscale 10
+ FATE_VCODEC += mpeg1b
+ fate-vsynth%-mpeg1b:             CODEC   = mpeg1video
+ fate-vsynth%-mpeg1b:             ENCOPTS = -qscale 8 -bf 3 -ps 200
+ fate-vsynth%-mpeg1b:             FMT     = mpeg1video
+ FATE_MPEG2 = mpeg2                                                      \
+              mpeg2-422                                                  \
+              mpeg2-idct-int                                             \
+              mpeg2-ilace                                                \
+              mpeg2-ivlc-qprd                                            \
+              mpeg2-thread                                               \
+              mpeg2-thread-ivlc
+ FATE_VCODEC += $(FATE_MPEG2)
+ $(FATE_MPEG2:%=fate-vsynth\%-%): FMT    = mpeg2video
+ $(FATE_MPEG2:%=fate-vsynth\%-%): CODEC  = mpeg2video
+ fate-vsynth%-mpeg2:              ENCOPTS = -qscale 10
+ fate-vsynth%-mpeg2-422:          ENCOPTS = -vb 1000k                    \
+                                            -bf 2                        \
+                                            -trellis 1                   \
+                                            -flags +mv0+ildct+ilme       \
+                                            -mpv_flags +qp_rd            \
+                                            -intra_vlc 1                 \
+                                            -mbd rd                      \
+                                            -pix_fmt yuv422p
+ fate-vsynth%-mpeg2-idct-int:     ENCOPTS = -qscale 10 -idct int -dct int
+ fate-vsynth%-mpeg2-ilace:        ENCOPTS = -qscale 10 -flags +ildct+ilme
+ fate-vsynth%-mpeg2-ivlc-qprd:    ENCOPTS = -vb 500k                     \
+                                            -bf 2                        \
+                                            -trellis 1                   \
+                                            -flags +mv0                  \
+                                            -mpv_flags +qp_rd            \
+                                            -intra_vlc 1                 \
+                                            -cmp 2 -subcmp 2             \
+                                            -mbd rd
+ fate-vsynth%-mpeg2-thread:       ENCOPTS = -qscale 10 -bf 2 -flags +ildct+ilme \
+                                            -threads 2 -slices 2
+ fate-vsynth%-mpeg2-thread-ivlc:  ENCOPTS = -qscale 10 -bf 2 -flags +ildct+ilme \
+                                            -intra_vlc 1 -threads 2 -slices 2
+ FATE_VCODEC += mpeg4
+ fate-vsynth%-mpeg4:              ENCOPTS = -qscale 10 -flags +mv4 -mbd bits
+ fate-vsynth%-mpeg4:              FMT     = mp4
+ FATE_VCODEC += mpeg4-rc
+ fate-vsynth%-mpeg4-rc:           ENCOPTS = -b 400k -bf 2
+ FATE_VCODEC += mpeg4-adv
+ fate-vsynth%-mpeg4-adv:          ENCOPTS = -qscale 9 -flags +mv4+aic       \
+                                            -data_partitioning 1 -trellis 1 \
+                                            -mbd bits -ps 200
+ FATE_VCODEC += mpeg4-qprd
+ fate-vsynth%-mpeg4-qprd:         ENCOPTS = -b 450k -bf 2 -trellis 1          \
+                                            -flags +mv4+mv0 -mpv_flags +qp_rd \
+                                            -cmp 2 -subcmp 2 -mbd rd
+ FATE_VCODEC += mpeg4-adap
+ fate-vsynth%-mpeg4-adap:         ENCOPTS = -b 550k -bf 2 -flags +mv4+mv0 \
+                                            -trellis 1 -cmp 1 -subcmp 2   \
+                                            -mbd rd -scplx_mask 0.3
+ FATE_VCODEC += mpeg4-qpel
+ fate-vsynth%-mpeg4-qpel:         ENCOPTS = -qscale 7 -flags +mv4+qpel -mbd 2 \
+                                            -bf 2 -cmp 1 -subcmp 2
+ FATE_VCODEC += mpeg4-thread
+ fate-vsynth%-mpeg4-thread:       ENCOPTS = -b 500k -flags +mv4+aic         \
+                                            -data_partitioning 1 -trellis 1 \
+                                            -mbd bits -ps 200 -bf 2         \
+                                            -threads 2 -slices 2
+ FATE_VCODEC += mpeg4-error
+ fate-vsynth%-mpeg4-error:        ENCOPTS = -qscale 7 -flags +mv4+aic    \
+                                            -data_partitioning 1 -mbd rd \
+                                            -ps 250 -error 10
+ FATE_VCODEC += mpeg4-nr
+ fate-vsynth%-mpeg4-nr:           ENCOPTS = -qscale 8 -flags +mv4 -mbd rd -nr 200
+ FATE_VCODEC += msmpeg4
+ fate-vsynth%-msmpeg4:            ENCOPTS = -qscale 10
+ FATE_VCODEC += msmpeg4v2
+ fate-vsynth%-msmpeg4v2:          ENCOPTS = -qscale 10
++FATE_VCODEC += mpng
++fate-vsynth%-mpng:               CODEC   = png
++
++FATE_VCODEC += msvideo1
++
+ FATE_VCODEC += prores
+ fate-vsynth%-prores:             FMT     = mov
++FATE_VCODEC += prores_kostya
++fate-vsynth%-prores_kostya:             ENCOPTS = -profile hq
++fate-vsynth%-prores_kostya:             FMT     = mov
++
+ FATE_VCODEC += qtrle
+ fate-vsynth%-qtrle:              FMT     = mov
++FATE_VCODEC += qtrlegray
++fate-vsynth%-qtrlegray:          CODEC   = qtrle
++fate-vsynth%-qtrlegray:          ENCOPTS = -pix_fmt gray
++fate-vsynth%-qtrlegray:          FMT     = mov
++
+ FATE_VCODEC += rgb
+ fate-vsynth%-rgb:                CODEC   = rawvideo
+ fate-vsynth%-rgb:                ENCOPTS = -pix_fmt bgr24
+ FATE_VCODEC += roqvideo
+ fate-vsynth%-roqvideo:           CODEC   = roqvideo
+ fate-vsynth%-roqvideo:           ENCOPTS = -frames 5
++fate-vsynth%-roqvideo:           RAWDECOPTS = -r 30
+ fate-vsynth%-roqvideo:           FMT     = roq
+ FATE_VCODEC += rv10
+ fate-vsynth%-rv10:               ENCOPTS = -qscale 10
+ fate-vsynth%-rv10:               FMT     = rm
+ FATE_VCODEC += rv20
+ fate-vsynth%-rv20:               ENCOPTS = -qscale 10
+ fate-vsynth%-rv20:               FMT     = rm
+ FATE_VCODEC += snow
+ fate-vsynth%-snow:               ENCOPTS = -strict -2 -qscale 2 -flags +qpel \
+                                            -me_method iter -dia_size 2       \
+                                            -cmp 12 -subcmp 12 -s 128x64
+ FATE_VCODEC += snow-ll
+ fate-vsynth%-snow-ll:            ENCOPTS = -strict -2 -qscale .001 -pred 1 \
+                                            -flags +mv4+qpel
+ FATE_VCODEC += svq1
+ fate-vsynth%-svq1:               ENCOPTS = -qscale 3 -pix_fmt yuv410p
+ fate-vsynth%-svq1:               FMT     = mov
++FATE_VCODEC += r210
++
+ FATE_VCODEC += v210
++FATE_VCODEC += v308
++
++FATE_VCODEC += v408
++fate-vsynth%-v408:               ENCOPTS = -sws_flags neighbor+bitexact
++fate-vsynth%-v408:               DECOPTS = -sws_flags neighbor+bitexact
++
++FATE_VCODEC += avui
++fate-vsynth%-avui:               ENCOPTS = -s pal -strict experimental -sws_flags neighbor+bitexact
++fate-vsynth%-avui:               DECOPTS = -sws_flags neighbor+bitexact
++fate-vsynth%-avui:               FMT     = mov
++
+ FATE_VCODEC += wmv1
+ fate-vsynth%-wmv1:               ENCOPTS = -qscale 10
+ FATE_VCODEC += wmv2
+ fate-vsynth%-wmv2:               ENCOPTS = -qscale 10
+ FATE_VCODEC += yuv
+ fate-vsynth%-yuv:                CODEC = rawvideo
++FATE_VCODEC += yuv4
++
++FATE_VCODEC += y41p
++
++FATE_VCODEC += zlib
++
++
+ FATE_VSYNTH1 = $(FATE_VCODEC:%=fate-vsynth1-%)
+ FATE_VSYNTH2 = $(FATE_VCODEC:%=fate-vsynth2-%)
+ $(FATE_VSYNTH1): tests/data/vsynth1.yuv
+ $(FATE_VSYNTH2): tests/data/vsynth2.yuv
+ FATE_AVCONV += $(FATE_VSYNTH1) $(FATE_VSYNTH2)
+ fate-vsynth1: $(FATE_VSYNTH1)
+ fate-vsynth2: $(FATE_VSYNTH2)
+ fate-vcodec:  fate-vsynth1 fate-vsynth2
index 0000000,79b8c60..8001527
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -057d27978b35888776512e4e9669a63b *tests/data/fate/acodec-adpcm-ima_qt.aiff
++23cbae1182e150ebf28e0abfb9cba127 *tests/data/fate/acodec-adpcm-ima_qt.aiff
+ 281252 tests/data/fate/acodec-adpcm-ima_qt.aiff
 -169c40435c68d50112c9c61fc67e446d *tests/data/fate/acodec-adpcm-ima_qt.out.wav
 -stddev:  918.61 PSNR: 37.07 MAXDIFF:34029 bytes:  1058400/  1058560
++b0fafd002c38fb70acaddfda1a31ed61 *tests/data/fate/acodec-adpcm-ima_qt.out.wav
++stddev:  904.76 PSNR: 37.20 MAXDIFF:34029 bytes:  1058400/  1058560
index a50c30a,0000000..a50c30a
mode 100644,000000..100644
--- /dev/null
@@@ -1,4 -1,0 +1,4 @@@
 +23cbae1182e150ebf28e0abfb9cba127 *./tests/data/acodec/adpcm_qt.aiff
 +281252 ./tests/data/acodec/adpcm_qt.aiff
 +b0fafd002c38fb70acaddfda1a31ed61 *./tests/data/adpcm_ima_qt.acodec.out.wav
 +stddev:  904.76 PSNR: 37.20 MAXDIFF:34029 bytes:  1058560/  1058400
index 0000000,10ff211..6f52d8b
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -238759bcb462fe9697973f4dd04d5b54 *tests/data/fate/acodec-alac.mov
 -389234 tests/data/fate/acodec-alac.mov
++1e5266b204b33ab4608e368d309716cb *tests/data/fate/acodec-alac.mov
++388994 tests/data/fate/acodec-alac.mov
+ 64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-alac.out.wav
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
index d70876d,0000000..d70876d
mode 100644,000000..100644
--- /dev/null
@@@ -1,4 -1,0 +1,4 @@@
 +64151e4bcc2b717aa5a8454d424d6a1f *./tests/data/acodec.ref.wav
 +1058446 ./tests/data/acodec.ref.wav
 +ce524631c2ad0a40aaab46e3a80a1176 *./tests/data/acodec-16000-1.ref.wav
 +192046 ./tests/data/acodec-16000-1.ref.wav
index f4f4a19,0000000..f4f4a19
mode 100644,000000..100644
--- /dev/null
@@@ -1,4 -1,0 +1,4 @@@
 +66bd0e602be7fb97dc19151554c0ee29 *./tests/data/acodec/dca.dts
 +1097124 ./tests/data/acodec/dca.dts
 +stddev: 8944.44 PSNR: 17.30 MAXDIFF:56478 bytes:  1060864/  1058400
 +stddev: 2424.93 PSNR: 28.64 MAXDIFF:13723 bytes:  1058944/  1058400
index 0000000,3ef32c2..1cc3770
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -f582b59cc68adfcb3342dcfd7e020b71 *tests/data/fate/acodec-flac.flac
 -361581 tests/data/fate/acodec-flac.flac
++151eef9097f944726968bec48649f00a *tests/data/fate/acodec-flac.flac
++361582 tests/data/fate/acodec-flac.flac
+ 64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-flac.out.wav
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
index 0000000,0000000..6452661
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++d34f35011a3d596eb359cc62c92fa737 *tests/data/fate/acodec-g723_1.g723_1
++4800 tests/data/fate/acodec-g723_1.g723_1
++bc1807ce2a90997c09df66ced6900ebc *tests/data/fate/acodec-g723_1.out.wav
++stddev: 8507.27 PSNR: 17.73 MAXDIFF:26473 bytes:  1058400/    96000
index 0000000,f76e89c..00285b8
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -53c9eb319c778e7ce137667f62384994 *tests/data/fate/acodec-pcm-s16be.mov
 -1060073 tests/data/fate/acodec-pcm-s16be.mov
++a874f5c08b8d104a6bbf41b21454180d *tests/data/fate/acodec-pcm-s16be.mov
++1059045 tests/data/fate/acodec-pcm-s16be.mov
+ 64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s16be.out.wav
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
index 0000000,51972ca..894844a
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -af8acd2f08e4bbebe7f4bea4d6f59dd6 *tests/data/fate/acodec-pcm-s24be.mov
 -1589273 tests/data/fate/acodec-pcm-s24be.mov
++833d4afd907139af7106a5642a9c23d3 *tests/data/fate/acodec-pcm-s24be.mov
++1588245 tests/data/fate/acodec-pcm-s24be.mov
+ 64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s24be.out.wav
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
index 0000000,f2b6c44..5360fc1
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -63f0e22b4f7c5d61d75047d85f140d52 *tests/data/fate/acodec-pcm-s32be.mov
 -2118473 tests/data/fate/acodec-pcm-s32be.mov
++c02c96e37b321f2c978968e3a102c669 *tests/data/fate/acodec-pcm-s32be.mov
++2117449 tests/data/fate/acodec-pcm-s32be.mov
+ 64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s32be.out.wav
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
index 0000000,b471b2c..e7c09f4
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -4b3013a3f3c328ecdb617cd88b3fe836 *tests/data/fate/acodec-pcm-s8.mov
 -530873 tests/data/fate/acodec-pcm-s8.mov
++111d465266385298fde83005402ac171 *tests/data/fate/acodec-pcm-s8.mov
++529829 tests/data/fate/acodec-pcm-s8.mov
+ 651d4eb8d98dfcdda96ae6c43d8f156b *tests/data/fate/acodec-pcm-s8.out.wav
+ stddev:  147.89 PSNR: 52.93 MAXDIFF:  255 bytes:  1058400/  1058400
index 0000000,0000000..129b276
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++d6740bee5e20fa665e6c94298125b834 *tests/data/fate/acodec-ra144.rm
++53227 tests/data/fate/acodec-ra144.rm
++16d1a0d6cae06cf8a4db009d0fe7a952 *tests/data/fate/acodec-ra144.out.wav
++stddev: 5696.26 PSNR: 21.22 MAXDIFF:44956 bytes:  1058400/  1058560
index 0000000,0000000..ec28668
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++c8ff13cf7ebece23af76502f5785202e *tests/data/fate/acodec-roqaudio.roq
++265992 tests/data/fate/acodec-roqaudio.roq
++709fd60aea880c73b375094ab5307c77 *tests/data/fate/acodec-roqaudio.out.wav
++stddev: 4610.71 PSNR: 23.05 MAXDIFF:43883 bytes:  1058400/  1058400
index 0000000,0000000..a2d1141
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++539c26ba470de4d72279855fcf61f5a2 *tests/data/fate/vsynth1-amv.avi
++1365534 tests/data/fate/vsynth1-amv.avi
++cd45dca00f94927bb36ade2ea7d1f77e *tests/data/fate/vsynth1-amv.out.rawvideo
++stddev:   10.07 PSNR: 28.06 MAXDIFF:   98 bytes:  7603200/  7603200
index 0000000,0000000..810c694
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++6eaf08e0e02bccb135b934c5036eac25 *tests/data/fate/vsynth1-avui.mov
++42624903 tests/data/fate/vsynth1-avui.mov
++c5ccac874dbf808e9088bc3107860042 *tests/data/fate/vsynth1-avui.out.rawvideo
++stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,41d40c9..77d73b2
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -b4d3d31da0b4b6873ad8239d113c91d2 *tests/data/fate/vsynth1-cljr.avi
++041982e4fa83428c621a127647d47b3f *tests/data/fate/vsynth1-cljr.avi
+ 5075660 tests/data/fate/vsynth1-cljr.avi
 -72e01607bae16527bc6389cf6db00b5f *tests/data/fate/vsynth1-cljr.out.rawvideo
 -stddev:    6.95 PSNR: 31.28 MAXDIFF:   86 bytes:  7603200/  7603200
++7bd979b8b397f7bac22a0102c7889452 *tests/data/fate/vsynth1-cljr.out.rawvideo
++stddev:    6.74 PSNR: 31.55 MAXDIFF:   84 bytes:  7603200/  7603200
index 0000000,1eddbf8..3a9fd66
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -3cfbe36a7dd5b48859b8a569d626ef77 *tests/data/fate/vsynth1-dnxhd-1080i.mov
 -3031875 tests/data/fate/vsynth1-dnxhd-1080i.mov
++027c985483caab9397592bf27477dce1 *tests/data/fate/vsynth1-dnxhd-1080i.mov
++3031911 tests/data/fate/vsynth1-dnxhd-1080i.mov
+ 0c651e840f860592f0d5b66030d9fa32 *tests/data/fate/vsynth1-dnxhd-1080i.out.rawvideo
+ stddev:    6.29 PSNR: 32.15 MAXDIFF:   64 bytes:  7603200/   760320
index f8f6df0,0000000..f8f6df0
mode 100644,000000..100644
--- /dev/null
@@@ -1,4 -1,0 +1,4 @@@
 +027c985483caab9397592bf27477dce1 *./tests/data/vsynth1/dnxhd-1080i.mov
 +3031911 ./tests/data/vsynth1/dnxhd-1080i.mov
 +0c651e840f860592f0d5b66030d9fa32 *./tests/data/dnxhd_1080i.vsynth1.out.yuv
 +stddev:    6.29 PSNR: 32.15 MAXDIFF:   64 bytes:   760320/  7603200
index 0000000,f5a37ad..d051e8d
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -27ade3031b17214cf81c19cbf70f37d7 *tests/data/fate/vsynth1-dv.dv
++4d572f758b55a1756adf9f54132f3b9e *tests/data/fate/vsynth1-dv.dv
+ 7200000 tests/data/fate/vsynth1-dv.dv
+ 02ac7cdeab91d4d5621e7ce96dddc498 *tests/data/fate/vsynth1-dv.out.rawvideo
+ stddev:    6.90 PSNR: 31.34 MAXDIFF:   76 bytes:  7603200/  7603200
index 0000000,a1f07da..bc4b802
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -bd67f2431db160d4bb6dcd791cea6efd *tests/data/fate/vsynth1-dv-411.dv
++f179899efba432c6f01149c36c709092 *tests/data/fate/vsynth1-dv-411.dv
+ 7200000 tests/data/fate/vsynth1-dv-411.dv
+ 53946d51762b7826773e681fb02f377b *tests/data/fate/vsynth1-dv-411.out.rawvideo
+ stddev:    9.45 PSNR: 28.62 MAXDIFF:   84 bytes:  7603200/  7603200
index 0000000,18ee398..e747075
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -26dba84f0ea895b914ef5b333d8394ac *tests/data/fate/vsynth1-dv-50.dv
++a193c5f92bf6e74c604e759d5f4f0f94 *tests/data/fate/vsynth1-dv-50.dv
+ 14400000 tests/data/fate/vsynth1-dv-50.dv
+ a2ff093e93ffed10f730fa21df02fc50 *tests/data/fate/vsynth1-dv-50.out.rawvideo
+ stddev:    1.72 PSNR: 43.38 MAXDIFF:   29 bytes:  7603200/  7603200
index c45b593,0000000..c45b593
mode 100644,000000..100644
--- /dev/null
@@@ -1,4 -1,0 +1,4 @@@
 +f179899efba432c6f01149c36c709092 *./tests/data/vsynth1/dv411.dv
 +7200000 ./tests/data/vsynth1/dv411.dv
 +b6640a3a572353f51284acb746eb00c4 *./tests/data/dv_411.vsynth1.out.yuv
 +stddev:   30.76 PSNR: 18.37 MAXDIFF:  205 bytes:  7603200/  7603200
index 0000000,67f4b35..fc44dff
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -da0c0bd12ac141c976ffa6a71832ab4b *tests/data/fate/vsynth1-ffvhuff.avi
++0632ffae6f1e06dd299bf41a845b9099 *tests/data/fate/vsynth1-ffvhuff.avi
+ 5987208 tests/data/fate/vsynth1-ffvhuff.avi
+ c5ccac874dbf808e9088bc3107860042 *tests/data/fate/vsynth1-ffvhuff.out.rawvideo
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,b934d8d..8b27830
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -947cb24ec45a453348ae6fe3fa278071 *tests/data/fate/vsynth1-flashsv.out.rawvideo
 -stddev:    2.85 PSNR: 39.03 MAXDIFF:   49 bytes:  7603200/  7603200
+ 97894502b4cb57aca1105b6333f72dae *tests/data/fate/vsynth1-flashsv.flv
+ 14681925 tests/data/fate/vsynth1-flashsv.flv
++791e1fb999deb2e4156e2286d48c4ed1 *tests/data/fate/vsynth1-flashsv.out.rawvideo
++stddev:    2.84 PSNR: 39.04 MAXDIFF:   49 bytes:  7603200/  7603200
index 0000000,0000000..d21d63f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++8d105780bb79915bc36f96f7a754f289 *tests/data/fate/vsynth1-flashsv2.flv
++9371095 tests/data/fate/vsynth1-flashsv2.flv
++efa88d09115a2e947eff00ee435ba3f3 *tests/data/fate/vsynth1-flashsv2.out.rawvideo
++stddev:    3.47 PSNR: 37.31 MAXDIFF:   49 bytes:  7603200/  7603200
index 0000000,e237af5..3d55c6b
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -ace2536fa169d835d0fb332abde28d51 *tests/data/fate/vsynth1-huffyuv.avi
++f5f2e109af0612694ff3cd6464063e82 *tests/data/fate/vsynth1-huffyuv.avi
+ 7933800 tests/data/fate/vsynth1-huffyuv.avi
+ c5ccac874dbf808e9088bc3107860042 *tests/data/fate/vsynth1-huffyuv.out.rawvideo
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,0000000..e434db8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++8da8ef50cccb9996f4bebbc585c4edb4 *tests/data/fate/vsynth1-j2k.avi
++2306914 tests/data/fate/vsynth1-j2k.avi
++ee9b245b3b07eed90bc6f2147bbd916c *tests/data/fate/vsynth1-j2k.out.rawvideo
++stddev:    5.47 PSNR: 33.37 MAXDIFF:   64 bytes:  7603200/  7603200
index 0000000,68ae0b2..de4f109
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -947cb24ec45a453348ae6fe3fa278071 *tests/data/fate/vsynth1-jpegls.out.rawvideo
 -stddev:    2.85 PSNR: 39.03 MAXDIFF:   49 bytes:  7603200/  7603200
+ 870dceeb6d3931dd68b34f0c33be5d26 *tests/data/fate/vsynth1-jpegls.avi
+ 9089812 tests/data/fate/vsynth1-jpegls.avi
++791e1fb999deb2e4156e2286d48c4ed1 *tests/data/fate/vsynth1-jpegls.out.rawvideo
++stddev:    2.84 PSNR: 39.04 MAXDIFF:   49 bytes:  7603200/  7603200
index 0000000,9a917d0..988c921
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -59a9e2eed314abface66aaf1b45eb8f2 *tests/data/fate/vsynth1-mpeg4.mp4
 -540180 tests/data/fate/vsynth1-mpeg4.mp4
++6ea715a2de70af8d37128ce643e4cca0 *tests/data/fate/vsynth1-mpeg4.mp4
++539996 tests/data/fate/vsynth1-mpeg4.mp4
+ 8828a375448dc5c2215163ba70656f89 *tests/data/fate/vsynth1-mpeg4.out.rawvideo
+ stddev:    7.97 PSNR: 30.10 MAXDIFF:  105 bytes:  7603200/  7603200
index 0000000,0000000..875d81b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++a8e7393fa534289eee9319ded7807f99 *tests/data/fate/vsynth1-mpng.avi
++12157242 tests/data/fate/vsynth1-mpng.avi
++93695a27c24a61105076ca7b1f010bbd *tests/data/fate/vsynth1-mpng.out.rawvideo
++stddev:    3.42 PSNR: 37.44 MAXDIFF:   48 bytes:  7603200/  7603200
index 0000000,0000000..9beb739
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++37aa67b5928794534cb6a268d4adf48c *tests/data/fate/vsynth1-msvideo1.avi
++2162264 tests/data/fate/vsynth1-msvideo1.avi
++c0665fac1bd896b6fe7fe0eead805bd5 *tests/data/fate/vsynth1-msvideo1.out.rawvideo
++stddev:   11.80 PSNR: 26.69 MAXDIFF:  151 bytes:  7603200/  7603200
index 0000000,ac30a6a..1df41d6
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -2566517b15c62887bd94daaab1b1a85b *tests/data/fate/vsynth1-prores.mov
 -3859037 tests/data/fate/vsynth1-prores.mov
 -0a4153637d0cc0a88a8bcbf04cfaf8c6 *tests/data/fate/vsynth1-prores.out.rawvideo
 -stddev:    3.17 PSNR: 38.09 MAXDIFF:   39 bytes:  7603200/  7603200
++31159cc9d1693bc66ad7a3083c48bcc4 *tests/data/fate/vsynth1-prores.mov
++5022811 tests/data/fate/vsynth1-prores.mov
++a2e2d1d45341a94ff994d1d92629f778 *tests/data/fate/vsynth1-prores.out.rawvideo
++stddev:    2.47 PSNR: 40.27 MAXDIFF:   31 bytes:  7603200/  7603200
index 0000000,0000000..c9350e9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++f8fe98b7f9bb66857c81dbca409a9037 *tests/data/fate/vsynth1-prores_kostya.mov
++3858901 tests/data/fate/vsynth1-prores_kostya.mov
++0a4153637d0cc0a88a8bcbf04cfaf8c6 *tests/data/fate/vsynth1-prores_kostya.out.rawvideo
++stddev:    3.17 PSNR: 38.09 MAXDIFF:   39 bytes:  7603200/  7603200
index 0000000,c9c8ccf..8c12699
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -7d75328a17e04796a39fe9be3a322946 *tests/data/fate/vsynth1-qtrle.mov
 -15263232 tests/data/fate/vsynth1-qtrle.mov
 -243325fb2cae1a9245efd49aff936327 *tests/data/fate/vsynth1-qtrle.out.rawvideo
 -stddev:    3.42 PSNR: 37.43 MAXDIFF:   48 bytes:  7603200/  7603200
++9c6ee876369fceac1ff2478a0225bc9b *tests/data/fate/vsynth1-qtrle.mov
++15263148 tests/data/fate/vsynth1-qtrle.mov
++93695a27c24a61105076ca7b1f010bbd *tests/data/fate/vsynth1-qtrle.out.rawvideo
++stddev:    3.42 PSNR: 37.44 MAXDIFF:   48 bytes:  7603200/  7603200
index 0000000,0000000..3fe3e30
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++dfb185e38b3557eca0ead72d57ca48f8 *tests/data/fate/vsynth1-qtrlegray.mov
++5113284 tests/data/fate/vsynth1-qtrlegray.mov
++29def4aed035ed65d3a89f7d382fccbe *tests/data/fate/vsynth1-qtrlegray.out.rawvideo
++stddev:   25.95 PSNR: 19.85 MAXDIFF:  122 bytes:  7603200/  7603200
index 0000000,0000000..68cdac8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++604a34c9f9151891c2d63d2652b75329 *tests/data/fate/vsynth1-r210.avi
++22125260 tests/data/fate/vsynth1-r210.avi
++ecaafa9eec11b5e1453a63ed6d194eed *tests/data/fate/vsynth1-r210.out.rawvideo
++stddev:    3.23 PSNR: 37.94 MAXDIFF:   48 bytes:  7603200/  7603200
index 0000000,e9a5b19..94e11e9
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -243325fb2cae1a9245efd49aff936327 *tests/data/fate/vsynth1-rgb.out.rawvideo
 -stddev:    3.42 PSNR: 37.43 MAXDIFF:   48 bytes:  7603200/  7603200
+ 05f0719cb52486d9a4beb9cfae3f2571 *tests/data/fate/vsynth1-rgb.avi
+ 15213260 tests/data/fate/vsynth1-rgb.avi
++93695a27c24a61105076ca7b1f010bbd *tests/data/fate/vsynth1-rgb.out.rawvideo
++stddev:    3.42 PSNR: 37.44 MAXDIFF:   48 bytes:  7603200/  7603200
index 0000000,0f8a6b2..0c40dbd
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -5c9d8734693f3cab57f61e76b5b6da7d *tests/data/fate/vsynth1-svq1.mov
 -1334367 tests/data/fate/vsynth1-svq1.mov
++4654e7af0d4aa58c3db1eb145e278038 *tests/data/fate/vsynth1-svq1.mov
++1334223 tests/data/fate/vsynth1-svq1.mov
+ 9cc35c54b2c77d36bd7e308b393c1f81 *tests/data/fate/vsynth1-svq1.out.rawvideo
+ stddev:    9.58 PSNR: 28.50 MAXDIFF:  210 bytes:  7603200/  7603200
index 0000000,0000000..137dcf9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++8d5f2065ce6547acc51041a679b7d6c4 *tests/data/fate/vsynth1-v308.avi
++15213260 tests/data/fate/vsynth1-v308.avi
++10fb42f1abf40a289c3edafc0390482c *tests/data/fate/vsynth1-v308.out.rawvideo
++stddev:    2.67 PSNR: 39.60 MAXDIFF:   43 bytes:  7603200/  7603200
index 0000000,0000000..c7f414c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++98057c4d5ce12a1b1b3ca15839f47c95 *tests/data/fate/vsynth1-v408.avi
++20282060 tests/data/fate/vsynth1-v408.avi
++c5ccac874dbf808e9088bc3107860042 *tests/data/fate/vsynth1-v408.out.rawvideo
++stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,0000000..d2147f6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++70bbcb52acac0a3cb3217719669a8242 *tests/data/fate/vsynth1-y41p.avi
++7610060 tests/data/fate/vsynth1-y41p.avi
++3aef1d83732a3f9835ee2523a11c95c1 *tests/data/fate/vsynth1-y41p.out.rawvideo
++stddev:    5.98 PSNR: 32.59 MAXDIFF:   87 bytes:  7603200/  7603200
index 0000000,927a64a..5dc29aa
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -aa6b9e862aebcf8902a6d770e7729d59 *tests/data/fate/vsynth1-yuv.avi
++eaa66c3b27a2602e882befe154a8b119 *tests/data/fate/vsynth1-yuv.avi
+ 7610060 tests/data/fate/vsynth1-yuv.avi
+ c5ccac874dbf808e9088bc3107860042 *tests/data/fate/vsynth1-yuv.out.rawvideo
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,0000000..5b7b925
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++e0d593eb635432f421b93224e425ee03 *tests/data/fate/vsynth1-yuv4.avi
++7610060 tests/data/fate/vsynth1-yuv4.avi
++c5ccac874dbf808e9088bc3107860042 *tests/data/fate/vsynth1-yuv4.out.rawvideo
++stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,0000000..068f154
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++fe4983e551b48dc555e1aeaf628f649f *tests/data/fate/vsynth1-zlib.avi
++12108644 tests/data/fate/vsynth1-zlib.avi
++93695a27c24a61105076ca7b1f010bbd *tests/data/fate/vsynth1-zlib.out.rawvideo
++stddev:    3.42 PSNR: 37.44 MAXDIFF:   48 bytes:  7603200/  7603200
index 0000000,0000000..c608c4b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++09bae55394f86ddb9e5c3254b174f865 *tests/data/fate/vsynth1-zmbv.avi
++2285442 tests/data/fate/vsynth1-zmbv.avi
++4ad1ca9de7c65eab68a619c54fffaec8 *tests/data/fate/vsynth1-zmbv.out.rawvideo
++stddev:    8.61 PSNR: 29.43 MAXDIFF:   64 bytes:  7603200/  7603200
index 0000000,0000000..fa0672d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++816a4226fe7640a835139f8a44286a12 *tests/data/fate/vsynth2-amv.avi
++761976 tests/data/fate/vsynth2-amv.avi
++4f8991a2b25c90f44b18c4b83eb0090d *tests/data/fate/vsynth2-amv.out.rawvideo
++stddev:    4.30 PSNR: 35.46 MAXDIFF:   65 bytes:  7603200/  7603200
index 0000000,0000000..f24023c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++3f7c7bb5eba0006feb727badcad2b9bd *tests/data/fate/vsynth2-avui.mov
++42624903 tests/data/fate/vsynth2-avui.mov
++dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth2-avui.out.rawvideo
++stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,91ce30c..ae13185
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -416ddcf73d2d993456f3c49f3eed4f1a *tests/data/fate/vsynth2-cljr.avi
++fdc1926e0a599de94513f0a3472b598f *tests/data/fate/vsynth2-cljr.avi
+ 5075660 tests/data/fate/vsynth2-cljr.avi
 -cfe7802bf34aafed7df5dcaa5126ef23 *tests/data/fate/vsynth2-cljr.out.rawvideo
 -stddev:    3.69 PSNR: 36.78 MAXDIFF:   22 bytes:  7603200/  7603200
++965c4a134144b30b24d6d138b03ddb8c *tests/data/fate/vsynth2-cljr.out.rawvideo
++stddev:    3.29 PSNR: 37.76 MAXDIFF:   23 bytes:  7603200/  7603200
index 0000000,41a8d51..ba5bc85
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -19a91b7da35cecf41e5e3cb322485627 *tests/data/fate/vsynth2-dnxhd-1080i.mov
 -3031875 tests/data/fate/vsynth2-dnxhd-1080i.mov
++204e80f2e406ada90fca596ab2810b3e *tests/data/fate/vsynth2-dnxhd-1080i.mov
++3031911 tests/data/fate/vsynth2-dnxhd-1080i.mov
+ 3c559af629ae0a8fb1a9a0e4b4da7733 *tests/data/fate/vsynth2-dnxhd-1080i.out.rawvideo
+ stddev:    1.31 PSNR: 45.77 MAXDIFF:   23 bytes:  7603200/   760320
index 81ecc5e,0000000..81ecc5e
mode 100644,000000..100644
--- /dev/null
@@@ -1,4 -1,0 +1,4 @@@
 +204e80f2e406ada90fca596ab2810b3e *./tests/data/vsynth2/dnxhd-1080i.mov
 +3031911 ./tests/data/vsynth2/dnxhd-1080i.mov
 +3c559af629ae0a8fb1a9a0e4b4da7733 *./tests/data/dnxhd_1080i.vsynth2.out.yuv
 +stddev:    1.31 PSNR: 45.77 MAXDIFF:   23 bytes:   760320/  7603200
index 0000000,2aac5ff..0d1465c
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -bfa766f89bfeabc0ae1044f3954bed52 *tests/data/fate/vsynth2-dv.dv
++85b8d55b0b68bb3fc2e90babb580f9b7 *tests/data/fate/vsynth2-dv.dv
+ 7200000 tests/data/fate/vsynth2-dv.dv
+ 7ec62bd3350a6848364669e6e1e4b9cc *tests/data/fate/vsynth2-dv.out.rawvideo
+ stddev:    1.71 PSNR: 43.47 MAXDIFF:   33 bytes:  7603200/  7603200
index 0000000,00ecace..d0e6d29
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -00a9d8683ac6826af41bcf7223fb0389 *tests/data/fate/vsynth2-dv-411.dv
++e428508f400327aeb96969c08fb9e1b5 *tests/data/fate/vsynth2-dv-411.dv
+ 7200000 tests/data/fate/vsynth2-dv-411.dv
+ 3cd4b85065d67bfb7fbab3bea4039711 *tests/data/fate/vsynth2-dv-411.out.rawvideo
+ stddev:    2.89 PSNR: 38.91 MAXDIFF:   45 bytes:  7603200/  7603200
index 0000000,e7e5dc1..c5ac608
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -61e31c79e8949b25c849753a0785b0d7 *tests/data/fate/vsynth2-dv-50.dv
++0032a07167199e6f49e07fa7ed4d5f62 *tests/data/fate/vsynth2-dv-50.dv
+ 14400000 tests/data/fate/vsynth2-dv-50.dv
+ af3f2dd5ab62c1a1d98b07d4aeb6852f *tests/data/fate/vsynth2-dv-50.out.rawvideo
+ stddev:    0.82 PSNR: 49.82 MAXDIFF:   12 bytes:  7603200/  7603200
index 708ac88,0000000..708ac88
mode 100644,000000..100644
--- /dev/null
@@@ -1,4 -1,0 +1,4 @@@
 +e428508f400327aeb96969c08fb9e1b5 *./tests/data/vsynth2/dv411.dv
 +7200000 ./tests/data/vsynth2/dv411.dv
 +7f9fa421028aabb11eaf4c6513a5a843 *./tests/data/dv_411.vsynth2.out.yuv
 +stddev:   10.09 PSNR: 28.05 MAXDIFF:   60 bytes:  7603200/  7603200
index 0000000,1b279aa..ac58147
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -d31aab445b24f738df45fdd7479d6dd7 *tests/data/fate/vsynth2-ffvhuff.avi
++63926d8835dd5779dca0a4bc081ca8ae *tests/data/fate/vsynth2-ffvhuff.avi
+ 4988056 tests/data/fate/vsynth2-ffvhuff.avi
+ dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth2-ffvhuff.out.rawvideo
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,cbe79e6..e44fa8f
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -592b3321994e26a990deb3a0a1415de9 *tests/data/fate/vsynth2-flashsv.out.rawvideo
 -stddev:    0.65 PSNR: 51.84 MAXDIFF:   14 bytes:  7603200/  7603200
+ 0667077971e0cb63b5f49c580006e90e *tests/data/fate/vsynth2-flashsv.flv
+ 12368953 tests/data/fate/vsynth2-flashsv.flv
++3a984506f1ebfc9fb73b6814cab201cc *tests/data/fate/vsynth2-flashsv.out.rawvideo
++stddev:    0.66 PSNR: 51.73 MAXDIFF:   14 bytes:  7603200/  7603200
index 0000000,0000000..0ccfb91
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++3f4a7454fa664896ac7532e3551c4071 *tests/data/fate/vsynth2-flashsv2.flv
++9293862 tests/data/fate/vsynth2-flashsv2.flv
++8f63e24049ba1789a7f8353c695a3d99 *tests/data/fate/vsynth2-flashsv2.out.rawvideo
++stddev:    2.39 PSNR: 40.55 MAXDIFF:   21 bytes:  7603200/  7603200
index 0000000,a1c3c22..d94cbd6
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -56cd44907a48990e06bd065e189ff461 *tests/data/fate/vsynth2-huffyuv.avi
++ed66182be0d515e8b6cb970ad63162da *tests/data/fate/vsynth2-huffyuv.avi
+ 6455232 tests/data/fate/vsynth2-huffyuv.avi
+ dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth2-huffyuv.out.rawvideo
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,0000000..1ad4482
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++b30dc1851c0fb37726d977ec1d5ad527 *tests/data/fate/vsynth2-j2k.avi
++1151156 tests/data/fate/vsynth2-j2k.avi
++ec5218eec33a021945c28c72093382a5 *tests/data/fate/vsynth2-j2k.out.rawvideo
++stddev:    4.54 PSNR: 34.99 MAXDIFF:   61 bytes:  7603200/  7603200
index 0000000,7f17391..728d54f
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -592b3321994e26a990deb3a0a1415de9 *tests/data/fate/vsynth2-jpegls.out.rawvideo
 -stddev:    0.65 PSNR: 51.84 MAXDIFF:   14 bytes:  7603200/  7603200
+ 8a94dc94b6df8bdde9a639246351d816 *tests/data/fate/vsynth2-jpegls.avi
+ 8334630 tests/data/fate/vsynth2-jpegls.avi
++3a984506f1ebfc9fb73b6814cab201cc *tests/data/fate/vsynth2-jpegls.out.rawvideo
++stddev:    0.66 PSNR: 51.73 MAXDIFF:   14 bytes:  7603200/  7603200
index 0000000,4d96557..9e81c17
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -8c9afbf564008a8ce6719cc3546deae1 *tests/data/fate/vsynth2-mpeg4.mp4
 -119833 tests/data/fate/vsynth2-mpeg4.mp4
++051ff85797971b9047723044eaec07be *tests/data/fate/vsynth2-mpeg4.mp4
++119649 tests/data/fate/vsynth2-mpeg4.mp4
+ 90a3577850239083a9042bef33c50e85 *tests/data/fate/vsynth2-mpeg4.out.rawvideo
+ stddev:    5.34 PSNR: 33.57 MAXDIFF:   83 bytes:  7603200/  7603200
index 0000000,0000000..1a298f9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++198a3d67c56e1b5b12bdd3ffa67d8128 *tests/data/fate/vsynth2-mpng.avi
++12557288 tests/data/fate/vsynth2-mpng.avi
++98d0e2854731472c5bf13d8638502d0a *tests/data/fate/vsynth2-mpng.out.rawvideo
++stddev:    1.26 PSNR: 46.10 MAXDIFF:   13 bytes:  7603200/  7603200
index 0000000,0000000..8338ac4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++e70658b8b97eb4c7e63b2081c3a602de *tests/data/fate/vsynth2-msvideo1.avi
++1259308 tests/data/fate/vsynth2-msvideo1.avi
++cd83ffcbc73573044e3aead3094229e5 *tests/data/fate/vsynth2-msvideo1.out.rawvideo
++stddev:    7.42 PSNR: 30.72 MAXDIFF:  123 bytes:  7603200/  7603200
index 0000000,9a834ed..5db45d9
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -28755ce05e812adbb8b7c180318ffba8 *tests/data/fate/vsynth2-prores.mov
 -3884722 tests/data/fate/vsynth2-prores.mov
 -ca2f6c1162635dedfa468c90f1fdc0ef *tests/data/fate/vsynth2-prores.out.rawvideo
 -stddev:    0.92 PSNR: 48.77 MAXDIFF:   10 bytes:  7603200/  7603200
++0faf42c187120c61d64a5e0cea4fc92a *tests/data/fate/vsynth2-prores.mov
++2844066 tests/data/fate/vsynth2-prores.mov
++b5844025c0f4c7c37db702c3213db232 *tests/data/fate/vsynth2-prores.out.rawvideo
++stddev:    1.31 PSNR: 45.77 MAXDIFF:   11 bytes:  7603200/  7603200
index 0000000,0000000..68acf9c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++26adb18726c08dde23bc4bee2eb591e2 *tests/data/fate/vsynth2-prores_kostya.mov
++3884586 tests/data/fate/vsynth2-prores_kostya.mov
++ca2f6c1162635dedfa468c90f1fdc0ef *tests/data/fate/vsynth2-prores_kostya.out.rawvideo
++stddev:    0.92 PSNR: 48.77 MAXDIFF:   10 bytes:  7603200/  7603200
index 0000000,ceee854..d3b045b
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -4805f35ca6e03b9279cc18f3f7356366 *tests/data/fate/vsynth2-qtrle.mov
 -14798419 tests/data/fate/vsynth2-qtrle.mov
 -b2418e0e3a9a8619b31219cbcf24dc82 *tests/data/fate/vsynth2-qtrle.out.rawvideo
 -stddev:    1.26 PSNR: 46.06 MAXDIFF:   13 bytes:  7603200/  7603200
++6ac61c011e1811ebd045535b141351de *tests/data/fate/vsynth2-qtrle.mov
++14798335 tests/data/fate/vsynth2-qtrle.mov
++98d0e2854731472c5bf13d8638502d0a *tests/data/fate/vsynth2-qtrle.out.rawvideo
++stddev:    1.26 PSNR: 46.10 MAXDIFF:   13 bytes:  7603200/  7603200
index 0000000,0000000..1306f3e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++5a66c6d2b2db71eddbc50819483aa647 *tests/data/fate/vsynth2-qtrlegray.mov
++5111273 tests/data/fate/vsynth2-qtrlegray.mov
++f63b5ebdfdba750e547c25131b0a3fd1 *tests/data/fate/vsynth2-qtrlegray.out.rawvideo
++stddev:   19.42 PSNR: 22.36 MAXDIFF:   72 bytes:  7603200/  7603200
index 0000000,0000000..610ba2c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++d7a6f298e6869a74c0988fc3b30d0351 *tests/data/fate/vsynth2-r210.avi
++22125260 tests/data/fate/vsynth2-r210.avi
++6ea4fcd93fc83defc8770e85b64b60bb *tests/data/fate/vsynth2-r210.out.rawvideo
++stddev:    0.70 PSNR: 51.12 MAXDIFF:   12 bytes:  7603200/  7603200
index 0000000,36ac105..c89f46f
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -b2418e0e3a9a8619b31219cbcf24dc82 *tests/data/fate/vsynth2-rgb.out.rawvideo
 -stddev:    1.26 PSNR: 46.06 MAXDIFF:   13 bytes:  7603200/  7603200
+ f2e9c419023c743bf99aa5b2e55ad233 *tests/data/fate/vsynth2-rgb.avi
+ 15213260 tests/data/fate/vsynth2-rgb.avi
++98d0e2854731472c5bf13d8638502d0a *tests/data/fate/vsynth2-rgb.out.rawvideo
++stddev:    1.26 PSNR: 46.10 MAXDIFF:   13 bytes:  7603200/  7603200
index 0000000,251f72d..b2cd35f
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -138ad38281570f1a3b68d63ed896435d *tests/data/fate/vsynth2-svq1.mov
 -766851 tests/data/fate/vsynth2-svq1.mov
++320a7fbbaecc0989df054bf9678bfdf6 *tests/data/fate/vsynth2-svq1.mov
++766691 tests/data/fate/vsynth2-svq1.mov
+ aa03471dac3f49455a33a2b19fda1098 *tests/data/fate/vsynth2-svq1.out.rawvideo
+ stddev:    3.23 PSNR: 37.93 MAXDIFF:   61 bytes:  7603200/  7603200
index 0000000,0000000..cd20214
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++214671673e6c82bad8190d0329f01fdc *tests/data/fate/vsynth2-v308.avi
++15213260 tests/data/fate/vsynth2-v308.avi
++d43cb310c130c69214332d74f6ee5f9a *tests/data/fate/vsynth2-v308.out.rawvideo
++stddev:    0.41 PSNR: 55.80 MAXDIFF:    7 bytes:  7603200/  7603200
index 0000000,0000000..8d12fc7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++033d112ec5a1a78882233d0b791e5ef7 *tests/data/fate/vsynth2-v408.avi
++20282060 tests/data/fate/vsynth2-v408.avi
++dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth2-v408.out.rawvideo
++stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,0000000..b310e3b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++8e0139963e79180a0fc1c154e36cebe5 *tests/data/fate/vsynth2-y41p.avi
++7610060 tests/data/fate/vsynth2-y41p.avi
++d27a84ccdac09055724d122e03fea82a *tests/data/fate/vsynth2-y41p.out.rawvideo
++stddev:    1.07 PSNR: 47.54 MAXDIFF:   21 bytes:  7603200/  7603200
index 0000000,a2332e0..e5409b0
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,4 +1,4 @@@
 -30a400773ab26f2c83e469198b156f1d *tests/data/fate/vsynth2-yuv.avi
++3d5ee6d2023bc15bba898819e4977e46 *tests/data/fate/vsynth2-yuv.avi
+ 7610060 tests/data/fate/vsynth2-yuv.avi
+ dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth2-yuv.out.rawvideo
+ stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,0000000..a5e9ee5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++3d24f1d320c4ead1efbf3c952a902379 *tests/data/fate/vsynth2-yuv4.avi
++7610060 tests/data/fate/vsynth2-yuv4.avi
++dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth2-yuv4.out.rawvideo
++stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
index 0000000,0000000..d3295e3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++f4bfa774c853abe8f06a29596c1f16cb *tests/data/fate/vsynth2-zlib.avi
++12517188 tests/data/fate/vsynth2-zlib.avi
++98d0e2854731472c5bf13d8638502d0a *tests/data/fate/vsynth2-zlib.out.rawvideo
++stddev:    1.26 PSNR: 46.10 MAXDIFF:   13 bytes:  7603200/  7603200
index 0000000,0000000..93e0b6a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++e9cc761eb3fedc36ce5f97744196ed8b *tests/data/fate/vsynth2-zmbv.avi
++1808720 tests/data/fate/vsynth2-zmbv.avi
++ee68a5292fd0745834246b4ec0d85e9b *tests/data/fate/vsynth2-zmbv.out.rawvideo
++stddev:    8.12 PSNR: 29.94 MAXDIFF:   32 bytes:  7603200/  7603200
diff --combined tests/ref/seek/dv_411_dv
@@@ -1,53 -1,53 +1,53 @@@
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:144000
  ret: 0         st:-1 flags:0  ts:-1.000000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:144000
  ret: 0         st:-1 flags:1  ts: 1.894167
 -ret: 0         st: 0 flags:1 dts: 1.880000 pts: 1.880000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.880000 pts: 1.880000 pos:6768000 size:144000
  ret: 0         st: 0 flags:0  ts: 0.800000
 -ret: 0         st: 0 flags:1 dts: 0.800000 pts: 0.800000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.800000 pts: 0.800000 pos:2880000 size:144000
  ret: 0         st: 0 flags:1  ts:-0.320000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:144000
  ret: 0         st:-1 flags:0  ts: 2.576668
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:7056000 size:144000
  ret: 0         st:-1 flags:1  ts: 1.470835
 -ret: 0         st: 0 flags:1 dts: 1.480000 pts: 1.480000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.480000 pts: 1.480000 pos:5328000 size:144000
  ret: 0         st: 0 flags:0  ts: 0.360000
 -ret: 0         st: 0 flags:1 dts: 0.360000 pts: 0.360000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.360000 pts: 0.360000 pos:1296000 size:144000
  ret: 0         st: 0 flags:1  ts:-0.760000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:144000
  ret: 0         st:-1 flags:0  ts: 2.153336
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:7056000 size:144000
  ret: 0         st:-1 flags:1  ts: 1.047503
 -ret: 0         st: 0 flags:1 dts: 1.040000 pts: 1.040000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.040000 pts: 1.040000 pos:3744000 size:144000
  ret: 0         st: 0 flags:0  ts:-0.040000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:144000
  ret: 0         st: 0 flags:1  ts: 2.840000
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:7056000 size:144000
  ret: 0         st:-1 flags:0  ts: 1.730004
 -ret: 0         st: 0 flags:1 dts: 1.720000 pts: 1.720000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.720000 pts: 1.720000 pos:6192000 size:144000
  ret: 0         st:-1 flags:1  ts: 0.624171
 -ret: 0         st: 0 flags:1 dts: 0.640000 pts: 0.640000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.640000 pts: 0.640000 pos:2304000 size:144000
  ret: 0         st: 0 flags:0  ts:-0.480000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:144000
  ret: 0         st: 0 flags:1  ts: 2.400000
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:7056000 size:144000
  ret: 0         st:-1 flags:0  ts: 1.306672
 -ret: 0         st: 0 flags:1 dts: 1.320000 pts: 1.320000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.320000 pts: 1.320000 pos:4752000 size:144000
  ret: 0         st:-1 flags:1  ts: 0.200839
 -ret: 0         st: 0 flags:1 dts: 0.200000 pts: 0.200000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.200000 pts: 0.200000 pos: 720000 size:144000
  ret: 0         st: 0 flags:0  ts:-0.920000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:144000
  ret: 0         st: 0 flags:1  ts: 2.000000
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:7056000 size:144000
  ret: 0         st:-1 flags:0  ts: 0.883340
 -ret: 0         st: 0 flags:1 dts: 0.880000 pts: 0.880000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.880000 pts: 0.880000 pos:3168000 size:144000
  ret: 0         st:-1 flags:1  ts:-0.222493
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:144000
  ret: 0         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:7056000 size:144000
  ret: 0         st: 0 flags:1  ts: 1.560000
 -ret: 0         st: 0 flags:1 dts: 1.560000 pts: 1.560000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 1.560000 pts: 1.560000 pos:5616000 size:144000
  ret: 0         st:-1 flags:0  ts: 0.460008
 -ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos:1728000 size:144000
  ret: 0         st:-1 flags:1  ts:-0.645825
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:144000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:144000
diff --combined tests/ref/seek/dv_50_dv
@@@ -1,53 -1,53 +1,53 @@@
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:288000
  ret: 0         st:-1 flags:0  ts:-1.000000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:288000
  ret: 0         st:-1 flags:1  ts: 1.894167
 -ret: 0         st: 0 flags:1 dts: 1.880000 pts: 1.880000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.880000 pts: 1.880000 pos:13536000 size:288000
  ret: 0         st: 0 flags:0  ts: 0.800000
 -ret: 0         st: 0 flags:1 dts: 0.800000 pts: 0.800000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.800000 pts: 0.800000 pos:5760000 size:288000
  ret: 0         st: 0 flags:1  ts:-0.320000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:288000
  ret: 0         st:-1 flags:0  ts: 2.576668
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:14112000 size:288000
  ret: 0         st:-1 flags:1  ts: 1.470835
 -ret: 0         st: 0 flags:1 dts: 1.480000 pts: 1.480000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.480000 pts: 1.480000 pos:10656000 size:288000
  ret: 0         st: 0 flags:0  ts: 0.360000
 -ret: 0         st: 0 flags:1 dts: 0.360000 pts: 0.360000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.360000 pts: 0.360000 pos:2592000 size:288000
  ret: 0         st: 0 flags:1  ts:-0.760000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:288000
  ret: 0         st:-1 flags:0  ts: 2.153336
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:14112000 size:288000
  ret: 0         st:-1 flags:1  ts: 1.047503
 -ret: 0         st: 0 flags:1 dts: 1.040000 pts: 1.040000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.040000 pts: 1.040000 pos:7488000 size:288000
  ret: 0         st: 0 flags:0  ts:-0.040000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:288000
  ret: 0         st: 0 flags:1  ts: 2.840000
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:14112000 size:288000
  ret: 0         st:-1 flags:0  ts: 1.730004
 -ret: 0         st: 0 flags:1 dts: 1.720000 pts: 1.720000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.720000 pts: 1.720000 pos:12384000 size:288000
  ret: 0         st:-1 flags:1  ts: 0.624171
 -ret: 0         st: 0 flags:1 dts: 0.640000 pts: 0.640000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.640000 pts: 0.640000 pos:4608000 size:288000
  ret: 0         st: 0 flags:0  ts:-0.480000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:288000
  ret: 0         st: 0 flags:1  ts: 2.400000
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:14112000 size:288000
  ret: 0         st:-1 flags:0  ts: 1.306672
 -ret: 0         st: 0 flags:1 dts: 1.320000 pts: 1.320000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.320000 pts: 1.320000 pos:9504000 size:288000
  ret: 0         st:-1 flags:1  ts: 0.200839
 -ret: 0         st: 0 flags:1 dts: 0.200000 pts: 0.200000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.200000 pts: 0.200000 pos:1440000 size:288000
  ret: 0         st: 0 flags:0  ts:-0.920000
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:288000
  ret: 0         st: 0 flags:1  ts: 2.000000
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:14112000 size:288000
  ret: 0         st:-1 flags:0  ts: 0.883340
 -ret: 0         st: 0 flags:1 dts: 0.880000 pts: 0.880000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.880000 pts: 0.880000 pos:6336000 size:288000
  ret: 0         st:-1 flags:1  ts:-0.222493
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:288000
  ret: 0         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.960000 pts: 1.960000 pos:14112000 size:288000
  ret: 0         st: 0 flags:1  ts: 1.560000
 -ret: 0         st: 0 flags:1 dts: 1.560000 pts: 1.560000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 1.560000 pts: 1.560000 pos:11232000 size:288000
  ret: 0         st:-1 flags:0  ts: 0.460008
 -ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos:3456000 size:288000
  ret: 0         st:-1 flags:1  ts:-0.645825
 -ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     -1 size:288000
 +ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:      0 size:288000
@@@ -3,43 -3,43 +3,43 @@@ ret: 0         st:-1 flags:0  ts:-1.000
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9779
  ret: 0         st:-1 flags:1  ts: 1.894167
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 124245 size: 11796
 -ret: 0         st: 0 flags:0  ts: 0.800000
 +ret: 0         st: 0 flags:0  ts: 0.788334
  ret: 0         st: 0 flags:1 dts: 0.960000 pts: NOPTS    pos:  76694 size: 10792
 -ret:-1         st: 0 flags:1  ts:-0.320000
 +ret:-1         st: 0 flags:1  ts:-0.317499
  ret:-1         st:-1 flags:0  ts: 2.576668
  ret: 0         st:-1 flags:1  ts: 1.470835
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 124245 size: 11796
 -ret: 0         st: 0 flags:0  ts: 0.360000
 +ret: 0         st: 0 flags:0  ts: 0.365002
  ret: 0         st: 0 flags:1 dts: 0.480000 pts: NOPTS    pos:  37721 size:  9873
 -ret:-1         st: 0 flags:1  ts:-0.760000
 +ret:-1         st: 0 flags:1  ts:-0.740831
  ret:-1         st:-1 flags:0  ts: 2.153336
  ret: 0         st:-1 flags:1  ts: 1.047503
  ret: 0         st: 0 flags:1 dts: 0.960000 pts: NOPTS    pos:  76694 size: 10792
 -ret: 0         st: 0 flags:0  ts:-0.040000
 +ret: 0         st: 0 flags:0  ts:-0.058330
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9779
 -ret: 0         st: 0 flags:1  ts: 2.840000
 +ret: 0         st: 0 flags:1  ts: 2.835837
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 177089 size: 12057
  ret: 0         st:-1 flags:0  ts: 1.730004
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 177089 size: 12057
  ret: 0         st:-1 flags:1  ts: 0.624171
  ret: 0         st: 0 flags:1 dts: 0.480000 pts: NOPTS    pos:  37721 size:  9873
 -ret: 0         st: 0 flags:0  ts:-0.480000
 +ret: 0         st: 0 flags:0  ts:-0.481662
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9779
 -ret: 0         st: 0 flags:1  ts: 2.400000
 +ret: 0         st: 0 flags:1  ts: 2.412505
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 177089 size: 12057
  ret: 0         st:-1 flags:0  ts: 1.306672
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 124245 size: 11796
  ret: 0         st:-1 flags:1  ts: 0.200839
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9779
 -ret: 0         st: 0 flags:0  ts:-0.920000
 +ret: 0         st: 0 flags:0  ts:-0.904994
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9779
 -ret: 0         st: 0 flags:1  ts: 2.000000
 +ret: 0         st: 0 flags:1  ts: 1.989173
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 177089 size: 12057
  ret: 0         st:-1 flags:0  ts: 0.883340
  ret: 0         st: 0 flags:1 dts: 0.960000 pts: NOPTS    pos:  76694 size: 10792
  ret:-1         st:-1 flags:1  ts:-0.222493
 -ret:-1         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1  ts: 1.560000
 +ret:-1         st: 0 flags:0  ts: 2.671674
 +ret: 0         st: 0 flags:1  ts: 1.565841
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 124245 size: 11796
  ret: 0         st:-1 flags:0  ts: 0.460008
  ret: 0         st: 0 flags:1 dts: 0.480000 pts: NOPTS    pos:  37721 size:  9873
@@@ -3,43 -3,43 +3,43 @@@ ret: 0         st:-1 flags:0  ts:-1.000
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 11817
  ret: 0         st:-1 flags:1  ts: 1.894167
  ret: 0         st: 0 flags:1 dts: 1.800000 pts: NOPTS    pos: 194420 size: 14837
 -ret: 0         st: 0 flags:0  ts: 0.800000
 +ret: 0         st: 0 flags:0  ts: 0.788334
  ret: 0         st: 0 flags:1 dts: 0.840000 pts: NOPTS    pos:  80757 size: 13267
 -ret:-1         st: 0 flags:1  ts:-0.320000
 +ret:-1         st: 0 flags:1  ts:-0.317499
  ret:-1         st:-1 flags:0  ts: 2.576668
  ret: 0         st:-1 flags:1  ts: 1.470835
  ret: 0         st: 0 flags:1 dts: 1.320000 pts: NOPTS    pos: 133899 size: 14470
 -ret: 0         st: 0 flags:0  ts: 0.360000
 -ret: 0         st: 0 flags:1 dts: 0.360000 pts: NOPTS    pos:  34797 size: 12009
 -ret:-1         st: 0 flags:1  ts:-0.760000
 +ret: 0         st: 0 flags:0  ts: 0.365002
 +ret: 0         st: 0 flags:1 dts: 0.840000 pts: NOPTS    pos:  80757 size: 13267
 +ret:-1         st: 0 flags:1  ts:-0.740831
  ret:-1         st:-1 flags:0  ts: 2.153336
  ret: 0         st:-1 flags:1  ts: 1.047503
  ret: 0         st: 0 flags:1 dts: 0.840000 pts: NOPTS    pos:  80757 size: 13267
 -ret: 0         st: 0 flags:0  ts:-0.040000
 +ret: 0         st: 0 flags:0  ts:-0.058330
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 11817
 -ret: 0         st: 0 flags:1  ts: 2.840000
 +ret: 0         st: 0 flags:1  ts: 2.835837
  ret: 0         st: 0 flags:1 dts: 1.800000 pts: NOPTS    pos: 194420 size: 14837
  ret: 0         st:-1 flags:0  ts: 1.730004
  ret: 0         st: 0 flags:1 dts: 1.800000 pts: NOPTS    pos: 194420 size: 14837
  ret: 0         st:-1 flags:1  ts: 0.624171
  ret: 0         st: 0 flags:1 dts: 0.360000 pts: NOPTS    pos:  34797 size: 12009
 -ret: 0         st: 0 flags:0  ts:-0.480000
 +ret: 0         st: 0 flags:0  ts:-0.481662
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 11817
 -ret: 0         st: 0 flags:1  ts: 2.400000
 +ret: 0         st: 0 flags:1  ts: 2.412505
  ret: 0         st: 0 flags:1 dts: 1.800000 pts: NOPTS    pos: 194420 size: 14837
  ret: 0         st:-1 flags:0  ts: 1.306672
  ret: 0         st: 0 flags:1 dts: 1.320000 pts: NOPTS    pos: 133899 size: 14470
  ret: 0         st:-1 flags:1  ts: 0.200839
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 11817
 -ret: 0         st: 0 flags:0  ts:-0.920000
 +ret: 0         st: 0 flags:0  ts:-0.904994
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 11817
 -ret: 0         st: 0 flags:1  ts: 2.000000
 +ret: 0         st: 0 flags:1  ts: 1.989173
  ret: 0         st: 0 flags:1 dts: 1.800000 pts: NOPTS    pos: 194420 size: 14837
  ret: 0         st:-1 flags:0  ts: 0.883340
  ret: 0         st: 0 flags:1 dts: 1.320000 pts: NOPTS    pos: 133899 size: 14470
  ret:-1         st:-1 flags:1  ts:-0.222493
 -ret:-1         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1  ts: 1.560000
 +ret:-1         st: 0 flags:0  ts: 2.671674
 +ret: 0         st: 0 flags:1  ts: 1.565841
  ret: 0         st: 0 flags:1 dts: 1.320000 pts: NOPTS    pos: 133899 size: 14470
  ret: 0         st:-1 flags:0  ts: 0.460008
  ret: 0         st: 0 flags:1 dts: 0.840000 pts: NOPTS    pos:  80757 size: 13267
@@@ -3,43 -3,43 +3,43 @@@ ret: 0         st:-1 flags:0  ts:-1.000
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 17497
  ret: 0         st:-1 flags:1  ts: 1.894167
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 325162 size: 19936
 -ret: 0         st: 0 flags:0  ts: 0.800000
 +ret: 0         st: 0 flags:0  ts: 0.788334
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos: 200736 size: 22575
 -ret:-1         st: 0 flags:1  ts:-0.320000
 +ret:-1         st: 0 flags:1  ts:-0.317499
  ret:-1         st:-1 flags:0  ts: 2.576668
  ret: 0         st:-1 flags:1  ts: 1.470835
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 265477 size: 21329
 -ret: 0         st: 0 flags:0  ts: 0.360000
 +ret: 0         st: 0 flags:0  ts: 0.365002
  ret: 0         st: 0 flags:1 dts: 0.400000 pts: NOPTS    pos: 104454 size: 28984
 -ret:-1         st: 0 flags:1  ts:-0.760000
 +ret:-1         st: 0 flags:1  ts:-0.740831
  ret:-1         st:-1 flags:0  ts: 2.153336
  ret: 0         st:-1 flags:1  ts: 1.047503
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos: 200736 size: 22575
 -ret: 0         st: 0 flags:0  ts:-0.040000
 +ret: 0         st: 0 flags:0  ts:-0.058330
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 17497
 -ret: 0         st: 0 flags:1  ts: 2.840000
 +ret: 0         st: 0 flags:1  ts: 2.835837
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 325162 size: 19936
  ret: 0         st:-1 flags:0  ts: 1.730004
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 325162 size: 19936
  ret: 0         st:-1 flags:1  ts: 0.624171
  ret: 0         st: 0 flags:1 dts: 0.400000 pts: NOPTS    pos: 104454 size: 28984
 -ret: 0         st: 0 flags:0  ts:-0.480000
 +ret: 0         st: 0 flags:0  ts:-0.481662
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 17497
 -ret: 0         st: 0 flags:1  ts: 2.400000
 +ret: 0         st: 0 flags:1  ts: 2.412505
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 325162 size: 19936
  ret: 0         st:-1 flags:0  ts: 1.306672
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 265477 size: 21329
  ret: 0         st:-1 flags:1  ts: 0.200839
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 17497
 -ret: 0         st: 0 flags:0  ts:-0.920000
 +ret: 0         st: 0 flags:0  ts:-0.904994
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 17497
 -ret: 0         st: 0 flags:1  ts: 2.000000
 +ret: 0         st: 0 flags:1  ts: 1.989173
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 325162 size: 19936
  ret: 0         st:-1 flags:0  ts: 0.883340
 -ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos: 200736 size: 22575
 +ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 265477 size: 21329
  ret:-1         st:-1 flags:1  ts:-0.222493
 -ret:-1         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1  ts: 1.560000
 +ret:-1         st: 0 flags:0  ts: 2.671674
 +ret: 0         st: 0 flags:1  ts: 1.565841
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 265477 size: 21329
  ret: 0         st:-1 flags:0  ts: 0.460008
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos: 200736 size: 22575
@@@ -3,43 -3,43 +3,43 @@@ ret: 0         st:-1 flags:0  ts:-1.000
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9911
  ret: 0         st:-1 flags:1  ts: 1.894167
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 127925 size: 11918
 -ret: 0         st: 0 flags:0  ts: 0.800000
 +ret: 0         st: 0 flags:0  ts: 0.788334
  ret: 0         st: 0 flags:1 dts: 0.960000 pts: NOPTS    pos:  79103 size: 10909
 -ret:-1         st: 0 flags:1  ts:-0.320000
 +ret:-1         st: 0 flags:1  ts:-0.317499
  ret:-1         st:-1 flags:0  ts: 2.576668
  ret: 0         st:-1 flags:1  ts: 1.470835
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 127925 size: 11918
 -ret: 0         st: 0 flags:0  ts: 0.360000
 +ret: 0         st: 0 flags:0  ts: 0.365002
  ret: 0         st: 0 flags:1 dts: 0.480000 pts: NOPTS    pos:  38992 size:  9985
 -ret:-1         st: 0 flags:1  ts:-0.760000
 +ret:-1         st: 0 flags:1  ts:-0.740831
  ret:-1         st:-1 flags:0  ts: 2.153336
  ret: 0         st:-1 flags:1  ts: 1.047503
  ret: 0         st: 0 flags:1 dts: 0.960000 pts: NOPTS    pos:  79103 size: 10909
 -ret: 0         st: 0 flags:0  ts:-0.040000
 +ret: 0         st: 0 flags:0  ts:-0.058330
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9911
 -ret: 0         st: 0 flags:1  ts: 2.840000
 +ret: 0         st: 0 flags:1  ts: 2.835837
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 182138 size: 12183
  ret: 0         st:-1 flags:0  ts: 1.730004
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 182138 size: 12183
  ret: 0         st:-1 flags:1  ts: 0.624171
  ret: 0         st: 0 flags:1 dts: 0.480000 pts: NOPTS    pos:  38992 size:  9985
 -ret: 0         st: 0 flags:0  ts:-0.480000
 +ret: 0         st: 0 flags:0  ts:-0.481662
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9911
 -ret: 0         st: 0 flags:1  ts: 2.400000
 +ret: 0         st: 0 flags:1  ts: 2.412505
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 182138 size: 12183
  ret: 0         st:-1 flags:0  ts: 1.306672
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 127925 size: 11918
  ret: 0         st:-1 flags:1  ts: 0.200839
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9911
 -ret: 0         st: 0 flags:0  ts:-0.920000
 +ret: 0         st: 0 flags:0  ts:-0.904994
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9911
 -ret: 0         st: 0 flags:1  ts: 2.000000
 +ret: 0         st: 0 flags:1  ts: 1.989173
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 182138 size: 12183
  ret: 0         st:-1 flags:0  ts: 0.883340
  ret: 0         st: 0 flags:1 dts: 0.960000 pts: NOPTS    pos:  79103 size: 10909
  ret:-1         st:-1 flags:1  ts:-0.222493
 -ret:-1         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1  ts: 1.560000
 +ret:-1         st: 0 flags:0  ts: 2.671674
 +ret: 0         st: 0 flags:1  ts: 1.565841
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 127925 size: 11918
  ret: 0         st:-1 flags:0  ts: 0.460008
  ret: 0         st: 0 flags:1 dts: 0.480000 pts: NOPTS    pos:  38992 size:  9985
@@@ -3,43 -3,43 +3,43 @@@ ret: 0         st:-1 flags:0  ts:-1.000
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
  ret: 0         st:-1 flags:1  ts: 1.894167
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 132607 size: 11970
 -ret: 0         st: 0 flags:0  ts: 0.800000
 +ret: 0         st: 0 flags:0  ts: 0.788334
  ret: 0         st: 0 flags:1 dts: 0.960000 pts: NOPTS    pos:  82152 size: 10965
 -ret:-1         st: 0 flags:1  ts:-0.320000
 +ret:-1         st: 0 flags:1  ts:-0.317499
  ret:-1         st:-1 flags:0  ts: 2.576668
  ret: 0         st:-1 flags:1  ts: 1.470835
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 132607 size: 11970
 -ret: 0         st: 0 flags:0  ts: 0.360000
 +ret: 0         st: 0 flags:0  ts: 0.365002
  ret: 0         st: 0 flags:1 dts: 0.480000 pts: NOPTS    pos:  40546 size: 10045
 -ret:-1         st: 0 flags:1  ts:-0.760000
 +ret:-1         st: 0 flags:1  ts:-0.740831
  ret:-1         st:-1 flags:0  ts: 2.153336
  ret: 0         st:-1 flags:1  ts: 1.047503
  ret: 0         st: 0 flags:1 dts: 0.960000 pts: NOPTS    pos:  82152 size: 10965
 -ret: 0         st: 0 flags:0  ts:-0.040000
 +ret: 0         st: 0 flags:0  ts:-0.058330
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
 -ret: 0         st: 0 flags:1  ts: 2.840000
 +ret: 0         st: 0 flags:1  ts: 2.835837
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 188429 size: 12232
  ret: 0         st:-1 flags:0  ts: 1.730004
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 188429 size: 12232
  ret: 0         st:-1 flags:1  ts: 0.624171
  ret: 0         st: 0 flags:1 dts: 0.480000 pts: NOPTS    pos:  40546 size: 10045
 -ret: 0         st: 0 flags:0  ts:-0.480000
 +ret: 0         st: 0 flags:0  ts:-0.481662
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
 -ret: 0         st: 0 flags:1  ts: 2.400000
 +ret: 0         st: 0 flags:1  ts: 2.412505
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 188429 size: 12232
  ret: 0         st:-1 flags:0  ts: 1.306672
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 132607 size: 11970
  ret: 0         st:-1 flags:1  ts: 0.200839
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
 -ret: 0         st: 0 flags:0  ts:-0.920000
 +ret: 0         st: 0 flags:0  ts:-0.904994
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
 -ret: 0         st: 0 flags:1  ts: 2.000000
 +ret: 0         st: 0 flags:1  ts: 1.989173
  ret: 0         st: 0 flags:1 dts: 1.920000 pts: NOPTS    pos: 188429 size: 12232
  ret: 0         st:-1 flags:0  ts: 0.883340
  ret: 0         st: 0 flags:1 dts: 0.960000 pts: NOPTS    pos:  82152 size: 10965
  ret:-1         st:-1 flags:1  ts:-0.222493
 -ret:-1         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1  ts: 1.560000
 +ret:-1         st: 0 flags:0  ts: 2.671674
 +ret: 0         st: 0 flags:1  ts: 1.565841
  ret: 0         st: 0 flags:1 dts: 1.440000 pts: NOPTS    pos: 132607 size: 11970
  ret: 0         st:-1 flags:0  ts: 0.460008
  ret: 0         st: 0 flags:1 dts: 0.480000 pts: NOPTS    pos:  40546 size: 10045
@@@ -3,43 -3,43 +3,43 @@@ ret: 0         st:-1 flags:0  ts:-1.000
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 16239
  ret: 0         st:-1 flags:1  ts: 1.894167
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 227500 size: 12725
 -ret: 0         st: 0 flags:0  ts: 0.800000
 +ret: 0         st: 0 flags:0  ts: 0.788334
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos: 164167 size: 13921
 -ret:-1         st: 0 flags:1  ts:-0.320000
 +ret:-1         st: 0 flags:1  ts:-0.317499
  ret:-1         st:-1 flags:0  ts: 2.576668
  ret: 0         st:-1 flags:1  ts: 1.470835
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 196681 size: 13159
 -ret: 0         st: 0 flags:0  ts: 0.360000
 +ret: 0         st: 0 flags:0  ts: 0.365002
  ret: 0         st: 0 flags:1 dts: 0.400000 pts: NOPTS    pos:  98748 size: 29165
 -ret:-1         st: 0 flags:1  ts:-0.760000
 +ret:-1         st: 0 flags:1  ts:-0.740831
  ret:-1         st:-1 flags:0  ts: 2.153336
  ret: 0         st:-1 flags:1  ts: 1.047503
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos: 164167 size: 13921
 -ret: 0         st: 0 flags:0  ts:-0.040000
 +ret: 0         st: 0 flags:0  ts:-0.058330
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 16239
 -ret: 0         st: 0 flags:1  ts: 2.840000
 +ret: 0         st: 0 flags:1  ts: 2.835837
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 227500 size: 12725
  ret: 0         st:-1 flags:0  ts: 1.730004
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 227500 size: 12725
  ret: 0         st:-1 flags:1  ts: 0.624171
  ret: 0         st: 0 flags:1 dts: 0.400000 pts: NOPTS    pos:  98748 size: 29165
 -ret: 0         st: 0 flags:0  ts:-0.480000
 +ret: 0         st: 0 flags:0  ts:-0.481662
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 16239
 -ret: 0         st: 0 flags:1  ts: 2.400000
 +ret: 0         st: 0 flags:1  ts: 2.412505
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 227500 size: 12725
  ret: 0         st:-1 flags:0  ts: 1.306672
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 196681 size: 13159
  ret: 0         st:-1 flags:1  ts: 0.200839
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 16239
 -ret: 0         st: 0 flags:0  ts:-0.920000
 +ret: 0         st: 0 flags:0  ts:-0.904994
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size: 16239
 -ret: 0         st: 0 flags:1  ts: 2.000000
 +ret: 0         st: 0 flags:1  ts: 1.989173
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 227500 size: 12725
  ret: 0         st:-1 flags:0  ts: 0.883340
 -ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos: 164167 size: 13921
 +ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 196681 size: 13159
  ret:-1         st:-1 flags:1  ts:-0.222493
 -ret:-1         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1  ts: 1.560000
 +ret:-1         st: 0 flags:0  ts: 2.671674
 +ret: 0         st: 0 flags:1  ts: 1.565841
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 196681 size: 13159
  ret: 0         st:-1 flags:0  ts: 0.460008
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos: 164167 size: 13921
@@@ -3,43 -3,43 +3,43 @@@ ret: 0         st:-1 flags:0  ts:-1.000
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9954
  ret: 0         st:-1 flags:1  ts: 1.894167
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 157678 size: 11930
 -ret: 0         st: 0 flags:0  ts: 0.800000
 +ret: 0         st: 0 flags:0  ts: 0.788334
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos:  67723 size: 10791
 -ret:-1         st: 0 flags:1  ts:-0.320000
 +ret:-1         st: 0 flags:1  ts:-0.317499
  ret:-1         st:-1 flags:0  ts: 2.576668
  ret: 0         st:-1 flags:1  ts: 1.470835
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 110080 size: 11697
 -ret: 0         st: 0 flags:0  ts: 0.360000
 +ret: 0         st: 0 flags:0  ts: 0.365002
  ret: 0         st: 0 flags:1 dts: 0.400000 pts: NOPTS    pos:  30744 size:  9980
 -ret:-1         st: 0 flags:1  ts:-0.760000
 +ret:-1         st: 0 flags:1  ts:-0.740831
  ret:-1         st:-1 flags:0  ts: 2.153336
  ret: 0         st:-1 flags:1  ts: 1.047503
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos:  67723 size: 10791
 -ret: 0         st: 0 flags:0  ts:-0.040000
 +ret: 0         st: 0 flags:0  ts:-0.058330
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9954
 -ret: 0         st: 0 flags:1  ts: 2.840000
 +ret: 0         st: 0 flags:1  ts: 2.835837
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 157678 size: 11930
  ret: 0         st:-1 flags:0  ts: 1.730004
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 157678 size: 11930
  ret: 0         st:-1 flags:1  ts: 0.624171
  ret: 0         st: 0 flags:1 dts: 0.400000 pts: NOPTS    pos:  30744 size:  9980
 -ret: 0         st: 0 flags:0  ts:-0.480000
 +ret: 0         st: 0 flags:0  ts:-0.481662
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9954
 -ret: 0         st: 0 flags:1  ts: 2.400000
 +ret: 0         st: 0 flags:1  ts: 2.412505
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 157678 size: 11930
  ret: 0         st:-1 flags:0  ts: 1.306672
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 110080 size: 11697
  ret: 0         st:-1 flags:1  ts: 0.200839
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9954
 -ret: 0         st: 0 flags:0  ts:-0.920000
 +ret: 0         st: 0 flags:0  ts:-0.904994
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9954
 -ret: 0         st: 0 flags:1  ts: 2.000000
 +ret: 0         st: 0 flags:1  ts: 1.989173
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 157678 size: 11930
  ret: 0         st:-1 flags:0  ts: 0.883340
 -ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos:  67723 size: 10791
 +ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 110080 size: 11697
  ret:-1         st:-1 flags:1  ts:-0.222493
 -ret:-1         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1  ts: 1.560000
 +ret:-1         st: 0 flags:0  ts: 2.671674
 +ret: 0         st: 0 flags:1  ts: 1.565841
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 110080 size: 11697
  ret: 0         st:-1 flags:0  ts: 0.460008
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos:  67723 size: 10791
@@@ -3,43 -3,43 +3,43 @@@ ret: 0         st:-1 flags:0  ts:-1.000
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
  ret: 0         st:-1 flags:1  ts: 1.894167
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 158225 size: 12232
 -ret: 0         st: 0 flags:0  ts: 0.800000
 +ret: 0         st: 0 flags:0  ts: 0.788334
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos:  67790 size: 10965
 -ret:-1         st: 0 flags:1  ts:-0.320000
 +ret:-1         st: 0 flags:1  ts:-0.317499
  ret:-1         st:-1 flags:0  ts: 2.576668
  ret: 0         st:-1 flags:1  ts: 1.470835
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 110330 size: 11970
 -ret: 0         st: 0 flags:0  ts: 0.360000
 +ret: 0         st: 0 flags:0  ts: 0.365002
  ret: 0         st: 0 flags:1 dts: 0.400000 pts: NOPTS    pos:  30747 size: 10045
 -ret:-1         st: 0 flags:1  ts:-0.760000
 +ret:-1         st: 0 flags:1  ts:-0.740831
  ret:-1         st:-1 flags:0  ts: 2.153336
  ret: 0         st:-1 flags:1  ts: 1.047503
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos:  67790 size: 10965
 -ret: 0         st: 0 flags:0  ts:-0.040000
 +ret: 0         st: 0 flags:0  ts:-0.058330
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
 -ret: 0         st: 0 flags:1  ts: 2.840000
 +ret: 0         st: 0 flags:1  ts: 2.835837
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 158225 size: 12232
  ret: 0         st:-1 flags:0  ts: 1.730004
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 158225 size: 12232
  ret: 0         st:-1 flags:1  ts: 0.624171
  ret: 0         st: 0 flags:1 dts: 0.400000 pts: NOPTS    pos:  30747 size: 10045
 -ret: 0         st: 0 flags:0  ts:-0.480000
 +ret: 0         st: 0 flags:0  ts:-0.481662
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
 -ret: 0         st: 0 flags:1  ts: 2.400000
 +ret: 0         st: 0 flags:1  ts: 2.412505
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 158225 size: 12232
  ret: 0         st:-1 flags:0  ts: 1.306672
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 110330 size: 11970
  ret: 0         st:-1 flags:1  ts: 0.200839
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
 -ret: 0         st: 0 flags:0  ts:-0.920000
 +ret: 0         st: 0 flags:0  ts:-0.904994
  ret: 0         st: 0 flags:1 dts: 0.000000 pts: NOPTS    pos:      0 size:  9961
 -ret: 0         st: 0 flags:1  ts: 2.000000
 +ret: 0         st: 0 flags:1  ts: 1.989173
  ret: 0         st: 0 flags:1 dts: 1.840000 pts: NOPTS    pos: 158225 size: 12232
  ret: 0         st:-1 flags:0  ts: 0.883340
 -ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos:  67790 size: 10965
 +ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 110330 size: 11970
  ret:-1         st:-1 flags:1  ts:-0.222493
 -ret:-1         st: 0 flags:0  ts: 2.680000
 -ret: 0         st: 0 flags:1  ts: 1.560000
 +ret:-1         st: 0 flags:0  ts: 2.671674
 +ret: 0         st: 0 flags:1  ts: 1.565841
  ret: 0         st: 0 flags:1 dts: 1.360000 pts: NOPTS    pos: 110330 size: 11970
  ret: 0         st:-1 flags:0  ts: 0.460008
  ret: 0         st: 0 flags:1 dts: 0.880000 pts: NOPTS    pos:  67790 size: 10965
@@@ -1,6 -1,6 +1,6 @@@
  #!/bin/sh
  #
 -# common regression functions for avconv
 +# common regression functions for ffmpeg
  #
  #
  
@@@ -11,7 -11,6 +11,7 @@@ target_exec=$
  target_path=$5
  threads=${6:-1}
  cpuflags=${8:-all}
 +samples=$9
  
  datadir="./tests/data"
  target_datadir="${target_path}/${datadir}"
@@@ -20,20 -19,14 +20,16 @@@ this="$test.$test_ref
  outfile="$datadir/$test_ref/"
  
  # various files
 -avconv="$target_exec ${target_path}/avconv"
 +ffmpeg="$target_exec ${target_path}/ffmpeg"
- tiny_psnr="tests/tiny_psnr"
  raw_src="${target_path}/$raw_src_dir/%02d.pgm"
  raw_dst="$datadir/$this.out.yuv"
- raw_ref="$datadir/$test_ref.ref.yuv"
  pcm_src="$target_datadir/asynth1.sw"
- pcm_dst="$datadir/$this.out.wav"
- pcm_ref="$datadir/$test_ref.ref.wav"
 +pcm_src_1ch="$target_datadir/asynth-16000-1.wav"
 +pcm_ref_1ch="$datadir/$test_ref-16000-1.ref.wav"
  crcfile="$datadir/$this.crc"
  target_crcfile="$target_datadir/$this.crc"
  
- cleanfiles="$raw_dst $pcm_dst $crcfile"
+ cleanfiles="$raw_dst $crcfile"
  trap 'rm -f -- $cleanfiles' EXIT
  
  mkdir -p "$datadir"
@@@ -54,8 -47,8 +50,8 @@@ ENC_OPTS="$COMMON_OPTS -threads 1 -dct 
  
  run_avconv()
  {
 -    $echov $avconv $AVCONV_OPTS $*
 -    $avconv $AVCONV_OPTS $*
 +    $echov $ffmpeg $AVCONV_OPTS $*
 +    $ffmpeg $AVCONV_OPTS $*
  }
  
  do_avconv()
      set -- $* ${target_path}/$f
      run_avconv $*
      do_md5sum $f
-     if [ $f = $raw_dst ] ; then
-         $tiny_psnr $f $raw_ref
-     elif [ $f = $pcm_dst ] ; then
-         $tiny_psnr $f $pcm_ref 2
-     else
-         echo $(wc -c $f)
-     fi
+     echo $(wc -c $f)
  }
  
 +do_avconv_nomd5()
 +{
 +    f="$1"
 +    shift
 +    set -- $* ${target_path}/$f
 +    run_avconv $*
 +    if [ $f = $raw_dst ] ; then
 +        $tiny_psnr $f $raw_ref
 +    elif [ $f = $pcm_dst ] ; then
 +        $tiny_psnr $f $pcm_ref 2
 +    else
 +        echo $(wc -c $f)
 +    fi
 +}
 +
  do_avconv_crc()
  {
      f="$1"
      run_avconv $* -f crc "$target_crcfile"
      echo "$f $(cat $crcfile)"
  }
- do_video_decoding()
- {
-     do_avconv $raw_dst $DEC_OPTS $1 -i $target_path/$file -f rawvideo $ENC_OPTS -vsync 0 $2
- }
- do_video_encoding()
- {
-     file=${outfile}$1
-     do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS $2
- }
 +
- do_audio_encoding()
- {
-     file=${outfile}$1
-     do_avconv $file $DEC_OPTS -ac 2 -ar 44100 -f s16le -i $pcm_src -ab 128k $ENC_OPTS $2
- }
- do_audio_decoding()
- {
-     do_avconv $pcm_dst $DEC_OPTS -i $target_path/$file -sample_fmt s16 -f wav $1
- }
 +do_video_encoding_nomd5()
 +{
 +    file=${outfile}$1
 +    do_avconv_nomd5 $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS $2
 +}
 +
 +do_audio_decoding_nomd5()
 +{
 +    do_avconv_nomd5 $pcm_dst $DEC_OPTS -i $target_path/$file -sample_fmt s16 -f wav $1
 +}
diff --combined tests/rotozoom.c
@@@ -3,20 -3,20 +3,20 @@@
   *
   * copyright (c) Sebastien Bechet <s.bechet@av7.net>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -159,12 -159,15 +159,15 @@@ int main(int argc, char **argv
      int w, h, i;
      char buf[1024];
  
-     if (argc != 3) {
-         printf("usage: %s directory/ image.pnm\n"
+     if (argc > 3) {
+         printf("usage: %s image.pnm [directory/]\n"
                 "generate a test video stream\n", argv[0]);
          return 1;
      }
  
+     if (argc < 3)
+         err_if(!freopen(NULL, "wb", stdout));
      w = DEFAULT_WIDTH;
      h = DEFAULT_HEIGHT;
  
      width   = w;
      height  = h;
  
-     if (init_demo(argv[2]))
+     if (init_demo(argv[1]))
          return 1;
  
      for (i = 0; i < DEFAULT_NB_PICT; i++) {
-         snprintf(buf, sizeof(buf), "%s%02d.pgm", argv[1], i);
          gen_image(i, w, h);
-         pgmyuv_save(buf, w, h, rgb_tab);
+         if (argc > 2) {
+             snprintf(buf, sizeof(buf), "%s%02d.pgm", argv[2], i);
+             pgmyuv_save(buf, w, h, rgb_tab);
+         } else {
+             pgmyuv_save(NULL, w, h, rgb_tab);
+         }
      }
  
      free(rgb_tab);
diff --combined tests/utils.c
@@@ -1,20 -1,18 +1,20 @@@
  /*
 - * This file is part of Libav.
 + * copyright (c) Sebastien Bechet <s.bechet@av7.net>
   *
 - * Libav is free software; you can redistribute it and/or
 + * This file is part of FFmpeg.
 + *
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -117,20 -115,37 +117,37 @@@ static void pgmyuv_save(const char *fil
  
      rgb24_to_yuv420p(lum_tab, cb_tab, cr_tab, rgb_tab, w, h);
  
-     f = fopen(filename, "wb");
-     fprintf(f, "P5\n%d %d\n%d\n", w, h * 3 / 2, 255);
+     if (filename) {
+         f = fopen(filename, "wb");
+         fprintf(f, "P5\n%d %d\n%d\n", w, h * 3 / 2, 255);
+     } else {
+         f = stdout;
+     }
      err_if(fwrite(lum_tab, 1, w * h, f) != w * h);
      h2 = h / 2;
      w2 = w / 2;
      cb = cb_tab;
      cr = cr_tab;
-     for (i = 0; i < h2; i++) {
-         err_if(fwrite(cb, 1, w2, f) != w2);
-         err_if(fwrite(cr, 1, w2, f) != w2);
-         cb += w2;
-         cr += w2;
+     if (filename) {
+         for (i = 0; i < h2; i++) {
+             err_if(fwrite(cb, 1, w2, f) != w2);
+             err_if(fwrite(cr, 1, w2, f) != w2);
+             cb += w2;
+             cr += w2;
+         }
+         fclose(f);
+     } else {
+         for (i = 0; i < h2; i++) {
+             err_if(fwrite(cb, 1, w2, f) != w2);
+             cb += w2;
+         }
+         for (i = 0; i < h2; i++) {
+             err_if(fwrite(cr, 1, w2, f) != w2);
+             cr += w2;
+         }
      }
-     fclose(f);
  
      free(lum_tab);
      free(cb_tab);
diff --combined tests/videogen.c
@@@ -4,20 -4,20 +4,20 @@@
   *
   * Copyright (c) 2002 Fabrice Bellard
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -146,12 -146,15 +146,15 @@@ int main(int argc, char **argv
      int w, h, i;
      char buf[1024];
  
-     if (argc != 2) {
-         printf("usage: %s file\n"
+     if (argc > 2) {
+         printf("usage: %s [file]\n"
                 "generate a test video stream\n", argv[0]);
          exit(1);
      }
  
+     if (argc < 2)
+         err_if(!freopen(NULL, "wb", stdout));
      w = DEFAULT_WIDTH;
      h = DEFAULT_HEIGHT;
  
      height  = h;
  
      for (i = 0; i < DEFAULT_NB_PICT; i++) {
-         snprintf(buf, sizeof(buf), "%s%02d.pgm", argv[1], i);
          gen_image(i, w, h);
-         pgmyuv_save(buf, w, h, rgb_tab);
+         if (argc > 1) {
+             snprintf(buf, sizeof(buf), "%s%02d.pgm", argv[1], i);
+             pgmyuv_save(buf, w, h, rgb_tab);
+         } else {
+             pgmyuv_save(NULL, w, h, rgb_tab);
+         }
      }
  
      free(rgb_tab);