1. 25 Jun, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing unused code. · 87ee34aa
      Dmitry Kovalev authored
      Removing block index (ib) parameter from get_tx_type_{8x8, 16x16}
      functions.
      
      Change-Id: Ia213335aae7a7cb027f97b9cc9b04519840250f1
      87ee34aa
  2. 21 Jun, 2013 1 commit
  3. 18 Jun, 2013 1 commit
    • Jingning Han's avatar
      Make fdct32 computation flow within 16bit range · a41a4860
      Jingning Han authored
      This commit makes use of dual fdct32x32 versions for rate-distortion
      optimization loop and encoding process, respectively. The one for
      rd loop requires only 16 bits precision for intermediate steps.
      The original fdct32x32 that allows higher intermediate precision (18
      bits) was retained for the encoding process only.
      
      This allows speed-up for fdct32x32 in the rd loop. No performance
      loss observed.
      
      Change-Id: I3237770e39a8f87ed17ae5513c87228533397cc3
      a41a4860
  4. 17 Jun, 2013 1 commit
  5. 10 Jun, 2013 1 commit
    • John Koleszar's avatar
      Fix use of get_uv_tx_size in loopfilter · 717d744a
      John Koleszar authored
      Change the argument of get_uv_tx_size() to be an MBMI pointer, so that the
      correct column's MBMI can be passed to the function.
      
      Change-Id: Ied6b8ec33b77cdd353119e8fd2d157811815fc98
      717d744a
  6. 07 Jun, 2013 1 commit
    • Ronald S. Bultje's avatar
      Change ref frame coding. · 6ef805eb
      Ronald S. Bultje authored
      Code intra/inter, then comp/single, then the ref frame selection.
      Use contextualization for all steps. Don't code two past frames
      in comp pred mode.
      
      Change-Id: I4639a78cd5cccb283023265dbcc07898c3e7cf95
      6ef805eb
  7. 06 Jun, 2013 1 commit
  8. 31 May, 2013 2 commits
  9. 29 May, 2013 2 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
  10. 28 May, 2013 1 commit
    • Jingning Han's avatar
      further clean-ups on intra4x4 coding · 4729a6f3
      Jingning Han authored
      Removed one 4x4 prediction step that was unnessary in the rd loop.
      Removed a unused modecosts estimate from encoder side.
      
      Change-Id: I65221a52719d6876492996955ef04142d2752d86
      4729a6f3
  11. 27 May, 2013 1 commit
    • 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
  12. 23 May, 2013 1 commit
  13. 22 May, 2013 2 commits
    • 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
    • Yaowu Xu's avatar
      Generalized intra 4x4 encoding for all sizes · 232d90d8
      Yaowu Xu authored
      Change-Id: I1b86744fa247233c8df031b3f4b87b212c8dd094
      232d90d8
  14. 20 May, 2013 1 commit
    • 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
  15. 17 May, 2013 1 commit
    • John Koleszar's avatar
      Initial version of alpha channel support · 679e4abd
      John Koleszar authored
      This is a mostly-working implementation of an extra channel in the
      bitstream. Configure with --enable-alpha to test. Notable TODOs:
      
       - Add extra channel to all mismatch tests, PSNR, SSIM, etc
       - Configurable subsampling
       - Variable number of planes (currently always uses all 4)
       - Loop filtering
       - Per-plane lossless quantizer
       - ARNR support
      
      This implementation just uses the same contents as the Y channel
      for the A channel, due to lack of content and general pain in
      playing back 4 channel content. A later patch will use the actual
      alpha channel passed in from outside the codec.
      
      Change-Id: Ibf81f023b1c570bd84b3064e9b4b8ae52e087592
      679e4abd
  16. 16 May, 2013 1 commit
    • 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
  17. 15 May, 2013 1 commit
    • Scott LaVarnway's avatar
      WIP: 16x16 idct/recon merge · a272ff25
      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: Iea7976b22b1927d24b8004d2a3fddae7ecca3ba1
      a272ff25
  18. 14 May, 2013 1 commit
    • 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
  19. 13 May, 2013 1 commit
    • 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
  20. 09 May, 2013 1 commit
    • John Koleszar's avatar
      Use common get_uv_tx_size() · 1fec23be
      John Koleszar authored
      Use a single method for calculating the transform size of
      non-luma planes.
      
      Change-Id: I16ebd10e7944d7b9075ab79d15e6a5b5f9bab775
      1fec23be
  21. 07 May, 2013 1 commit
    • Jingning Han's avatar
      Merge SB8X8 into the codebase · 776c1482
      Jingning Han authored
      Pull sb8x8 out of experimental list. verified via borg run tests.
      Fixed unit test failures.
      
      Change-Id: I12a4bbd17395930580c048ab68becad1ffe46e76
      776c1482
  22. 03 May, 2013 1 commit
    • John Koleszar's avatar
      Separate transform and quant from vp9_encode_sb · 4529c68b
      John Koleszar authored
      This allows removing a large number of transform size specific functions,
      as well as supporting 444/alpha by routing all code through the
      subsampling-aware path.
      
      Change-Id: Ieb085cebe9f37f24fc24de179898b22abfda08a4
      4529c68b
  23. 02 May, 2013 1 commit
    • John Koleszar's avatar
      Create common vp9_encode_sb{,y} · 3f4e8063
      John Koleszar authored
      Creates a common encode (subtract, transform, quantize, optimize,
      inverse transform, reconstruct) function for all sb sizes, including
      the old 16x16 path.
      
      Change-Id: I964dff1ea7a0a5c378046a069ad83495f54df007
      3f4e8063
  24. 01 May, 2013 1 commit
    • John Koleszar's avatar
      Make vp9_optimize_sb* common · 1f80a568
      John Koleszar authored
      Unify the various vp9_optimize_sb functions into one that handles all
      transform sizes.
      
      Change-Id: I48b642fbfb3e72cc2e0bcf1d0317a80a80547882
      1f80a568
  25. 30 Apr, 2013 1 commit
    • 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
  26. 29 Apr, 2013 1 commit
  27. 26 Apr, 2013 1 commit
  28. 25 Apr, 2013 3 commits
  29. 23 Apr, 2013 2 commits
    • 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
    • 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
  30. 22 Apr, 2013 4 commits
  31. 19 Apr, 2013 1 commit
    • John Koleszar's avatar
      Move dst to per-plane MACROBLOCKD data · d12376aa
      John Koleszar authored
      First in a series of commits moving the framebuffers pointers to
      per-plane data, so that they can be indexed numerically rather than
      by name.
      
      Change-Id: I6e0d60fd4d51e6375c384eb7321776564df21775
      d12376aa