Skip to content
Snippets Groups Projects
  1. Nov 23, 2013
  2. Nov 22, 2013
  3. Nov 20, 2013
    • Erik Niemeyer's avatar
      Support for extended feature flags enumeration leaf in CPUID instruction · 9f268611
      Erik Niemeyer authored
      This CL fixes an overcite with the AVX2 support CL previously
      merged (Change-Id: Idc03f3fca4bf2d0afd33631ea1d3caf8fc34ec29) that
      prevented runtime execution of AVX2 code in WebM. 
      
      Background:
      Starting with the Sandybridge processor, the CPUID instruction was
      enhanced to add various extended feature flag enumeration leaves.
      Reading these leaves requires an additional input value for the CPUID
      instruction which is stored in ECX. This change adds this second input
      value for all ARCH_X86 and ARCH_x86_64 targets to the CPUID macros,
      allowing checks of EBX bit 5 for AVX2 support. This capability will be
      required moving forward to check for future processor features.
      
      Change-Id: Ie9d872bc9ff68dad4b6578e4544e4dfd0ae26c36
      9f268611
  4. Oct 29, 2013
  5. Jun 18, 2013
  6. May 02, 2013
  7. Apr 26, 2013
  8. Mar 05, 2013
    • Dmitry Kovalev's avatar
      Code cleanup. · 7f99c3c5
      Dmitry Kovalev authored
      Removing redundant 'extern' keywords, fixing formatting and #include order,
      code simplification.
      
      Change-Id: I0e5fdc8009010f3f885f13b5d76859b9da511758
      7f99c3c5
  9. Feb 01, 2013
  10. Jan 25, 2013
  11. Jan 14, 2013
    • John Koleszar's avatar
      Use INT64_MAX instead of LLONG_MAX · 24bc1a71
      John Koleszar authored
      These variables have the type int64_t, not long long. long long could
      be a larger type than 64 bits. Emulate INT64_MAX for older versions of
      MSVC, and remove the unreferenced vpx_ports/vpxtypes.h
      
      Change-Id: Ideaca71838fcd3849d816d5ab17aa347c97d03b0
      24bc1a71
  12. Dec 26, 2012
  13. Dec 20, 2012
  14. Dec 11, 2012
  15. Nov 19, 2012
  16. Nov 16, 2012
  17. Nov 15, 2012
  18. Nov 06, 2012
    • Yaowu Xu's avatar
      silent a lot of MSVC compiler warnings · 8a336b0d
      Yaowu Xu authored
      there are still a couple type of warning left, which are related to
      double constants assigned to float type. As those would be addressed
      by the conversion of transforms into integer version. This commit
      has left those un-dealt with.
      
      Change-Id: I48fd9b489c0c27ad6b543f4177423419f929f2bb
      8a336b0d
  19. Nov 05, 2012
  20. Sep 25, 2012
    • Mike Frysinger's avatar
      check for x32 targets · a75a9cf2
      Mike Frysinger authored
      Add configure detection of the new x32 ABI as well as support in asm.
      
      Change-Id: Ic66a069599adeb81062090e3f11b71ee1fb97cb8
      a75a9cf2
  21. Aug 20, 2012
  22. Aug 14, 2012
  23. Jul 17, 2012
  24. Jun 20, 2012
    • Johann Koenig's avatar
      Clean Android build defaults · d6e80deb
      Johann Koenig authored
      Disable unit-tests. The logging in GTest would need to be adjusted.
      
      Restructure ARM cpu detection. Flatten if-else logic.
      
      Change #if defined(HAVE_*) to #if HAVE_* because we only need to check
      for features that the library was actually built with. This should have
      been harmless, as disabled feature sets wouldn't have any features to
      call.
      
      Change-Id: Iea21aa42ce5f049c53ca0376d25bcd0f36f38284
      d6e80deb
    • Attila Nagy's avatar
      Enables building examples with Android NDK · 5daaa838
      Attila Nagy authored
      Soft enable runtime cpu detect for armv7-android target, so that it
      can be disabled and remove dependency on 'cpufeatures' lib.
      Change the arm_cpu_caps implementation selection such that 'no rtcd' takes
      precedence over system type.
      
      Switch to use -mtune instead of -mcpu. NDK was complaining about
      -mcpu=cortex-a8 conflicting with -march=armv7-a, not sure why.
      
      Add a linker flag to fix some cortex-a8 bug, as suggested by NDK Dev
      Guide.
      
      Examples:
      Configure for armv7+neon:
      
      ./configure --target=armv7-android-gcc \
                  --sdk-path=/path/to/android/ndk \
                  --disable-runtime-cpu-detect \
                  --enable-realtime-only \
                  --disable-unit-tests
      
      ...armv7 w/o neon:
      
      ./configure --target=armv7-android-gcc \
                  --sdk-path=/path/to/android/ndk \
                  --disable-runtime-cpu-detect \
                  --enable-realtime-only \
                  --disable-neon \
                  --cpu=cortex-a9 \
                  --disable-unit-tests
      
      Change-Id: I37e2c0592745208979deec38f7658378d4bd6cfa
      5daaa838
  25. Jun 18, 2012
  26. Jun 12, 2012
  27. Jun 11, 2012
    • John Koleszar's avatar
      Fix pedantic compiler warnings · 0164a1cc
      John Koleszar authored
      Allows building the library with the gcc -pedantic option, for improved
      portabilty. In particular, this commit removes usage of C99/C++ style
      single-line comments and dynamic struct initializers. This is a
      continuation of the work done in commit 97b766a4, which removed most
      of these warnings for decode only builds.
      
      Change-Id: Id453d9c1d9f44cc0381b10c3869fabb0184d5966
      0164a1cc
  28. Jun 05, 2012
    • Alpha Lam's avatar
      asm_*_offsets to define variables as constants · e343988f
      Alpha Lam authored
      This change is to allow obj_int_extract to extract all integers
      in the data segment. With the const keyword these variables are
      forced into the .rodata segment even for zero variable value.
      
      We had a problem before that zero valueed variables would get
      assigned to BSS segment that fooled obj_int_extract to give
      incorrect values.
      
      Change-Id: Icd94f80a8ab356879894ca508bf132d20b865299
      e343988f
  29. May 30, 2012
    • Alpha Lam's avatar
      Make libvpx Chromium build friendly · fc2fc899
      Alpha Lam authored
      Add PRIVATE macro for adding private_extern directive for yasm
      to hide global symbols. This is only enabled if -DCHROMIUM is used
      with YASM.
      
      Also fixed a small problem with	rtcd_defs.sh to guard TEMPORAL_DENOISING.
      
      Change-Id: I9027fce3ebddcf20078293e4b86b396f21da7857
      fc2fc899
  30. May 24, 2012
    • Alpha Lam's avatar
      asm_*_offsets to define variables as constants · 49f7f05f
      Alpha Lam authored
      This change is to allow obj_int_extract to extract all integers
      in the data segment. With the const keyword these variables are
      forced into the .rodata segment even for zero variable value.
      
      We had a problem before that zero valueed variables would get
      assigned to BSS segment that fooled obj_int_extract to give
      incorrect values.
      
      Change-Id: Icd94f80a8ab356879894ca508bf132d20b865299
      49f7f05f
    • Alpha Lam's avatar
      Make libvpx Chromium build friendly · 0f7e4665
      Alpha Lam authored
      Add PRIVATE macro for adding private_extern directive for yasm
      to hide global symbols. This is only enabled if -DCHROMIUM is used
      with YASM.
      
      Also fixed a small problem with	rtcd_defs.sh to guard TEMPORAL_DENOISING.
      
      Change-Id: I9027fce3ebddcf20078293e4b86b396f21da7857
      0f7e4665
  31. May 02, 2012
    • Timothy B. Terriberry's avatar
      Add support for native Solaris compiler on x86. · 8b1a14d1
      Timothy B. Terriberry authored
      Original patch by Ginn Chen <ginn.chen@oracle.com> against libvpx
       v0.9.0.
      I've forward-ported it to the current version (which mostly
       involved removing hunks that were no longer relevant), since I've
       given up on getting Ginn to submit this upstream himself.
      
      Change-Id: I403c757c831c78d820ebcfe417e717b470a1d022
      8b1a14d1
  32. Mar 15, 2012
    • Yaowu Xu's avatar
      WebM Experimental Codec Branch Snapshot · 6035da54
      Yaowu Xu authored
      This is a code snapshot of experimental work currently ongoing for a
      next-generation codec.
      
      The codebase has been cut down considerably from the libvpx baseline.
      For example, we are currently only supporting VBR 2-pass rate control
      and have removed most of the code relating to coding speed, threading,
      error resilience, partitions and various other features.  This is in
      part to make the codebase easier to work on and experiment with, but
      also because we want to have an open discussion about how the bitstream
      will be structured and partitioned and not have that conversation
      constrained by past work.
      
      Our basic working pattern has been to initially encapsulate experiments
      using configure options linked to #IF CONFIG_XXX statements in the
      code. Once experiments have matured and we are reasonably happy that
      they give benefit and can be merged without breaking other experiments,
      we remove the conditional compile statements and merge them in.
      
      Current changes include:
      * Temporal coding experiment for segments (though still only 4 max, it
        will likely be increased).
      * Segment feature experiment - to allow various bits of information to
        be coded at the segment level. Features tested so far include mode
        and reference frame information, limiting end of block offset and
        transform size, alongside Q and loop filter parameters, but this set
        is very fluid.
      * Support for 8x8 transform - 8x8 dct with 2nd order 2x2 haar is used
        in MBs using 16x16 prediction modes within inter frames.
      * Compound prediction (combination of signals from existing predictors
        to create a new predictor).
      * 8 tap interpolation filters and 1/8th pel motion vectors.
      * Loop filter modifications.
      * Various entropy modifications and changes to how entropy contexts and
        updates are handled.
      * Extended quantizer range matched to transform precision improvements.
      
      There are also ongoing further experiments that we hope to merge in the
      near future: For example, coding of motion and other aspects of the
      prediction signal to better support larger image formats, use of larger
      block sizes (e.g. 32x32 and up) and lossless non-transform based coding
      options (especially for key frames). It is our hope that we will be
      able to make regular updates and we will warmly welcome community
      contributions.
      
      Please be warned that, at this stage, the codebase is currently slower
      than VP8 stable branch as most new code has not been optimized, and
      even the 'C' has been deliberately written to be simple and obvious,
      not fast.
      
      The following graphs have the initial test results, numbers in the
      tables measure the compression improvement in terms of percentage. The
      build has  the following optional experiments configured:
      --enable-experimental --enable-enhanced_interp --enable-uvintra
      --enable-high_precision_mv --enable-sixteenth_subpel_uv
      
      CIF Size clips:
      http://getwebm.org/tmp/cif/
      HD size clips:
      http://getwebm.org/tmp/hd/
      (stable_20120309 represents encoding results of WebM master branch
      build as of commit#7a159071)
      
      They were encoded using the following encode parameters:
      --good --cpu-used=0 -t 0 --lag-in-frames=25 --min-q=0 --max-q=63
      --end-usage=0 --auto-alt-ref=1 -p 2 --pass=2 --kf-max-dist=9999
      --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50
      --minsection-pct=0 --maxsection-pct=800 --sharpness=0
      --arnr-maxframes=7 --arnr-strength=3(for HD,6 for CIF)
      --arnr-type=3
      
      Change-Id: I5c62ed09cfff5815a2bb34e7820d6a810c23183c
      6035da54
  33. Mar 01, 2012
  34. Feb 08, 2012
  35. Jan 20, 2012
    • 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
  36. Jan 18, 2012
    • 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
  37. Jan 06, 2012
Loading