1. 06 Jun, 2013 2 commits
    • Ronald S. Bultje's avatar
      New intra mode and partitioning probabilities. · ad343687
      Ronald S. Bultje authored
      Split partition probabilities between keyframes and non-keyframes,
      since they are fairly different. Also have per-blocksize interframe
      y intramode probabilities, since these vary heavily between different
      blocksizes.
      
      Lastly, replace default probabilities for partitioning and intra modes
      with new ones generated from current codec. Replace counts with actual
      probabilities also.
      
      Change-Id: I77ca996e25e4a28e03bdbc542f27a3e64ca1234f
      ad343687
    • Dmitry Kovalev's avatar
      Moving bits from compressed header to uncompressed one. · 12345cb3
      Dmitry Kovalev authored
      Bits moved: refresh_frame_flags, active_ref_idx[], ref_frame_sign_bias[],
      allow_high_precision_mv, mcomp_filter_type, ref_pred_probs[].
      
      Derf results: +0.040%
      
      Change-Id: I011f43c7eac0371d533b255fd99aee5ed75b85a5
      12345cb3
  2. 05 Jun, 2013 3 commits
  3. 03 Jun, 2013 1 commit
  4. 31 May, 2013 6 commits
  5. 30 May, 2013 4 commits
    • Deb Mukherjee's avatar
      Bugfix in forward update with modeling on. · 84c5ed0e
      Deb Mukherjee authored
      Fixes an issue with reducing branch cts in the encoder causing
      a drop in performance. The bug was introduced in a previous
      clean up patch.
      
      Test: Went back to the offending patch, applied this same fix
      to it, and checked that results are identical to the parent
      of that patch.
      
      Change-Id: I0bad8e2d930235d0284300fcebf836ceb56f2498
      84c5ed0e
    • Ronald S. Bultje's avatar
      Merge all intra mode coding trees into a single one. · 98c192ae
      Ronald S. Bultje authored
      Also merge all counters. This removes a few unused probability updates
      from the bitstream.
      
      Change-Id: I20f58853e9dac84d8c0d9703ae012c55917516eb
      98c192ae
    • Paul Wilkins's avatar
      Patch to remove implicit segmentation. · 1b103f25
      Paul Wilkins authored
      This patch removes the implicit segmentation
      experiment from the code base as the benefits
      were still unproven as of the bitstream deadline.
      
      Change-Id: I273b99d8d621d1853eac4182f97982cb5957247e
      1b103f25
    • Adrian Grange's avatar
      Add intra_only and reset_frame_context flags · 9e5bb959
      Adrian Grange authored
      Added two flags to the frame header:
      
      intra_only:
      Signals that the frame is encoded using only INTRA
      coding modes.
      
      reset_frame_context:
      Indicates that the coding context specified
      in the frame header should be reset to default values before the
      frame is encoded/decoded.
      
      Change-Id: I182d46f1f84fb67a13c46ad767f246a38d7861a2
      9e5bb959
  6. 29 May, 2013 4 commits
    • Deb Mukherjee's avatar
      Balancing coef-tree to reduce bool decodes · b8b3f1a4
      Deb Mukherjee authored
      This patch changes the coefficient tree to move the EOB to below
      the ZERO node in order to save number of bool decodes.
      
      The advantages of moving EOB one step down as opposed to two steps down
      in the other parallel patch are: 1. The coef modeling based on
      the One-node becomes independent of the tree structure above it, and
      2. Fewer conext/counter increases are needed.
      
      The drawback is that the potential savings in bool decodes will be
      less, but assuming that 0s are much more predominant than 1's the
      potential savings is still likely to be substantial.
      
      Results on derf300: -0.237%
      
      Change-Id: Ie784be13dc98291306b338e8228703a4c2ea2242
      b8b3f1a4
    • Ronald S. Bultje's avatar
      Remove some unused code related to macroblock/splitmv coding. · 4487f5a6
      Ronald S. Bultje authored
      Change-Id: Ic40d56fb162f4e201547dfae33e62ccd9e865889
      4487f5a6
    • Dmitry Kovalev's avatar
      Compressed/uncompressed frame header changes. · 18c83b37
      Dmitry Kovalev authored
      Adding API to read/write uncompressed frame header bits (it is not final
      yet). Separate functions to read/write uncompressed header. Moving
      clr_type, error_resilient_mode, refresh_frame_context,
      frame_parallel_decoding_mode, frame_context_idx from compressed partition
      to uncompressed frame header.
      
      Change-Id: Id3ed8a387980c652ae147549412f4ec24a0a5bd0
      18c83b37
    • Deb Mukherjee's avatar
      Build fix when ENTROPY_STATS is defined · a09707b7
      Deb Mukherjee authored
      Fixes a build issue due to removal of VP9_KF_BINTRAMODES macro,
      when ENTROPY_STATS is on.
      
      Change-Id: I75c61702bf626376c942ab49ab887714b43284f0
      a09707b7
  7. 28 May, 2013 2 commits
  8. 27 May, 2013 2 commits
    • Yaowu Xu's avatar
      a few clean-ups · 2b96ffe0
      Yaowu Xu authored
      1. remove prediction mode conversion
      2. unified bmode, same for key and non-key frame
      3. set I4X4_PRED count for pdf to 0, as I4X4_PRED is no longer
      coded ever. It is determined by ref_frame and block partition
      
      Change-Id: If5b282957c24339b241acdb9f2afef85658fe47d
      2b96ffe0
    • Sami Pietila's avatar
      Moving txfm_size bits before prediction mode bits. · 80812829
      Sami Pietila authored
      Hardware implementation needs to load coeff probs based on the
      transform size. For selectable transform size, moving these bits
      earlier in the bitstream adds some delay giving time to preload
      the probs and speeds up the decoding process.
      
      Change-Id: I3bfc1f662ae6f219c9286fe9ae6310c7d8a63ea7
      80812829
  9. 26 May, 2013 1 commit
    • Ronald S. Bultje's avatar
      Remove splitmv. · 5cac6607
      Ronald S. Bultje authored
      Also do per-partition motion vector referencing in <sb8x8 partitions,
      and adjust mvref finding for sub8x8 partitions.
      
      Change-Id: Id3ed1ed4d2a8910d11d327db6cc63b8eb79f941f
      5cac6607
  10. 25 May, 2013 1 commit
  11. 24 May, 2013 1 commit
  12. 23 May, 2013 1 commit
    • Jingning Han's avatar
      Merge 4x4 block level partition into codebase · 7ac5ac52
      Jingning Han authored
      Move 4x4/4x8/8x4 partition coding out of experimental list.
      
      This commit fixed the unit test failure issues. It also resolved
      the merge conflicts between 4x4 block level partition and iterative
      motion search for comp_inter_inter.
      
      Change-Id: I898671f0631f5ddc4f5cc68d4c62ead7de9c5a58
      7ac5ac52
  13. 22 May, 2013 3 commits
    • Deb Mukherjee's avatar
      Using 128 entry look up table for coef models · de4d682c
      Deb Mukherjee authored
      Reverts to using 128 bit LUT for the coef models rather than 48
      to ease hardware implementation.
      
      Also incorporates some cleanups including removing various
      hooks to support different lookup tables based on block_type and
      ref_type.
      
      Change-Id: I54100c120cca07a2ebd3a7776bc4630fa6a153f6
      de4d682c
    • Yaowu Xu's avatar
      changes intra coding to be based on txfm block · 8ba92a0b
      Yaowu Xu authored
      This commit changed the encoding and decoding of intra blocks to be
      based on transform block. In each prediction block, the intra coding
      iterates thorough each transform block based on raster scan order.
      
      This commit also fixed a bug in D135 prediction code.
      
      TODO next:
      The RD mode/txfm_size selection should take this into account when
      computing RD values.
      
      Change-Id: I6d1be2faa4c4948a52e830b6a9a84a6b2b6850f6
      8ba92a0b
    • Jingning Han's avatar
      Make the intra rd search support 8x4/4x8 · f153a5d0
      Jingning Han authored
      This commit allows the rate-distortion optimization of intra coding
      capable of supporting 8x4 and 4x8 partition settings.
      
      It enables the entropy coding of intra modes in key frame using a
      unified contextual probability model conditioned on its above/left
      prediction modes.
      
      Coding performance:
      derf 0.464%
      
      Change-Id: Ieed055084e11fcb64d5d5faeb0e706d30268ba18
      f153a5d0
  14. 21 May, 2013 2 commits
    • Dmitry Kovalev's avatar
      Adding API to read/write uncompressed frame header bits. · df037b61
      Dmitry Kovalev authored
      The API is not final yet and can be changed. Actual layout of
      uncompressed frame part will be finalized later. Right now moving
      clr_type, error_resilient_mode, refresh_frame_context,
      frame_parallel_decoding_mode from first compressed partition to
      uncompressed frame part.
      
      Change-Id: I3afc5d4ea92c5a114f4c3d88f96858cccc15b76e
      df037b61
    • Deb Mukherjee's avatar
      Merging the model coef prob experiment · 7a645e4e
      Deb Mukherjee authored
      Merges the experiment.
      
      Change-Id: I4eb19af6de6df6aa3a96a2e82f231d47ed9b3ae9
      7a645e4e
  15. 20 May, 2013 4 commits
    • Dmitry Kovalev's avatar
      Moving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c. · 9e4902c7
      Dmitry Kovalev authored
      Change-Id: Ib07d1e707a87cec98ea3a1779fccca078d8c4310
      9e4902c7
    • Deb Mukherjee's avatar
      Updating the model coef experiment · 39a90bc8
      Deb Mukherjee authored
      Cleans up the experiment. Actually uses reduced counts for backward
      updates, and reduced number of probabilities in the context.
      
      No change in bitstream when the experiment is on.
      
      Between expt on and off:
      derfraw300 is down only -0.062% (which is better than when expts
      were run previously).
      
      Change-Id: I55285a049a0c22810bdb42914212ab5a4f8521b5
      39a90bc8
    • Jingning Han's avatar
      Deprecate 4x4 intra modes from bit-stream · 1e6be7bc
      Jingning Han authored
      Replace B_DC_PRED like syntax element writing/reading with sb_ymode
      set (e.g., DC_PRED, etc).
      
      Change-Id: I293006a6b3bcd130c08ea9f053e7a79c6819c6f8
      1e6be7bc
    • Jingning Han's avatar
      Give VP9 a different sync code from VP8 · 2c93a8ed
      Jingning Han authored
      The new code is 0x49, 0x83, 0x42
      
      There is nothing particularly special about this code bitstream wise.
      Its derivation is the word "sync" coded using 4x6bit alphabetic indices.
      
      Change-Id: Ie2430a854af32ddc5a5c25a6c1c90cf6497ba647
      2c93a8ed
  16. 19 May, 2013 1 commit
    • Jingning Han's avatar
      Enable bit-stream support to 8x4 and 4x8 partition · 810b612c
      Jingning Han authored
      The recursive partition type search is enabled down to 4x4, 4x8 and
      8x4, followed by the corresponding rate-distortion optimization for
      the per-partition encoding mode decisions.
      
      The bit-stream writing/reading synchronized in supporting the
      rectangular partition of 8x8 block.
      
      This provides above 1% coding performance gains on derf.
      
      To do next:
      1. re-design the rate-distortion loop for inter prediction below 8x8.
      2. re-design the rate-distortion loop for intra prediction below 4x4.
      3. make the loop-filter aware of rectangular partition of 8x8 block.
      4. clean the unused probability models.
      5. update default probability values.
      
      Change-Id: Idd41a315b16879db08f045a322241f46f1d53f20
      810b612c
  17. 17 May, 2013 2 commits
    • Dmitry Kovalev's avatar
      Removing clamp_type from the bitstream. · 498b6460
      Dmitry Kovalev authored
      Change-Id: Ica75bdd4905c4a04b7f92795d0b8ce6836a99ef4
      498b6460
    • Paul Wilkins's avatar
      Replace default counts with default probs. · 99c4b1ee
      Paul Wilkins authored
      Replace vp9_kf_default_bmode_counts structure with
      direct default probabilities. The probability structure is
      smaller and it removes the need to specify in the bitstream
      how to convert the counts to probabilities.
      
      Note that I have concerns still about the size and value of
      the large intra mode context. This may cause problems for
      HW but it also means we rely heavily on reverse update as
      forwards update of a structure this size is problematic. I
      intend to review this more generally in the next few days to
      see if we can come up with a competitive solution that does
      not rely on such a large context.
      
      Change-Id: I0a36071079d5d26a57ab0e9fbf91af4199aa7984
      99c4b1ee