1. 28 May, 2013 1 commit
  2. 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
  3. 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
  4. 21 May, 2013 1 commit
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 11 May, 2013 2 commits
    • Jingning Han's avatar
      Use consistent partition context setup in enc/dec · 6910f178
      Jingning Han authored
      Move set_partition_seg_context_ to common file. Use consistent
      context setup conditions for partition probability model update at
      encoder and decoder.
      
      Change-Id: I24b7ed3b1c48e3d2568191a46b70136b99b67b1a
      6910f178
    • Jingning Han's avatar
      Move get_sb_index to vp9_blockd.h · 2117d4ee
      Jingning Han authored
      Use common function to fetch/assign sb_index in rd loop, bit-stream
      writing and reading.
      
      Change-Id: I1d8a214a57ed9cbcd026040436ef33e5e39d65b7
      2117d4ee
  12. 10 May, 2013 1 commit
    • John Koleszar's avatar
      Subsampling aware allocs and bitstream · da58436f
      John Koleszar authored
      Make framebuffer allocations according to the chroma subsamping
      factors in use. A bit is placed in the raw part of the frame header for
      each of the two subsampling factors. This will be moved in a future
      commit to make them part of the TBD feature set bits, probably only set
      on keyframes, etc.
      
      Change-Id: I59ed38d3a3c0d4af3c7c277617de28d04a001853
      da58436f
  13. 08 May, 2013 2 commits
    • Dmitry Kovalev's avatar
      Removing LOOPFILTER_TYPE and corresponding bit in bitstream. · f66320ab
      Dmitry Kovalev authored
      We don't have two loopfilter types anymore.
      
      Change-Id: I53c0137361342c7d00887ad03be3490f0dfa3532
      f66320ab
    • Jingning Han's avatar
      Extend left/above partition context to per mi(8x8) · 4a88ad89
      Jingning Han authored
      Update and buffer left/above partition information context per 8x8
      block. This allows to further enable recursive partition down to
      4x4 block size, and hence deprecating I4X4_PRED and SPLITMV.
      
      This commit also fixes a context buffer swap/restore issue in 32x32
      partition type search. This gives 0.1% performance gain for derf/yt.
      Will refactor the superblock partition type search into recursion
      form.
      
      Change-Id: Ib61975aca5f12b78d8018481d7fa1393d085689b
      4a88ad89
  14. 07 May, 2013 5 commits
  15. 06 May, 2013 1 commit
  16. 03 May, 2013 1 commit
    • Adrian Grange's avatar
      Extend number of reference buffers to 8. · d7eea782
      Adrian Grange authored
      The number of reference buffers is extended to 8 and
      a reference sign-bias added for the LAST_FRAME.
      
      Whilst the number of reference buffers used by an
      individual frame remains unchanged at 3, these may
      now be selected from 8 possible buffers.
      
      Change-Id: I2d247b9c1c2b3a339d6c9fac125e81ba373f75a7
      d7eea782
  17. 02 May, 2013 4 commits
  18. 01 May, 2013 1 commit
    • Jingning Han's avatar
      Enable bit-stream support to SB8X8 · 2bf1dc2e
      Jingning Han authored
      This commit enables bit-stream writing and reading for recursive
      partition down to block 8x8.
      
      Change-Id: I163cd48d191cc94ead49cbb7fc91374f6bf204e2
      2bf1dc2e
  19. 30 Apr, 2013 2 commits
    • Ronald S. Bultje's avatar
      sb8x8 integration in rd loop. · d068d869
      Ronald S. Bultje authored
      Work-in-progress, not yet ready for review. TODO items:
      - bitstream writing (encoder) and reading (decoder)
      - decoder reconstruction
      
      Change-Id: I5afb7284e7e0480847b47cd0097cb469433c9081
      d068d869
    • Dmitry Kovalev's avatar
      Using treed_read/treed_write functions for segment ids. · b5364d4f
      Dmitry Kovalev authored
      Changing the order of probabilities inside mb_segment_tree_probs in order
      to use treed_read/treed_write function instead of custom code.
      
      Change-Id: I843487d5057913b9358db73da270893eefecc6c8
      b5364d4f
  20. 29 Apr, 2013 1 commit