1. 16 Apr, 2013 2 commits
    • Adrian Grange's avatar
      Move configure_arnr_filter function · 9b84d113
      Adrian Grange authored
      This function is now called from configures the ARNR
      filter so it belongs with the other temporal filter
      functions.
      
      Change-Id: I64211875918364b5b8edfb97743e573c6def1663
      9b84d113
    • Adrian Grange's avatar
      Fixed overflow test on boost calculation · 82bbb230
      Adrian Grange authored
      Normalization of the frame boost value was being done
      when it reached the value 1028. The intention was to
      keep to a range of 10 bits, so it should have been
      clipped above 1023.
      
      Change-Id: I0afdddc1d2eb9e7822ec4578903cbe6ec0b33b91
      82bbb230
  2. 15 Apr, 2013 1 commit
    • Adrian Grange's avatar
      Initial addition of multiple ARF frames · c2876cf0
      Adrian Grange authored
      This is work-in-progress, it implements multiple ARF
      encoding behind an experimental flag.
      
      It adds the ability to insert multiple ARF frames into a
      single ARF group. This patch implements the reordering
      of the coded frames, and implements a fixed-length coding
      pattern. It applies a fixed quantizer strategy based on
      where the frame is in the coding sequence.
      
      Further work to modify the rate control strategy is
      ongoing and will be submitted via a set of future patches.
      
      In this first step, each ARF group is recursively
      bisected and an ARF frame added at that position in the
      sequence. The recursion continues until ARF frames are
      within MIN_GF_INTERVAL frames.
      
      The code sits behind the "multiple-arf" experimental
      flag ("CONFIG_MULTIPLE_ARF"). The experimental flag
      "oneshotq" ("CONFIG_ONESHOTQ") also needs to be enabled
      for this patch to work correctly.
      
      Change-Id: Ie473b05ebb43ac473c0cfb659b2b8042823085e2
      c2876cf0
  3. 12 Apr, 2013 5 commits
  4. 11 Apr, 2013 17 commits
  5. 10 Apr, 2013 6 commits
    • Ronald S. Bultje's avatar
      Make RD superblock mode search size-agnostic. · b4f6098e
      Ronald S. Bultje authored
      Merge various super_block_yrd and super_block_uvrd versions into one
      common function that works for all sizes. Make transform size selection
      size-agnostic also. This fixes a slight bug in the intra UV superblock
      code where it used the wrong transform size for txsz > 8x8, and stores
      the txsz selection for superblocks properly (instead of forgetting it).
      Lastly, it removes the trellis search that was done for 16x16 intra
      predictors, since trellis is relatively expensive and should thus only
      be done after RD mode selection.
      
      Gives basically identical results on derf (+0.009%).
      
      Change-Id: If4485c6f0a0fe4038b3172f7a238477c35a6f8d3
      b4f6098e
    • Jingning Han's avatar
      Make dequant/idct block size independent · bbd0063b
      Jingning Han authored
      The unified dequantization, inverse transform, and adding functions
      support rectangular block sizes. Also separate the operations on
      luma and chroma components, in the consideration of the txfm_size
      for uv components in rectangular block sizes.
      
      Change-Id: I2a13246b2a9086b37d575d346070990d854cc110
      bbd0063b
    • Yaowu Xu's avatar
      Remove obselete code · 2da90fdd
      Yaowu Xu authored
      The strategy to run fast loop filter picking for encoder speed-up
      should be revisited at a later stage.
      
      Change-Id: I3b75e06d767cff41be952a42e63b3292f4eab996
      2da90fdd
    • Jingning Han's avatar
      Make SB Decoding units size-independent · e63099d1
      Jingning Han authored
      Unify the sb32x32 and sb64x64 decoding units, which also allow for
      other rectangular block sizes.
      
      Change-Id: Ia5187ab2af56f98c3f99272bdf4dbcabe798ad5d
      e63099d1
    • Ronald S. Bultje's avatar
      Make SB coding size-independent. · a3874850
      Ronald S. Bultje authored
      Merge sb32x32 and sb64x64 functions; allow for rectangular sizes. Code
      gives identical encoder results before and after. There are a few
      macros for rectangular block sizes under the sbsegment experiment; this
      experiment is not yet functional and should not yet be used.
      
      Change-Id: I71f93b5d2a1596e99a6f01f29c3f0a456694d728
      a3874850
    • Dmitry Kovalev's avatar
      Adding setup_quantization function. · f370db0c
      Dmitry Kovalev authored
      Change-Id: I8fe25a905717a3cd2da5f87ba0403357536183cf
      f370db0c
  6. 09 Apr, 2013 5 commits
  7. 08 Apr, 2013 4 commits
    • John Koleszar's avatar
      detokenize: use consistent structure for all block sizes · e6deea4e
      John Koleszar authored
      Restructure the code to avoid the majority of per-block-size
      switches, code duplication, etc. All block types (mb/sb32/sb64)
      can be handled by the same code.
      
      Change-Id: I4022718d66e31a15a7074e43f3b98cd0a5124ea7
      e6deea4e
    • Dmitry Kovalev's avatar
      Simplification of decoder's code. · 5811d7e8
      Dmitry Kovalev authored
      Removing several commented code blocks, using uint32_t and uint8_t types,
      removing redundant code.
      
      Change-Id: Ifc5cc9863897925ea2a7cab4f7309ccf28d80bfe
      5811d7e8
    • Ronald S. Bultje's avatar
      Don't use BLOCKD in vp9_invtrans.c. · f42bee7e
      Ronald S. Bultje authored
      Change-Id: I40524170334109e2864b06e3c73c8b34e5aa8b0f
      f42bee7e
    • Jingning Han's avatar
      Clamp inferred motion vectors only · 12bf0796
      Jingning Han authored
      Clamp only the motion vectors inferred from neighboring reference
      macroblocks. The motion vectors obtained through motion search in
      NEWMV mode are constrained during the search process, which allows
      a relatively larger referencing region than the inferred mvs.
      Hence further clamping the best mv provided by the motion search may
      affect the efficacy of NEWMV mode.
      
      Synchronized the decoding process. The decoded mvs in NEWMV modes
      should be guaranteed to fit in the effective range. Put a mv range
      clamping function there for security purpose.
      
      This improves the coding performance of high motion sequences, e.g.,
      derf set:
      foreman 0.233%
      husky   0.175%
      icd     0.135%
      mother_daughter 0.337%
      pamphlet        0.561%
      
      stdhd set:
      blue_sky 0.408%
      city     0.455%
      also saw sunflower goes down by -0.469%.
      
      Change-Id: I3fcbba669e56dab779857a8126a91b926e899cb5
      12bf0796