1. 30 May, 2013 1 commit
  2. 29 May, 2013 5 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
    • Sami Pietila's avatar
      Residual coding to cache energy class of tokens. · 88a4d4c5
      Sami Pietila authored
      Proposal for tuning the residual coding by changing how the context
      from previous tokens is calculated. Storing the energy class of previous
      tokens instead of the token itself eases the critical path of
      HW implementations.
      
      Change-Id: I6d71d856b84518f6c88de771ddd818436f794bab
      88a4d4c5
    • Ronald S. Bultje's avatar
      Remove some unused code related to macroblock/splitmv coding. · 4487f5a6
      Ronald S. Bultje authored
      Change-Id: Ic40d56fb162f4e201547dfae33e62ccd9e865889
      4487f5a6
    • Ronald S. Bultje's avatar
      Remove unused and outdated debug code. · 2afc3422
      Ronald S. Bultje authored
      Change-Id: I0e789bdeaed60f920f7a470e56a8d4ea374233fc
      2afc3422
    • 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
  3. 28 May, 2013 1 commit
  4. 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
  5. 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
  6. 25 May, 2013 1 commit
  7. 24 May, 2013 4 commits
    • Jingning Han's avatar
      Fix transform size coding mismatch · d0930277
      Jingning Han authored
      This commit fixes a transform size enc/dec mismatch issue in the
      key frame coding.
      
      Change-Id: I0c4f40464a367b33dd91ace84506650b1aec2873
      d0930277
    • Scott LaVarnway's avatar
      Removed setup_pre_planes() call in read_mb_modes_mv() · 64b30f41
      Scott LaVarnway authored
      This code does not seem to be necessary anymore.
      
      For the 1080p clip used, the decoder performance improved by
      ~2%.
      
      Change-Id: I66bb0496d4998b0d6c6637c746b642b77bdbef88
      64b30f41
    • Paul Wilkins's avatar
      Fix bug in 4x4 band definition. · e41fd6e3
      Paul Wilkins authored
      Also some unused data structures/references removed.
      
      Change-Id: I295809e887173543e794250cb60ddaf1475ffd24
      e41fd6e3
    • Yaowu Xu's avatar
      Removed code not in use · 75850499
      Yaowu Xu authored
      As intra coded blocks are always decoded using decode_sb_intra(), this
      commmit removed the code no longer in use.
      
      Change-Id: I09f14fa9cdc875656e8fbe245f72c8fd83b9e31e
      75850499
  8. 23 May, 2013 2 commits
    • Paul Wilkins's avatar
      Merge Scatter Scan experiment. · 33ecd6ad
      Paul Wilkins authored
      Removal from under configure flag.
      A bit  renaming
      
      Change-Id: I2213229dfe852001dfec16b149f47c52ce88f3aa
      33ecd6ad
    • 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
  9. 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
  10. 21 May, 2013 4 commits
  11. 20 May, 2013 4 commits
    • 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
    • Scott LaVarnway's avatar
      WIP: 4x4 idct/recon merge · ba48a111
      Scott LaVarnway authored
      This patch eliminates the intermediate diff buffer usage by
      combining the short idct and the add residual into one function.
      The encoder can use the same code as well.
      
      Change-Id: I296604bf73579c45105de0dd1adbcc91bcc53c22
      ba48a111
    • 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
  12. 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
  13. 17 May, 2013 1 commit
  14. 16 May, 2013 3 commits
    • Scott LaVarnway's avatar
      WIP: 8x8 idct/recon merge · 794a7bed
      Scott LaVarnway authored
      This patch eliminates the intermediate diff buffer usage by
      combining the short idct and the add residual into one function.
      The encoder can use the same code as well.
      
      Change-Id: Iacfd57324fbe2b7beca5d7f3dcae25c976e67f45
      794a7bed
    • John Koleszar's avatar
      Add vp9_extend_frame_borders · 418564e7
      John Koleszar authored
      Adds a subsampling aware border extension function. This may be reworked
      soon to support more than 3 planes.
      
      Change-Id: I76b81901ad10bb1e678dd4f0d22740ca6c76c43b
      418564e7
    • Dmitry Kovalev's avatar
      Removing lossless flag from the bitstream. · b0c101e2
      Dmitry Kovalev authored
      Change-Id: If6aee510cbc4910f2f24fcd92dddc65fdf8edeea
      b0c101e2
  15. 15 May, 2013 3 commits
  16. 14 May, 2013 2 commits
    • Scott LaVarnway's avatar
      WIP: 32x32 idct/recon merge · 2cf0d4be
      Scott LaVarnway authored
      This patch eliminates the intermediate diff buffer usage by
      combining the short idct and the add residual into one function.
      The encoder can use the same code as well.
      
      Change-Id: I4ea09df0e162591e420d869b7431c2e7f89a8c1a
      2cf0d4be
    • 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
  17. 13 May, 2013 2 commits
    • Dmitry Kovalev's avatar
      Moving vp9_decode_frame declaration to vp9_decodframe.h. · 4a17238b
      Dmitry Kovalev authored
      Change-Id: Ia7a772718a4b11b413c36d4280df8668e19c9084
      4a17238b
    • Paul Wilkins's avatar
      Change to band calculation. · e5f71520
      Paul Wilkins authored
      Change band calculation back to simpler model based
      on the order in which coefficients are coded in scan order
      not the absolute coefficient positions.
      
      With the scatter scan experiment enabled the results were
      appear broadly neutral on derf (-0.028) but up a little on std-hd +0.134).
      
      Without the scatterscan experiment on the results were up derf as well.
      
      Change-Id: Ie9ef03ce42a6b24b849a4bebe950d4a5dffa6791
      e5f71520