1. 15 Feb, 2013 2 commits
  2. 13 Feb, 2013 1 commit
  3. 16 Jan, 2013 1 commit
    • John Koleszar's avatar
      Start to anonymize reference frames · da832a80
      John Koleszar authored
      Remove lst_fb_idx, gld_fb_idx, alt_fb_idx, refresh_last_frame,
      refresh_golden_frame, refresh_alt_ref_frame from common. Gold/Alt are
      encode side conventions. From the decoder's perspective, we want to be
      dealing with numbered references.
      
      Updates to active_ref 2 signal mode context switches, vestigial from
      refresh_alt_ref_frame. This needs some clean up to make sense with
      increased numbers of reference frames, as well as reimplementing the
      swapping of alt/golden which was previously done using the
      buffer-to-buffer copy mechanism removed in an earlier commit.
      
      Change-Id: I7334445158b7666f9295d2a2dd22aa03f4485f58
      da832a80
  4. 26 Dec, 2012 1 commit
  5. 18 Dec, 2012 1 commit
  6. 17 Dec, 2012 1 commit
  7. 08 Dec, 2012 1 commit
    • Ronald S. Bultje's avatar
      Introduce vp9_coeff_probs/counts/stats/accum types. · 885cf816
      Ronald S. Bultje authored
      Use these, instead of the 4/5-dimensional arrays, to hold statistics,
      counts, accumulations and probabilities for coefficient tokens. This
      commit also re-allows ENTROPY_STATS to compile.
      
      Change-Id: If441ffac936f52a3af91d8f2922ea8a0ceabdaa5
      885cf816
  8. 30 Nov, 2012 1 commit
  9. 28 Nov, 2012 1 commit
  10. 27 Nov, 2012 1 commit
    • John Koleszar's avatar
      Add vp9_ prefix to all vp9 files · fcccbcbb
      John Koleszar authored
      Support for gyp which doesn't support multiple objects in the same
      static library having the same basename.
      
      Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
      fcccbcbb
  11. 15 Nov, 2012 1 commit
    • John Koleszar's avatar
      Pack invisible frames without lengths · 64bcffc1
      John Koleszar authored
      Modify the decoder to return the ending position of the bool decoder and
      use that as the starting position for the next frame.
      
      The constant-space algorithm for parsing the appended frame lengths is
      O(n^2), which is a potential DoS concern if n is unbounded. Revisit
      the appended lengths for use as partition lengths when multipartition
      support is added.
      
      In addition, this allows decoding of raw streams outside of a container
      without additional framing information, though it's insufficient to
      be able to remux said stream into a container.
      
      Change-Id: I71e801a9c3e37abe559a56a597635b0cbae1934b
      64bcffc1
  12. 01 Nov, 2012 2 commits
  13. 31 Oct, 2012 3 commits
  14. 30 Oct, 2012 1 commit
  15. 19 Oct, 2012 1 commit
    • John Koleszar's avatar
      Remove bc, bc2 from pbi,cpi,xd · e9fd1eac
      John Koleszar authored
      Pass the bool coder to be used explicitly. This avoids cases where two
      different bool coders can be addressed from the same function. Also be
      more consistent with bool coder variable naming, start to standardize
      on 'bc'.
      
      Change-Id: I1c95e2fdbe24ebe8c0f84924daa1728e3b054a31
      e9fd1eac
  16. 16 Oct, 2012 1 commit
    • John Koleszar's avatar
      Force interleaved decoding · c073e5ca
      John Koleszar authored
      Rather than decoding all modes/mvs separately, decode them per MB. This
      forces the mode which was already used form the CONFIG_NEWBESTREFMV and
      CONFIG_SUPERBLOCKS experiments, and is a precursor to changing to
      interleaved encoding.
      
      Change-Id: If19ee74ac8a987846d1cd0cf2b2e02a82f1a43ad
      c073e5ca
  17. 11 Oct, 2012 1 commit
  18. 09 Oct, 2012 1 commit
    • Scott LaVarnway's avatar
      Removing dr[16] from VP8D_COMP · f56d0679
      Scott LaVarnway authored
      Currently not used.  Also using this as a test commit into the
      experimental branch.
      
      Change-Id: I68c479461ae02f1c7a7f75fa02d1fc0db84bf198
      f56d0679
  19. 24 Sep, 2012 1 commit
  20. 21 Sep, 2012 1 commit
  21. 11 Sep, 2012 1 commit
    • Jim Bankoski's avatar
      fix valgrind mem leak on garbage decode · 7b7ca65b
      Jim Bankoski authored
      Multiple decoders were getting allocated per frame.
      If the decoder crashed we exitted with out freeing
      them and the next time in we'd allocate over.
      
      This fix removes the allocation and just has 8
      boolcoders in the pbi structure
      
      Change-Id: I638b5bda23b622b43b7992aec21dd7cf6f6278da
      7b7ca65b
  22. 30 Aug, 2012 1 commit
    • Jingning Han's avatar
      hybrid transform of 16x16 dimension · de6dfa6b
      Jingning Han authored
      Enable ADST/DCT of dimension 16x16 for I16X16 modes. This change provides
      benefits mostly for hd sequences.
      
      Set up the framework for selectable transform dimension.
      
      Also allowing quantization parameter threshold to control the use
      of hybrid transform (This is currently disabled by setting threshold
      always above the quantization parameter. Adaptive thresholding can
      be built upon this, which will further improve the coding performance.)
      
      The coding performance gains (with respect to the codec that has all
      other configuration settings turned on) are
      
      derf:   0.013
      yt:     0.086
      hd:     0.198
      std-hd: 0.501
      
      Change-Id: Ibb4263a61fc74e0b3c345f54d73e8c73552bf926
      de6dfa6b
  23. 03 Aug, 2012 2 commits
    • Yaowu Xu's avatar
      enable interleaved decoding of mode and mv · 2e73f901
      Yaowu Xu authored
      Previouly, the decoding of mode and motion vector are done a per frame
      basis followed by residue decoding and reconstuction. The commit added
      the option to allow decoder to interleave the decoding of mode and mvs
      with the residue decoding on a per MB basis.
      
      Change-Id: Ia5316f4a7af9ba7f155c92b5a6fc97201b653571
      2e73f901
    • Daniel Kang's avatar
      16x16 DCT blocks. · fed8a183
      Daniel Kang authored
      Set on all 16x16 intra/inter modes
      
      Features:
      - Butterfly fDCT/iDCT
      - Loop filter does not filter internal edges with 16x16
      - Optimize coefficient function
      - Update coefficient probability function
      - RD
      - Entropy stats
      - 16x16 is a config option
      
      Have not tested with experiments.
      
      hd:     2.60%
      std-hd: 2.43%
      yt:     1.32%
      derf:   0.60%
      
      Change-Id: I96fb090517c30c5da84bad4fae602c3ec0c58b1c
      fed8a183
  24. 17 Jul, 2012 1 commit
  25. 01 Jun, 2012 1 commit
  26. 23 May, 2012 1 commit
    • Yaowu Xu's avatar
      changed the way that default probs for 8x8 is set. · e9818bb6
      Yaowu Xu authored
      The commit changed how baseline 8x8 coefficient probabilities are
      initialized, to be consistent with the initialization of baseline
      4x4 coefficient probabilities.
      
      The commit does not have any effect on compression.
      
      Change-Id: Ifb3902b5dc0b0c2e6dc3aa5d4a6589d528e58355
      e9818bb6
  27. 11 May, 2012 1 commit
  28. 24 Apr, 2012 1 commit
    • Attila Nagy's avatar
      Simplifies decoder multithread synching · 0c483d6b
      Attila Nagy authored
      Increment the last_row_mb_col counter by nsync after last MB of row is
      ready. This way we dont need to check for last MB of row when
      synching.
      
      Set last MB of row ready just after row extension is done, This avoids
      o potential race condition whit the processing of last MB of next row.
      
      Change-Id: I19c44fd6041116ee5483be2143b4f4bfcd149eac
      0c483d6b
  29. 15 Mar, 2012 1 commit
    • 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
  30. 01 Mar, 2012 1 commit
  31. 28 Feb, 2012 3 commits
  32. 15 Feb, 2012 1 commit
  33. 10 Feb, 2012 1 commit
    • Paul Wilkins's avatar
      Removal of threading code. · 2615ca5d
      Paul Wilkins authored
      For the experimental branch we are trying to slim the codebase
      down removing features such as threading for now which complicate
      the process of development and testing.
      
      Change-Id: I657c0246aef4d1fa8c8ffc6a1adfeee45bce8e24
      2615ca5d