1. 13 Mar, 2012 - 1 commit
  2. 29 Feb, 2012 - 1 commit
    • Attila Nagy's avatar
      Packing bitstream on-the-fly with delayed context updates · 52cf4dca
      Attila Nagy authored
      Produce the token partitions on-the-fly, while processing each MB.
      Context is updated at the beginning of each frame based on the
      previoud frame's counters. Optimally encoder outputs partitions in
      separate buffers. For frame based output, partitions are concatenated
      internally.
      
      Limitations:
          - enabled just in combination with realtime-only mode
          - number of encoding threads has to be equal or less than the
          number of token partitions. For this reason, by default the encoder
          will do 8 token partitions.
          - vpxenc supports partition output (-P) just in combination with
          IVF output format (--ivf)
      
      Performance:
          - Realtime encoder can be up to 13% faster (ARM) depending on the number
          of threads and bitrate settings. Constant gain over the 5-16 speed
          range.
          - Token buffer reduced from one frame to 8 MBs
      
      Quality:
          - quality is affected by the delayed context updates. This again
          dependents on input material, speed and bitrate settings. For VC
          style input the loss seen is up to 0.2dB. If error-resilient=2
          mode is used than the effect of this change is negligible.
      
      Example:
      ./configure --enable-realtime-only --enable-onthefly-bitpacking
      ./vpxenc --rt --end-usage=1 --fps=30000/1000 -w 640 -h 480
      --target-bitrate=1000 --token-parts=3 --static-thresh=2000
      --ivf -P -t 4 -o strm.ivf tanya_640x480.yuv
      
      Change-Id: I127295cb85b835fc287e1c0201a67e378d025d76
      52cf4dca
  3. 08 Feb, 2012 - 1 commit
  4. 20 Jan, 2012 - 1 commit
    • Fritz Koenig's avatar
      Disconnect ARM tgt_isa from dsp extensions · 89210284
      Fritz Koenig authored
      A processor with ARMv7 instructions does not
      necessarily have NEON dsp extensions.  This CL
      has the added side effect of allowing the ability
      to enable/disable the dsp extensions cleanly.
      
      Change-Id: Ie1e879b8fe131885bc3d4138a0acc9ffe73a36df
      89210284
  5. 18 Jan, 2012 - 1 commit
    • Fritz Koenig's avatar
      Add makefile for building libvpx for Android. · d8305731
      Fritz Koenig authored
      Android.mk file for using the Android NDK build
      system to compile. Adds option for SDK path to
      use the compiler that comes with android for testing
      compiler compliance.
      
      Change-Id: I5fd17cb76e3ed631758d3f392e62ae1a050d0d10
      d8305731
  6. 10 Jan, 2012 - 1 commit
    • Fritz Koenig's avatar
      Remove iwmmx target. · 55610053
      Fritz Koenig authored
      No optimized code present for target.
      
      Change-Id: If99bb37491b15c1093e8851430c060cb2466898c
      55610053
  7. 06 Jan, 2012 - 1 commit
  8. 14 Dec, 2011 - 1 commit
    • Johann's avatar
      Use xcode 4.2 · 247e7343
      Johann authored
      Allow targeting darwin11 / 10.7
      
      Update arm paths for iPhoneOS 5.0
      
      Change-Id: I057156349311ec66a163c4c1cea60dc5aeaaa492
      247e7343
  9. 05 Dec, 2011 - 1 commit
    • Yunqing Wang's avatar
      Multiple-resolution encoder · aa7335e6
      Yunqing Wang authored
      The example encoder down-samples the input video frames a number of
      times with a down-sampling factor, and then encodes and outputs
      bitstreams with different resolutions.
      
      Support arbitrary down-sampling factor, and down-sampling factor
      can be different for each encoding level.
      
      For example, the encoder can be tested as follows.
      1. Configure with multi-resolution encoding enabled:
      ../libvpx/configure --target=x86-linux-gcc --disable-codecs
      --enable-vp8 --enable-runtime_cpu_detect --enable-debug
      --disable-install-docs --enable-error-concealment
      --enable-multi-res-encoding
      2. Run make
      3. Encode:
      If input video is 1280x720, run:
      ./vp8_multi_resolution_encoder 1280 720 input.yuv 1.ivf 2.ivf 3.ivf 1
      (output: 1.ivf(1280x720); 2.ivf(640x360); 3.ivf(320x180).
      The last parameter is set to 1/0 to show/not show PSNR.)
      4. Decode:
      ./simple_decoder 1.ivf 1.yuv
      ./simple_decoder 2.ivf 2.yuv
      ./simple_decoder 3.ivf 3.yuv
      5. View video:
      mplayer 1.yuv -demuxer rawvideo -rawvideo w=1280:h=720 -loop 0 -fps 30
      mplayer 2.yuv -demuxer rawvideo -rawvideo w=640:h=360 -loop 0 -fps 30
      mplayer 3.yuv -demuxer rawvideo -rawvideo w=320:h=180 -loop 0 -fps 30
      
      The encoding parameters can be modified in vp8_multi_resolution_encoder.c,
      for example, target bitrate, frame rate...
      
      Modified API. John helped a lot with that. Thanks!
      
      Change-Id: I03be9a51167eddf94399f92d269599fb3f3d54f5
      aa7335e6
  10. 12 Nov, 2011 - 1 commit
  11. 04 Nov, 2011 - 1 commit
  12. 20 Oct, 2011 - 1 commit
  13. 14 Oct, 2011 - 1 commit
  14. 25 Jul, 2011 - 1 commit
  15. 19 May, 2011 - 1 commit
    • Stefan Holmer's avatar
      Adding error-concealment to the decoder. · d04f8523
      Stefan Holmer authored
      The error-concealer is plugged in after any motion vectors have been
      decoded. It tries to estimate any missing motion vectors from the
      motion vectors of the previous frame. Intra blocks with missing
      residual are replaced with inter blocks with estimated motion vectors.
      
      This feature was developed in a separate sandbox
      (sandbox/holmer/error-concealment).
      
      Change-Id: I5c8917b031078d79dbafd90f6006680e84a23412
      d04f8523
  16. 29 Apr, 2011 - 1 commit
  17. 31 Mar, 2011 - 3 commits
    • Attila Nagy's avatar
      Runtime detection of available processor cores. · 297b2765
      Attila Nagy authored
      Detect the number of available cores and limit the thread allocation
      accordingly. On decoder side limit the number of threads to the max
      number of token partition.
      
      Core detetction works on Windows and
      Posix platforms, which define _SC_NPROCESSORS_ONLN or _SC_NPROC_ONLN.
      
      Change-Id: I76cbe37c18d3b8035e508b7a1795577674efc078
      297b2765
    • Ralph Giles's avatar
      Generate a vpx.pc file for pkg-config. · 607f8420
      Ralph Giles authored
      Rules are added to libs.mk to generate a vpx.pc, which is
      installed as pkgconfig/vpx.pc under the target library directory.
      This also requires the install path prefix be exported directly
      in config.mk.
      
      Some systems use a tool called pkg-config to query information
      about intalled libraries or other resources, based on database
      files provided by the packages themselves at install time.
      
      Providing such a file for libvpx simplifies integration with
      other build systems, and provides an easy avenue for developers
      to test against their own builds of the library.
      
      Change-Id: I4e32a8fbb53fc331aa95eb207c63dd70a76d18ed
      607f8420
    • Ralph Giles's avatar
      Export the version string as a makefile variable. · 53e9987b
      Ralph Giles authored
      The configure script exports the major/minor/patch version
      numbers, but didn't make the full version string available
      to Makefile recipes and rules, the way it is available to
      C code from vpx_version.h.
      
      Change-Id: Ic6a9d4c574a6ea66a50c928f4eedeb91d7668eb5
      53e9987b
  18. 22 Feb, 2011 - 1 commit
    • Johann's avatar
      purge wince configuration · 418f4219
      Johann authored
      this has been broken since the initial release
      
      Change-Id: If0d4deb2de9f7d0c4c05641e2bbf9cc1bf11e171
      418f4219
  19. 11 Feb, 2011 - 1 commit
    • Johann's avatar
      remove assembly detokenizer · bb6bcbcc
      Johann authored
      hasn't been kept up to date. remove it to avoid confusion.
      
      Change-Id: I52ffde19b59fec5c7a381299ca2e85cb38330be7
      bb6bcbcc
  20. 04 Feb, 2011 - 1 commit
    • John Koleszar's avatar
      configure: enable unused variable warnings · b601eb8c
      John Koleszar authored
      Only suppress unused function warnings, rather than supprressing all
      unused-* warnings. Unused functions can still be seen with
      --enable-extra-warnings.
      
      Change-Id: Ibca20d859dbffedd76bd082ffe0fa685c3ac198e
      b601eb8c
  21. 28 Jan, 2011 - 1 commit
    • Tero Rintaluoma's avatar
      Adds "armvX-none-rvct" targets · 11a222f5
      Tero Rintaluoma authored
      Adds following targets to configure script to support RVCT compilation
      without operating system support (for Profiler or bare metal images).
       - armv5te-none-rvct
       - armv6-none-rvct
       - armv7-none-rvct
      
      To strip OS specific parts from the code "os_support"-config was added
      to script and CONFIG_OS_SUPPORT flag is used in the code to exclude OS
      specific parts such as OS specific includes and function calls for
      timers and threads etc. This was done to enable RVCT compilation for
      profiling purposes or running the image on bare metal target with
      Lauterbach.
      
      Removed separate AREA directives for READONLY data in armv6 and neon
      assembly files to fix the RVCT compilation. Otherwise
      "ldr <reg>, =label" syntax would have been needed to prevent linker
      errors. This syntax is not supported by older gnu assemblers.
      
      Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43
      11a222f5
  22. 20 Jan, 2011 - 1 commit
    • Attila Nagy's avatar
      Update configure scripts · 41955325
      Attila Nagy authored
      Add --extra-cflags as config parameter for user defined extra CFLAGS.
      Add -g to asflags when debug enabled for arm targets.
      
      Change-Id: Ibdde7cfdda6736c1c1db45e6466bd08504a51f15
      41955325
  23. 16 Nov, 2010 - 1 commit
    • tomfinegan's avatar
      Add x86_64-darwin10-gcc target. · faaa57b9
      tomfinegan authored
      Adds native build configuration for Snow Leopard.  Useful when
      users configure without arguments on OSX 10.6.
      
      Change-Id: I0bd63912a25bbfb9d4c8d58a781d0f390792429c
      faaa57b9
  24. 10 Nov, 2010 - 2 commits
    • Fritz Koenig's avatar
      configure : Incorrect syntax in configure · 692b1085
      Fritz Koenig authored
      Check to see if postproc was enabled when enabling the
      postproc visualizer was wrong.
      
      Fix for bug introduced in Change Ia74f357d
      
      Change-Id: I4bee9ad2caee3cfe3bac6972047f6af7c54cad4e
      692b1085
    • Fritz Koenig's avatar
      postproc : Re-work posproc calling to allow more flags. · 647df00f
      Fritz Koenig authored
      Debugging in postproc needs more flags to allow for specific
      block types to be turned on or off in the visualizations.
      
      Must be enabled with --enable-postproc-visualizer during
      configuration time.
      
      Change-Id: Ia74f357ddc3ad4fb8082afd3a64f62384e4fcb2d
      647df00f
  25. 27 Oct, 2010 - 1 commit
    • Yunqing Wang's avatar
      Full search SAD function optimization in SSE4.1 · 71ecb5d7
      Yunqing Wang authored
      Use mpsadbw, and calculate 8 sad at once. Function list:
      vp8_sad16x16x8_sse4
      vp8_sad16x8x8_sse4
      vp8_sad8x16x8_sse4
      vp8_sad8x8x8_sse4
      vp8_sad4x4x8_sse4
      
      (test clip: tulip)
      For best quality mode, this gave encoder a 5% performance boost.
      For good quality mode with speed=1, this gave encoder a 3%
      performance boost.
      
      Change-Id: I083b5a39d39144f88dcbccbef95da6498e490134
      71ecb5d7
  26. 25 Oct, 2010 - 1 commit
    • Aaron Watry's avatar
      Add sparc-solaris-gcc as a build target. · 53f61ce2
      Aaron Watry authored
      Solaris 10 requires -lposix4 to build successfully on gcc. I only have a
      Sparc machine to test with on Solaris 10, but this change leaves
      OpenSolaris x86 in a usable state w/ gnu-generic.
      
      I am of the belief that this change should fix Solaris 10 on Sparc, but
      will leave other Solaris architectures as is. If someone has an x86
      Solaris 10 machine to test on, they may add x86-solaris-gcc to
      libvpx/configure and give it a go.
      
      Change-Id: I17a282028bb4d3e9fd8764159f95665160f7b62a
      53f61ce2
  27. 05 Oct, 2010 - 1 commit
    • Jan Kratochvil's avatar
      nasm: add configure support · 7be093ea
      Jan Kratochvil authored
      yasm has to be preferred as currently nasm produces marginally less
      efficient code (longer opcodes). Filed for nasm as:
      https://sourceforge.net/tracker/?func=detail&atid=106208&aid=3037462&group_id=6208
      
      OTOH package should be built always the same, no matter which additional
      packages are / are not present on the system. As the package should be
      built with nasm (as yasm may not be available) we should not use yasm
      even if it is possibly available.
      
      nasm >= approx. 2.09 is required for the nasm compilation as the former
      versions had a section alignment bug.
      
      Provide nasm compatibility. No binary change by this patch with yasm on
      {x86_64,i686}-fedora13-linux-gnu. Few longer opcodes with nasm on
      {x86_64,i686}-fedora13-linux-gnu have been checked as safe.
      
      Change-Id: Icb0fe39c64bbcc3bcd7972e392fd03f3273340df
      7be093ea
  28. 24 Sep, 2010 - 1 commit
    • John Koleszar's avatar
      configure: add --enable-small · f9b2ca5b
      John Koleszar authored
      Build with -O2 rather than -O3, to dissuade the compiler from inlining
      so much. See issue #1.
      
      Change-Id: Iacb8ddb59125d3f01c5fea846b45a1c004c9aee0
      f9b2ca5b
  29. 21 Sep, 2010 - 1 commit
    • Johann's avatar
      Fix typo · 0511cbff
      Johann authored
      Also, move with other ppc32 options
      
      Change-Id: I0b97413c767909c5682afc9bdd954f3d43401f6c
      0511cbff
  30. 13 Sep, 2010 - 2 commits
  31. 12 Aug, 2010 - 1 commit
    • Johann's avatar
      framework for assembly version of the detokenizer · 9602799c
      Johann authored
      adds a compile time option: --enable-arm-asm-detok which pulls in
      vp8/decoder/arm/detokenize.asm
      
      currently about break even speed wise, but changes are pending to
      the fill code (branch and load 3 bytes versus conditionally always
      load one) and the error handling. Currently it doesn't handle zero
      runs or overrunning the buffer.
      
      this is really just so i don't have to rebase my changes all the
      time to run benchmarks - now just need to replace one file!
      
      Change-Id: I56d0e2354dc0ca3811bffd0e88fe1f952fa6c797
      9602799c
  32. 27 Jul, 2010 - 1 commit
  33. 22 Jul, 2010 - 2 commits
    • Fritz Koenig's avatar
      Remove CONFIG_NEW_TOKENS files. · 08eed049
      Fritz Koenig authored
      These files were out of date and no longer maintained.
      Token decoding has implemented the no-crash code which
      is incompatible with this arm assembly code.
      
      Change-Id: Ibf729886c56fca48181af60b44bda896c30023fc
      08eed049
    • Tom Finegan's avatar
      Add vs9 targets. · 72d4ba92
      Tom Finegan authored
      Add targets x86-win32-vs9 and x86_64-win64-vs9 for support of Visual
      Studio 2008-- this removes the need to convert the vs8 projects before
      using them within the IDE.
      
      Change-Id: Idb83e2ae701e07d98db1be71638280a493d770a2
      72d4ba92
  34. 24 Jun, 2010 - 2 commits
    • John Koleszar's avatar
      Remove INLINE/FORCEINLINE · 5e344614
      John Koleszar authored
      These are mostly vestigial, it's up to the compiler to decide what
      should be inlined, and this collided with certain Windows platform SDKs.
      
      Change-Id: I80dd35de25eda7773156e355b5aef8f7e44e179b
      5e344614
    • John Koleszar's avatar
      configure: remove postproc-generic · d1920de2
      John Koleszar authored
      This option is vestigial and is unreferenced.
      
      Change-Id: I8bd27cb674c263e9a86fb43244003a9b9df3ca9c
      d1920de2