1. 27 Aug, 2013 2 commits
  2. 21 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing a lot of duplicated code. · 27a984fb
      Dmitry Kovalev authored
      Adding set_contexts contexts function and call it instead of
      set_contexts_on_border. Calling txfrm_block_to_raster_xy to get aoff and
      loff.
      
      Change-Id: I41897e344afd2cae1f923f4fdbe63daccf6fe80e
      27a984fb
  3. 19 Aug, 2013 1 commit
  4. 16 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Moving from ss_txfrm_size to tx_size. · afd9bd3e
      Dmitry Kovalev authored
      Updating foreach_transformed_block_visitor and corresponding functions
      to accept tx_size instead of ss_txfrm_size. List of functions per file:
      
      vp9_decodframe.c
        decode_block
        decode_block_intra
      
      vp9_detokenize.c
        decode_block
      
      vp9_encodemb.c
        optimize_block
        vp9_xform_quant
        vp9_encode_block_intra
      
      vp9_rdopt.c
        dist_block
        rate_block
        block_yrd_txfm
      
      vp9_tokenize.c
        set_entropy_context_b
        tokenize_b
        is_skippable
      
      Change-Id: I351bf563eb36cf34db71c3f06b9bbc9a61b55b73
      afd9bd3e
  5. 15 Aug, 2013 3 commits
    • Jingning Han's avatar
      Refactor rd loop for chroma components · 68369ca8
      Jingning Han authored
      This commit makes the rate-distortion optimization search of chroma
      components consistent across all block sizes. It removes redundant
      codes.
      
      Change-Id: I7e76f54d045e8efdd41d84a164c71f55b484471b
      68369ca8
    • Dmitry Kovalev's avatar
      Moving segmentation struct from MACROBLOCKD to VP9_COMMON. · b7616e38
      Dmitry Kovalev authored
      VP9_COMMON is the right place to segmentatation struct because it has
      global segmentation parameters, not something specific to macroblock
      processing.
      
      Change-Id: Ib9ada0c06c253996eb3b5f6cccf6a323fbbba708
      b7616e38
    • Jingning Han's avatar
      Unify luma and chroma rd-cost estimation · ec01f52f
      Jingning Han authored
      This commit unifies the rate-distortion cost calculation process of
      luma and chroma components. It allows early termination to be enabled
      later in the rd search loop of chroma components, in consistent with
      luma pixels.
      
      Change-Id: I2e52a7c6496176bf2a5e3ef338d34ceb8aad9b3d
      ec01f52f
  6. 14 Aug, 2013 2 commits
    • Dmitry Kovalev's avatar
      foreach_transformed_block_in_plane cleanup, explicit tx_size var. · bb072000
      Dmitry Kovalev authored
      Making foreach_transformed_block_in_plane more clear (it's not finished
      yet). Using explicit tx_size variable consistently instead of
      (ss_txfrm_size / 2) or (ss_txfrm_size >> 1) expression.
      
      Change-Id: I1b9bba2c0a9f817fca72c88324bbe6004766fb7d
      bb072000
    • Paul Wilkins's avatar
      Renaming in MB_MODE_INFO · 26fead7e
      Paul Wilkins authored
      The macro block mode info context originally contained an
      entry for each 16x16 macroblock. In VP9 each entry refers
      to an 8x8 region not a macro block, so the naming is misleading.
      
      This first stage clean up changes the names of 3 entries in the
      structure to remove the mb_ prefix.
      
      TODO clean up the nomenclature more widely in respect of
      mbmi and bmi.
      
      Change-Id: Ia7305c6d0cb805dfe8cdc98dad21338f502e49c6
      26fead7e
  7. 12 Aug, 2013 1 commit
  8. 09 Aug, 2013 1 commit
  9. 02 Aug, 2013 2 commits
  10. 01 Aug, 2013 1 commit
  11. 30 Jul, 2013 1 commit
  12. 29 Jul, 2013 4 commits
  13. 24 Jul, 2013 3 commits
  14. 12 Jul, 2013 1 commit
  15. 11 Jul, 2013 1 commit
    • Dmitry Kovalev's avatar
      Moving segmentation related vars into separate struct. · c4ad3273
      Dmitry Kovalev authored
      Adding segmentation struct to vp9_seg_common.h. Struct members are from
      macroblockd and VP9Common structs. Moving segmentation related constants
      and enums to vp9_seg_common.h.
      
      Change-Id: I23fabc33f11a359249f5f80d161daf569d02ec03
      c4ad3273
  16. 10 Jul, 2013 1 commit
    • Jim Bankoski's avatar
      removing case statements around prediction entropy coding · fb027a76
      Jim Bankoski authored
      Removes SEG_ID
      Removes MBSKIP
      Removes SWITCHABLE_INTERP
      Removes INTRA_INTER
      Removes COMP_INTER_INTER
      Removes COMP_REF_P
      Removes SINGLE_REF_P1
      Removes SINGLE_REF_P2
      Removes TX_SIZE
      
      Change-Id: Ie4520ae1f65c8cac312432c0616cc80dea5bf34b
      fb027a76
  17. 01 Jul, 2013 2 commits
    • Ronald S. Bultje's avatar
      Make get_coef_context() branchless. · 26b6318d
      Ronald S. Bultje authored
      This should significantly speedup cost_coeffs(). Basically what the
      patch does is to make the neighbour arrays padded by one item to
      prevent an eob check in get_coef_context(), then it populates each
      col/row scan and left/top edge coefficient with two times the same
      neighbour - this prevents a single/double context branch in
      get_coef_context(). Lastly, it populates neighbour arrays in pixel
      order (rather than scan order), so we don't have to dereference the
      scantable to get the correct neighbours.
      
      Total encoding time of first 50 frames of bus (speed 0) at 1500kbps
      goes from 2min10.1 to 2min5.3, i.e. a 2.6% overall speed increase.
      
      Change-Id: I42bcd2210fd7bec03767ef0e2945a665b851df56
      26b6318d
    • Ronald S. Bultje's avatar
      Quantize (64-bit only, for now) SSSE3 SIMD. · 7353ceab
      Ronald S. Bultje authored
      Total encoding time for first 50 frames of bus (speed 0) @ 1500kbps
      goes 2min34.8 to 2min14.4, i.e. a 10.4% overall speedup. The code is
      x86-64 only, it needs some minor modifications to be 32bit compatible,
      because it uses 15 xmm registers, whereas 32bit only has 8.
      
      Change-Id: I2df53770c2e850813ffa713e1a91b45b0082b904
      7353ceab
  18. 28 Jun, 2013 1 commit
    • Ronald S. Bultje's avatar
      Inline vp9_get_coef_context() (and remove vp9_ prefix). · d00b8e5f
      Ronald S. Bultje authored
      Makes cost_coeffs() a lot faster:
      4x4: 236 -> 181 cycles
      8x8: 888 -> 588 cycles
      16x16: 3550 -> 2483 cycles
      32x32: 17392 -> 12010 cycles
      
      Total encode time of first 50 frames of bus (speed 0) @ 1500kbps goes
      from 2min51.6 to 2min43.9, i.e. 4.7% overall speedup.
      
      Change-Id: I16b8d595946393c8dc661599550b3f37f5718896
      d00b8e5f
  19. 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
  20. 07 Jun, 2013 2 commits
    • Deb Mukherjee's avatar
      Cleans up mbskip encoding · 869a39ba
      Deb Mukherjee authored
      Refactors mbskip coding to be compatible with coding of the rest of
      the symbols. Adds forward/backward adaptation and removes a lot of
      the legacy code.
      
      Results:
      fast50: +1.6%
      derfraw300: +0.317%
      
      Change-Id: I395a2976d15af044d3b8ded5acfa45f6f065f980
      869a39ba
    • 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
  21. 06 Jun, 2013 1 commit
  22. 31 May, 2013 1 commit
  23. 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
  24. 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
  25. 22 May, 2013 1 commit
    • 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
  26. 21 May, 2013 1 commit