1. 11 Oct, 2013 1 commit
  2. 10 Oct, 2013 1 commit
  3. 08 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing inv_txm4x4_1_add and inv_txm4x4_add function pointers. · c983c966
      Dmitry Kovalev authored
      We already have itxm_add member in MACROBLOCKD structure. Both
      inv_txm4x4_1_add and inv_txm4x4_add are just its special cases for
      different eob values. But eob logic is already implemented in
      vp9_iwht4x4_add and vp9_idct4x4_add (that's why also removing
      inverse_transform_b_4x4_add).
      
      Change-Id: I80bec9b6f7d40c5e5033c613faca5c819c3e6326
      c983c966
  4. 07 Oct, 2013 2 commits
  5. 06 Oct, 2013 2 commits
  6. 02 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Moving all idct/iht functions in one place. · be7eec79
      Dmitry Kovalev authored
      Moving functions from vp9_idct_blk to vp9_idct because these functions are
      used from both encoder and decoder. Removing duplicated code from
      vp9_encodemb.c and reusing existing functions.
      
      Change-Id: Ia0a6782f8c4c409efb891651b871dd4bf22d5fe8
      be7eec79
  7. 27 Sep, 2013 2 commits
  8. 26 Sep, 2013 1 commit
  9. 25 Sep, 2013 1 commit
  10. 23 Sep, 2013 1 commit
    • Jingning Han's avatar
      Enable per transformed block zero coeffs forcing · a517343c
      Jingning Han authored
      This commit enables forcing all coefficients zero per transformed
      block, when its rate-distortion cost is lower than regular coeff
      quantization.
      
      The overall performance improvement (including its parent patch on
      calculating rd cost per transformed block) at speed 1:
      derf:  0.298%
      yt:    0.452%
      hd:    0.741%
      stdhd: 0.006%
      
      Change-Id: I66005fe0fd7af192c3eba32e02fd6d77952accb5
      a517343c
  11. 19 Sep, 2013 1 commit
  12. 11 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage -- undo revert · ac6093d1
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of pointers to MODE_INFO structs.  The
      MODE_INFO structs are now stored as a stream (decoder only),
      eliminating unnecessary copies and is a little more cache
      friendly.
      
      Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d
      ac6093d1
  13. 09 Sep, 2013 1 commit
  14. 07 Sep, 2013 1 commit
    • Jingning Han's avatar
      Fix overflow issue in 16x16 quantization SSSE3 · 09bc942b
      Jingning Han authored
      The 16x16 transform unit test suggested that the peak coefficient
      value can reach 32639. This could cause potential overflow issue
      in the SSSE3 implmentation of 16x16 block quantization. This commit
      fixes this issue by replacing addition with saturated addition.
      
      Change-Id: I6d5bb7c5faad4a927be53292324bd2728690717e
      09bc942b
  15. 06 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage · dae17734
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of a pointer to a MODE_INFO struct and
      a "in the image" flag.  The MODE_INFO structs are now stored
      as a stream, eliminating unnecessary copies and is a little
      more cache friendly.
      
      For the test clips used, the decoder performance improved
      by ~4.3% (1080p) and ~9.7% (720p).
      
      Patch Set 2: Re-encoded clips with latest. Now ~1.7% (1080p)
      and 5.9% (720p).
      
      Change-Id: I846f29e88610fce2523ca697a9a9ef2a182e9256
      dae17734
  16. 28 Aug, 2013 1 commit
  17. 27 Aug, 2013 1 commit
  18. 21 Aug, 2013 1 commit
  19. 19 Aug, 2013 2 commits
    • Dmitry Kovalev's avatar
      Passing plane_bsize to foreach_transformed_block_visitor. · 82d4d9a0
      Dmitry Kovalev authored
      Updating all foreach_transformed_block_visitor functions to work with
      plane block size instead of general block. Removing a lot of duplicated
      code.
      
      Change-Id: I6a9069e27528c611f5a648e1da0c5a5fd17f1bb4
      82d4d9a0
    • Dmitry Kovalev's avatar
      Using plane_bsize instead of bsize. · 2e3478a5
      Dmitry Kovalev authored
      This change set is intermediate. The next one will remove all repetitive
      plane_bsize calculations, because it will be passed as argument to
      foreach_transformed_block_visitor.
      
      Change-Id: Ifc12e0b330e017c6851a28746b3a5460b9bf7f0b
      2e3478a5
  20. 16 Aug, 2013 2 commits
    • Dmitry Kovalev's avatar
      Removing unused or redundant arguments from *_args structures. · 26e5b5e2
      Dmitry Kovalev authored
      Redundant dst, pre[2] from build_inter_predictors_args, unused cm from
      encode_b_args.
      
      Change-Id: I2c476cd328c5c0cca4c78ba451ca6ba2a2c37e2d
      26e5b5e2
    • 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
  21. 15 Aug, 2013 1 commit
  22. 14 Aug, 2013 1 commit
  23. 09 Aug, 2013 1 commit
  24. 08 Aug, 2013 1 commit
  25. 07 Aug, 2013 1 commit
    • Jingning Han's avatar
      Use low precision 32x32fdct for encodemb in speed1 · debb9c68
      Jingning Han authored
      The low precision 32x32 fdct has all the intermediate steps within
      16-bit depth, hence allowing faster SSE2 implementation, at the
      expense of larger round-trip error. It was used in the rate-distortion
      optimization search loop only.
      
      Using the low precision version, in replace of the high precision one,
      affects the compression performance by about 0.7% (derf, stdhd) at
      speed 0. For speed 1, it makes derf set down by only 0.017%.
      
      Change-Id: I4e7d18fac5bea5317b91c8e7dabae143bc6b5c8b
      debb9c68
  26. 05 Aug, 2013 1 commit
  27. 02 Aug, 2013 1 commit
    • Dmitry Kovalev's avatar
      Adding is_inter_block function. · 680ec32d
      Dmitry Kovalev authored
      Using it instead of long unclear verbose check
      "mbmi->ref_frame[0] != INTRA_FRAME".
      
      Change-Id: I9c7b4b3797942fa962bf3ba7460fff3084beabe9
      680ec32d
  28. 01 Aug, 2013 1 commit
  29. 29 Jul, 2013 1 commit
    • Jingning Han's avatar
      16x16 inverse 2D-DCT with DC only · a7c4de22
      Jingning Han authored
      This commit provides special handle on 16x16 inverse 2D-DCT, where
      only DC coefficient is quantized to be non-zero value.
      
      Change-Id: I7bf71be7fa13384fab453dc8742b5b50e77a277c
      a7c4de22
  30. 27 Jul, 2013 2 commits
    • Ronald S. Bultje's avatar
      Inverse dimension order in token_cost array. · 118ccdcd
      Ronald S. Bultje authored
      This allows us to increment the position at the band-level only as
      we go from one band to the next; more importantly, that allows us to
      use an add instead of multiply instruction, and omit the instruction
      altogether if the band doesn't change from one coef to the next, thus
      being slightly faster (probably more noticeable on systems where a
      multiply is expensive, like arm).
      
      Change-Id: I4343fe35b9f9a47fa00b217bdcbf5f91ff96c381
      118ccdcd
    • Jingning Han's avatar
      Shortcut 8x8/16x16 inverse 2D-DCT · 38fa4871
      Jingning Han authored
      This commit brought back the shortcut implementation of 8x8/16x16
      inverse 2D-DCT. When the eob <= 10, it skips the inverse transform
      operations on row 4:7/4:15 in the first round. For bus_cif at 1000
      kbps, this provides about 2% speed-up at speed 0.
      
      Change-Id: I453e2d72956467d75be4ad8c04b4482ab889d572
      38fa4871
  31. 26 Jul, 2013 1 commit
    • Jingning Han's avatar
      Special handle on DC only inverse 8x8 2D-DCT · 325e0aa6
      Jingning Han authored
      This commit enables a special handle for the 8x8 inverse 2D-DCT,
      where only DC coefficient is quantized to be non-zero. For bus_cif
      at 2000 kbps, it provides about 1% speed-up at speed 0.
      
      Change-Id: I2523222359eec26b144cf8fd4c63a4ad63b1b011
      325e0aa6
  32. 25 Jul, 2013 1 commit
    • Jingning Han's avatar
      Make coeff_optimize initialized per-plane · 2f58faff
      Jingning Han authored
      This commit makes the initialization of trellis coeff optimization
      a per-plane operation, thereby eliminating the redundant steps in
      encode_sby and encode_sbuv. It makes the encoder at speed 0 slightly
      faster.
      
      Change-Id: Iffe9faca6a109dafc0dd69dc7273cbdec19b17cd
      2f58faff
  33. 24 Jul, 2013 1 commit
  34. 23 Jul, 2013 1 commit