1. 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
    • Yaowu Xu's avatar
      changed to use adst for D63_PRED · da3aec6c
      Yaowu Xu authored
      To be consistent with other prediciton modes
      
      Change-Id: If9e1464e5c807f0b36047a046c4ac59d91b1b868
      da3aec6c
  2. 11 May, 2013 1 commit
    • 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
  3. 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
  4. 09 May, 2013 2 commits
  5. 08 May, 2013 1 commit
    • 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
  6. 07 May, 2013 7 commits
  7. 04 May, 2013 1 commit
    • John Koleszar's avatar
      Remove old_block_idx_4x4 · acc9c125
      John Koleszar authored
      Removes several instances where the old block numbering was
      still in use.
      
      Change-Id: Id35130591455a4abe6844613e45c0b70c1220c08
      acc9c125
  8. 02 May, 2013 2 commits
  9. 01 May, 2013 3 commits
  10. 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
    • Jingning Han's avatar
      Separate I4X4_PRED coding from macroblock modules · 94191b5c
      Jingning Han authored
      Separate the functionality of I4X4_PRED from decode_mb. Use
      decode_atom_intra instead, to enable recursive partition of superblock
      down to 8x8.
      
      Change-Id: Ifc89a3be82225398954169d0a839abdbbfd8ca3b
      94191b5c
  11. 29 Apr, 2013 2 commits
  12. 26 Apr, 2013 4 commits
    • Ronald S. Bultje's avatar
      Grow MODE_INFO array to use an 8x8 basis. · 1a46b30e
      Ronald S. Bultje authored
      Change-Id: I087e08e7909a406b71715b8525c104208daa6889
      1a46b30e
    • John Koleszar's avatar
      Remove BLOCKD structure · bb41ab4a
      John Koleszar authored
      All members can be referenced from their per-plane counterparts, and
      removes assumptions about 24 blocks per macroblock.
      
      Change-Id: I7ff2fa72d22c29163eb558981c8193765a8113d9
      bb41ab4a
    • John Koleszar's avatar
      Remove destination pointers from BLOCKD · 4f55c561
      John Koleszar authored
      Access these members from MACROBLOCKD instead.
      
      Change-Id: I7907230dd473ff12ebe182b9280d8b7f12a888c4
      4f55c561
    • Scott LaVarnway's avatar
      Removed bmi from blockd · 57f180b3
      Scott LaVarnway authored
      This originally was "Removed update_blockd_bmi()".  Now,
      this patch removed bmi from blockd and uses the bmi found
      in mode_info_context.  Eliminates unnecessary bmi copies between
      blockd and mode_info_context.
      
      Change-Id: I287a4972974bb363f49e528daa9b2a2293f4bc76
      57f180b3
  13. 25 Apr, 2013 6 commits
  14. 24 Apr, 2013 5 commits
    • Jingning Han's avatar
      Move sbsegment out of experimental list · b0e3b3df
      Jingning Han authored
      Move rectangular superblock coding out of experimental list.
      
      Change-Id: I96c37547d122330d666a67b4bf577ae54547857f
      b0e3b3df
    • Jingning Han's avatar
      Contextual entropy coding of partition syntax · ff2b8aa2
      Jingning Han authored
      This commit enables selecting probability models for recursive block
      partition information syntax, depending on its above/left partition
      information, as well as the current block size. These conditional
      probability models are reasonably stationary and consistent across
      frames, hence the backward adaptive approach is used to maintain and
      update the contextual models.
      
      It achieves coding performance gains (on top of enabling rectangular
      block sizes):
      derf:   0.242%
      yt:     0.391%
      hd:     0.376%
      stdhd:  0.645%
      
      Change-Id: Ie513d9673337f0d27abd65fb566b711d0844ec2e
      ff2b8aa2
    • Paul Wilkins's avatar
      Extension of segmentation to 8 segments. · 31ee193a
      Paul Wilkins authored
      Also some further simplification following removal
      of top node code.
      
      There is an issue in regards to the shared file vp8cx.h
      in regard to the roi_map as this interface assumes that
      there are only 4 segments. I have left the value here as
      4 for now meaning that the roi_map interface is broken
      for VP9.
      
      Note that this change would have been easier if I hadn't
      had to search for hard wire instances of the number 4
      and <= 3.
      
      Change-Id: Ia8b6deea4be4dbd20deb1656e689dd43a5f190e8
      31ee193a
    • Paul Wilkins's avatar
      Simplify Segment Coding · c77aff12
      Paul Wilkins authored
      Remove top node optimization.
      The improvement this gives is not sufficient to justify
      the extra complexity.
      
      Change-Id: I2bb4a12a50ffd52cacfa4a3e8acbb2e522066905
      c77aff12
    • Paul Wilkins's avatar
      Simple implicit segmentation experiment. · 27bb4777
      Paul Wilkins authored
      Change-Id: Iaef16122732c2a81e0927f9862b51b68dc788712
      27bb4777
  15. 23 Apr, 2013 1 commit
    • John Koleszar's avatar
      Move src_diff to per-plane MACROBLOCK data · cbd1315a
      John Koleszar authored
      First in a series of commits making certain MACROBLOCK members
      addressable per-plane. This commit also refactors the block subtraction
      functions vp9_subtract_b, vp9_subtract_sby_c, etc to be
      loops-over-planes and variable subsampling aware.
      
      Change-Id: I371d092b914ae0a495dfd852ea1a3d2467be6ec3
      cbd1315a