1. 31 May, 2013 5 commits
  2. 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
  3. 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
  4. 28 May, 2013 2 commits
  5. 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
  6. 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
  7. 25 May, 2013 1 commit
  8. 24 May, 2013 1 commit
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 17 May, 2013 3 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
    • Paul Wilkins's avatar
      Remove MODE_STATS flag and code · 51bc4bf4
      Paul Wilkins authored
      Change-Id: I6c70a8a8a4633399842ac74792003ae5f7859ffa
      51bc4bf4
  15. 16 May, 2013 3 commits
    • Jingning Han's avatar
      Use b_width_log2_ in partition type parse · 3819f11b
      Jingning Han authored
      Replace mi_width/height_log2 with b_width/height_log2 in partition
      type parsing at bit-stream writing stage. This allows parsing
      resolution at 4x4 block level and makes the 4x4/4x8/8x4 partition
      coding consistent with other superblock types.
      
      Change-Id: I7db3617ea042e0db2dc898999b0c323bff91a22f
      3819f11b
    • Paul Wilkins's avatar
      New inter mode context. · 6ff3eb16
      Paul Wilkins authored
      This patch creates a new inter mode contest that avoids
      a dependence on the reconstructed motion vectors from
      neighboring blocks. This was a change requested by
      a hardware vendor to improve decode performance.
      
      As part of this change I have also made some modifications
      to stats output code (under a flag) to allow accumulation of
      inter mode context flags over multiple clips
      
      Some further changes will be required to accommodate the
      deprecation of the split mv mode over the next few days.
      
      Performance as stands is around -0.25% on derf and
      std-hd but up on the YT and YT-HD sets. With further tuning
      or some adjustment to the context criteria it should be
      possible to make this change broadly neutral.
      
      Change-Id: Ia15cb4470969b9e87332a59c546ae0bd40676f6c
      6ff3eb16
    • Dmitry Kovalev's avatar
      Removing lossless flag from the bitstream. · b0c101e2
      Dmitry Kovalev authored
      Change-Id: If6aee510cbc4910f2f24fcd92dddc65fdf8edeea
      b0c101e2
  16. 15 May, 2013 1 commit
    • Dmitry Kovalev's avatar
      Combining integer and fractional parts of mvs for entropy coding. · 18375238
      Dmitry Kovalev authored
      Combining encode_nmv_component with encode_nmv_component_fp
      and read_nmv_component with read_nmv_component_fp. Bitstream is slightly
      changed (only the order of bits), here are the results on test sets:
      stdhd: +0.047, yt: -0.038, derf: +0.001, hd: -0.011.
      
      Change-Id: I1be312e976796df78ca63368702d0ee19f2b8c50
      18375238
  17. 14 May, 2013 2 commits
    • Jingning Han's avatar
      Enable recursive partition down to 4x4 · 1f26840f
      Jingning Han authored
      This commit allows the rate-distortion optimization recursion
      at encoder to go down to 4x4 block size. It deprecates the use
      of I4X4_PRED and SPLITMV syntax elements from bit-stream
      writing/reading. Will remove the unused probability models in
      the next patch.
      
      The partition type search and bit-stream are now capable of
      supporting the rectangular partition of 8x8 block, i.e., 8x4
      and 4x8. Need to revise the rate-distortion parts to get these
      two partition tested in the rd loop.
      
      Change-Id: I0dfe3b90a1507ad6138db10cc58e6e237a06a9d6
      1f26840f
    • Dmitry Kovalev's avatar
      Adding encode_quantization function. · 3f31b297
      Dmitry Kovalev authored
      Change-Id: Ib7448f7f325ba34a3cba8ab3129028e31e593cf5
      3f31b297