1. 30 Apr, 2013 - 2 commits
    • Jingning Han's avatar
      Migrating SPLITMV_4X4 decoding into decode_atom · ce3a8a6e
      Jingning Han authored
      Separate the decoding process of 4x4 block based coding (both intra
      and inter) from decode_mb and move it into decode_atom_. This allows
      to further move the rest per 16x16 block decoding of decode_mb into
      decode_sb, and hence eventually deprecating decode_mb when SB8X8 is
      enabled.
      
      Change-Id: I678cb8007d8a57b792d7a23020edb0c74fbf4237
      ce3a8a6e
    • 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
  2. 29 Apr, 2013 - 6 commits
  3. 26 Apr, 2013 - 3 commits
  4. 25 Apr, 2013 - 2 commits
    • John Koleszar's avatar
      Remove BLOCK structure · 4bd0f4f6
      John Koleszar authored
      All members can be referenced from their per-plane counterparts, and
      removes assumptions about 24 blocks per macroblock.
      
      Change-Id: I593fb0715e74cd84b48facd1c9b18c3ae1185d4b
      4bd0f4f6
    • Dmitry Kovalev's avatar
      Adding is_inter_mode function. · 61a47da8
      Dmitry Kovalev authored
      Change-Id: I2d32d46002cb92c63050c2b8328865c406103621
      61a47da8
  5. 24 Apr, 2013 - 4 commits
    • Yaowu Xu's avatar
      Merge two similar functions into one · bcf82cf5
      Yaowu Xu authored
      Function set_mb_row() and set_mb_col() do similar work and are always
      called together, this commit merged them into a single function for
      clarity and easy maintainence.  This was a TODO item.
      
      Change-Id: I956bd9ed6afb8b2b0469b20fd8bc893b26f8a0f3
      bcf82cf5
    • 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
  6. 23 Apr, 2013 - 5 commits
    • John Koleszar's avatar
      Remove coeff from BLOCK · 48f3e66e
      John Koleszar authored
      Lookup the data per-plane from the MACROBLOCK struct.
      
      Change-Id: I9253c4d3cf886aa9ab4aeab23a2156bfcf994ede
      48f3e66e
    • John Koleszar's avatar
      Convert coeff to per-plane MACROBLOCK data · 138ec38c
      John Koleszar authored
      This commit moves the coeff storage from the MACROBLOCK struct to its
      per-plane part. The next commit will remove the coeff member from the
      BLOCK structure so that it is consistently accessed per-plane.
      
      Also refactors vp9_sb_block_error_c and vp9_sb_uv_block_error_c to be
      variable subsampling aware.
      
      Change-Id: I18c30f87f27c3a012119b6c1970d5fa499804455
      138ec38c
    • Jingning Han's avatar
      Enable rectangular support for comp inter-intra · a26c1edb
      Jingning Han authored
      This commit enables rectangular block prediction of compound
      inter-intra mode. It combines the mb/sb32/sb64 prediction functions
      into a unified version with configurable block width and height.
      This fixes the enc/dec mismatch of the codebase when
      comp-interintra-pred is enabled.
      
      Change-Id: I1d0db2f1f184007802df04fcd12b9dadb3189ff0
      a26c1edb
    • Ronald S. Bultje's avatar
      Make some sb_type comparisons independent of literal enum values. · 5ba98ebc
      Ronald S. Bultje authored
      Change-Id: I54acef342b8e787e05af0febd7cf0d7d10288383
      5ba98ebc
    • 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
  7. 22 Apr, 2013 - 3 commits
    • John Koleszar's avatar
      Move pre, second_pre to per-plane MACROBLOCKD data · a443447b
      John Koleszar authored
      Continue moving framebuffers to per-plane data.
      
      Change-Id: I237e5a998b364c4ec20316e7249206c0bff8631a
      a443447b
    • Deb Mukherjee's avatar
      Removes the code_nonzerocount experiment · 0aa79be7
      Deb Mukherjee authored
      This patch does not seem to give any benefits.
      
      Change-Id: I9d2b4091d6af3dfc0875f24db86c01e2de57f8db
      0aa79be7
    • Deb Mukherjee's avatar
      End of orientation zero group experiment · 70d9f116
      Deb Mukherjee authored
      Adds an experiment that codes an end-of-orientation symbol
      for every eligible zero encountered in scan order.
      
      This cleans out various other sub-experiments that were part
      of the origiinal patch, which will be later included if found
      useful.
      
      Results are slightly positive on all sets (0.1 - 0.2% range).
      
      Change-Id: I57765c605fefc7fb9d1b57f1b356843602abefaf
      70d9f116
  8. 19 Apr, 2013 - 5 commits
  9. 18 Apr, 2013 - 2 commits
  10. 17 Apr, 2013 - 2 commits
    • Ronald S. Bultje's avatar
      Fairly basic integration of rectangular blocks in encoding RD loop. · e6934722
      Ronald S. Bultje authored
      Adds RD integration for 32x16, 16x32, 64x32 and 32x64 rectangular blocks.
      Derf almost +0.6%, HD a little over +1.0%, STDHD +1.3%.
      
      Change-Id: Id651fdb6a655fdbb5c47009757e63317acfb88a5
      e6934722
    • Jingning Han's avatar
      Recursive partition syntax coding · 90a91cc6
      Jingning Han authored
      Enable recursive partition information coding from SB64X64 down to
      MB16X16. The bit-stream syntax is now supporting rectangular block
      sizes. It starts from SB64X64 and recursively describes the partition
      type of the current block. If the partition type is PARTITION_NONE,
      the block is coded as a single unit; if it is PARTITION_HORZ or
      PARTITION_VERT, the block is segmented into two independently coded
      rectangular units, with no further partition needed; otherwise, the
      block is segmented into 4 square blocks. i.e., PARTITION_SPLIT case,
      each can be potentially further partitioned.
      
      Forward adaptive probability modeling is used for the partition
      information coding, conditioned on the current block size.
      
      Change-Id: I499365fb547839d555498e3bcc0387d8a3587d87
      90a91cc6
  11. 16 Apr, 2013 - 2 commits
  12. 15 Apr, 2013 - 1 commit
  13. 12 Apr, 2013 - 3 commits
    • Jingning Han's avatar
      Enable inter predictor for rectangular block size · 3ba9dd41
      Jingning Han authored
      Combine superblock inter predictors into a unified function that
      allows configurable block width and height. The inter predictions
      of block sizes smaller than 16x16 are handled differently. To be
      continued on merging them later.
      
      Change-Id: I14075959dd5e221f00c205c99ca35c1c31ef728e
      3ba9dd41
    • Yaowu Xu's avatar
      Rename B_PRED to I4X4_PRED · 7de5edd1
      Yaowu Xu authored
      So it is consistent with I8x8_PRED.
      
      Change-Id: Iefa65124b2419690d83e526c611129c0ede29d11
      7de5edd1
    • Ronald S. Bultje's avatar
      Move prediction hit counting to update_state(). · 79fd8c29
      Ronald S. Bultje authored
      The probabilities derived from these statistics are used in bitstream
      writing; therefore, we should only do this when we actually decide to
      use macroblock coding (over superblock coding). Derf gains +0.15%.
      
      Change-Id: I196814c070a7c79889590658ce10a6eb07454389
      79fd8c29