1. 10 Jun, 2013 5 commits
    • 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
    • Paul Wilkins's avatar
      Rd check on segment level reference mode. · de6ec27d
      Paul Wilkins authored
      Do not allow the rd code to check compound modes if
      a segment level reference frame is selected.
      
      Change-Id: I95f0c57789e0eaceed7caf227e94b4ba3130a06c
      de6ec27d
    • Ronald S. Bultje's avatar
      Allow non-zeromv if ref_frame=intra with segmentation skip/ref enabled. · b12a8dac
      Ronald S. Bultje authored
      Change-Id: Ib5a95bb6ab643b276df3faa9bf99595e4a69ff18
      b12a8dac
    • Ronald S. Bultje's avatar
      Fix crash on RD iterations with segmentation enabled. · eedd98ac
      Ronald S. Bultje authored
      Change-Id: I3baf93c2fa5c2f7f45c6bc5514d317040975da71
      eedd98ac
    • Tero Rintaluoma's avatar
      Fixed point reference picture scaling · 86bb6df0
      Tero Rintaluoma authored
      Fixed point scaling factors are calculated once for each
      reference frame by using integer division. Otherwise fixed point
      scaling routines are used in all scaling calculations. This makes it
      possible to calculate fixed point scaling factors on device driver
      software and pass them to hardware and thus avoid division on hardware.
      
      TODO:
       - Missing check for maximum frame dimensions
         (currently scaling uses 14 bits)
       - Missing check for maximum scaling ratio
         (upscaling 16:1, downscaling 2:1)
      
      Problems:
       - Straightforward fixed point implementation can cause error +-1
         compared to integer division (i.e. in x_step_q4). Should only
         be an issue for frames larger than 16k.
      
      Change-Id: I3cf4dabd610a4dc18da3bdb31ae244ebaf5d579c
      86bb6df0
  2. 08 Jun, 2013 5 commits
  3. 07 Jun, 2013 20 commits
    • Adrian Grange's avatar
      Frame header changes to support intra_only frames · 07a5777b
      Adrian Grange authored
      Made changes to the frame header to write the sync
      code in the frame header for a non-displayable,
      intra-only frame.
      
      Extended reset_frame_context to 2-bits.
      
      (Submitting on behalf of Dmitri)
      
      Change-Id: Ie836ae0df9ed572fb4f08aabe9351a555c4f3b96
      07a5777b
    • Deb Mukherjee's avatar
      Coding tx-size selection by use of spatial context · 21401942
      Deb Mukherjee authored
      Adds coding of transform size within a frame by use of context
      of transform sizes selected in left and above blocks.
      
      Also incorporates code for generating stats.
      
      TODO: generate and incorporate new default stats
      
      Change-Id: I6a7af099f6ad61d448521d9a51167aedaf638ed6
      21401942
    • 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
    • Jingning Han's avatar
      Fix mv range border in pixels · c0167cbb
      Jingning Han authored
      WIP: trying to resolve the mismatch issue in extending frame
      dimension into multiples of 8.
      
      Change-Id: I24e7638ab3c50e21e6969c1eeed4f607d6f11f65
      c0167cbb
    • Ronald S. Bultje's avatar
      Add slightly more colorspace variations. · 36f02bf3
      Ronald S. Bultje authored
      Change-Id: Ib44541fbbdcf71ec881814bd6715ea1c6bd82cf4
      36f02bf3
    • Jingning Han's avatar
      Handle partition type coding of boundary blocks · 78b8190c
      Jingning Han authored
      The partition types of blocks sitting on the frame boundary are
      constrained by the block size and the position of each sub-block
      relative to the frame. Hence we use truncated probability models
      to handle the coding of such information.
      
      100 frames run:
      yt 0.138%
      
      Change-Id: I85d9b45665c15280069c0234ea6f778af586d87d
      78b8190c
    • Ronald S. Bultje's avatar
      Fix ref_frame segment feature when it is intra. · 6462afe0
      Ronald S. Bultje authored
      Change-Id: Ifbf790c14cee0c08a27f6728e3c637404e1f8477
      6462afe0
    • Ronald S. Bultje's avatar
      Fix line that disables the line above it. · d5c2d2dc
      Ronald S. Bultje authored
      Change-Id: I19d5cb60a00a001f6e5b3d90ce2db6e49d6209ad
      d5c2d2dc
    • Ronald S. Bultje's avatar
      Fix static segmentation feature. · 7dbd8a5d
      Ronald S. Bultje authored
      Change-Id: Ia36f626b9b3c2fe7eb89bb9acddf4701db1baef2
      7dbd8a5d
    • Paul Wilkins's avatar
      Change to segment ref frame feature. · 340c7a48
      Paul Wilkins authored
      Simplify feature to only support a single reference frame
      instead of a mask.
      
      Change-Id: I5dd3a98c7a224aafb35708850ab82e2f220e68fb
      340c7a48
    • Dmitry Kovalev's avatar
      Preparation to new frame size encoding. · 514b8ada
      Dmitry Kovalev authored
      Just an intermediate change set to simplify merges. Reordering several
      uncompressed header bits, code restructuring + minor cleanups.
      
      Change-Id: I28272f520762f8c4e3ad230ae39fff5102ba5c0d
      514b8ada
    • Yaowu Xu's avatar
      Remove two un-used entries in mode_lf_delta[] · b097a3ba
      Yaowu Xu authored
      With the removal of i4X4 and SPLIT_MV modes, the two entries for the
      modes are no longer used. This patch remove the coding of the deltas.
      
      Change-Id: Iea4eb500404ebe9706159380a03b8eca542fb4c3
      b097a3ba
    • Deb Mukherjee's avatar
      Coding updates for tx-size selection · 3ee1a21a
      Deb Mukherjee authored
      Changes to the coding of transform sizes, along with forward
      and backward probability updates.
      
      Results:
      derf300: +0.241%
      
      Context based coding of transform sizes will be in a separate
      patch.
      
      Change-Id: I97241d60a926f014fee2de21fa4446ca56495756
      3ee1a21a
    • Paul Wilkins's avatar
      Fix bug in segment skip. · 576c2bb0
      Paul Wilkins authored
      Wrong max data size (skip has no data) and use of vp9_get_segdata()
      when it should be vp9_segfeature_active().
      
      Change-Id: I1eb97d33df6e2a42cc589049f704266fe3639902
      576c2bb0
    • Paul Wilkins's avatar
      Compound inter encoder bug fix. · 653a2556
      Paul Wilkins authored
      In the longer term the encoder should allow compound as long
      as one of the buffers has opposite sign bias and as per the decoder
      this buffer is then set as the fixed reference. However at the moment
      the encoder and RD loop only supports the case where the ALTREF_FRAME
      buffer (or third of the 3 allowed in any given frame) is the odd one out.
      
      This patch fixes a bug that would allow compound inter and set
      fixed ref to ALTREF_FRAME when it is not the odd one out.
      
      Change-Id: Ic83a69486e088a147ba83a4aedc2a0042f6b3721
      653a2556
    • John Koleszar's avatar
      Add cheap show-buffer operation · 2584a5e5
      John Koleszar authored
      Adds the ability to have the decoder show one of the existing reference
      frames directly, without having to code it indirectly as a series of
      skip blocks.
      
      Change-Id: Ib6c26c5f6a8709863cf304ab890db8559687d25e
      2584a5e5
    • John Koleszar's avatar
      Add bits for colorspace, profile · e5b956f6
      John Koleszar authored
      Adds 3 bits for colorspace (sent on keyframes), 2 bits for version.
      
      Change-Id: Iaa0cf1dcdd085cebb46e2bc4a7c78cd33cf24325
      e5b956f6
    • John Koleszar's avatar
      Add marker bit to bool-coded partition start · a425e2cc
      John Koleszar authored
      Adds a marker bit to allow distinguishing the frame header from its residual
      data.
      
      Change-Id: Id75d47acc9e5a97007e4690c4f8748a4ce63e641
      a425e2cc
    • Yaowu Xu's avatar
      fix a typo · e127bdc0
      Yaowu Xu authored
      Change-Id: I8fd21e3a8435b873c5687d8b273922fc60988295
      e127bdc0
    • 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
  4. 06 Jun, 2013 10 commits
    • Jim Bankoski's avatar
      fix vp9_wb_write_bit uninitialized variable · c003b97d
      Jim Bankoski authored
      This fixes a valgrind error.
      
      Change-Id: I0e1ef212ba09d65e3d71dd209f0786ae6530d2c8
      c003b97d
    • Dmitry Kovalev's avatar
      Moving segmentation and tile info to uncompressed header. · a2375763
      Dmitry Kovalev authored
      Change-Id: I0ca77329d882a2026f6c1941b8e447d86bc87bda
      a2375763
    • Ronald S. Bultje's avatar
      New intra mode and partitioning probabilities. · ad343687
      Ronald S. Bultje authored
      Split partition probabilities between keyframes and non-keyframes,
      since they are fairly different. Also have per-blocksize interframe
      y intramode probabilities, since these vary heavily between different
      blocksizes.
      
      Lastly, replace default probabilities for partitioning and intra modes
      with new ones generated from current codec. Replace counts with actual
      probabilities also.
      
      Change-Id: I77ca996e25e4a28e03bdbc542f27a3e64ca1234f
      ad343687
    • Jingning Han's avatar
      Bug fix in rd_pick_inter_mode_sb_ · d03e974f
      Jingning Han authored
      Fix the calculation of step size in height.
      
      Change-Id: I0e0c0175f141f5a41214ae51cef233d13942d3c5
      d03e974f
    • Jim Bankoski's avatar
      signs reverted · b4c4f648
      Jim Bankoski authored
      Change-Id: Ieface458c83eb6e7ee95595d9fc662f372117c9a
      b4c4f648
    • Paul Wilkins's avatar
      Rd thresholds change with block size. · c3316c2b
      Paul Wilkins authored
      Added structures to support independent rd thresholds
      for different block sizes (and set experimental block
      size correction factors).
      
      Added structure to to allow dynamic adaptation of thresholds
      per mode and per block size basis depending on how often
      the mode/block size combination is seen (currently fixed factor).
      
      Removed some unused variables.
      
      TODO
      - Adaptation of thresholds based on how often each mode chosen.
      - The baseline mode values could also be adjusted based on
        the block size (e.g. for a particular intra mode use a low threshold
        for 4x4 prediction blocks but a relatively high value for 64x64.
      
      Change-Id: Iddee65ff3324ee309815ae7c1c5a8584720e7568
      c3316c2b
    • Paul Wilkins's avatar
      Turn off compound inter search refinement for good quality. · c880e02f
      Paul Wilkins authored
      Turn this feature off for some modes in  "good" quality.
      
      Change-Id: I3f262d62cca8f01736b977af1465291e8be29f0a
      c880e02f
    • Jim Bankoski's avatar
      don't tokenize & encode tokens for blocks in UMV · 5a88271b
      Jim Bankoski authored
      This avoids encoding tokens for blocks that are entirely
      in the UMV border. This changes the bitstream.
      
      Change-Id: I32b4df46ac8a990d0c37cee92fd34f8ddd4fb6c9
      5a88271b
    • Jingning Han's avatar
      Fix UV intra coding rd loop · f04b1548
      Jingning Han authored
      This commit makes the coding/reconstruction operations of intra
      coding rate-distortion loop for UV components consistent with those
      of the encoding process.
      
      key frame coding gains:
      derf:   0.11%
      stdhd:  0.42%
      
      Change-Id: I8d49f83924a320e3689ef2d60096c49d7f0c7a40
      f04b1548
    • Dmitry Kovalev's avatar
      Moving bits from compressed header to uncompressed one. · 12345cb3
      Dmitry Kovalev authored
      Bits moved: refresh_frame_flags, active_ref_idx[], ref_frame_sign_bias[],
      allow_high_precision_mv, mcomp_filter_type, ref_pred_probs[].
      
      Derf results: +0.040%
      
      Change-Id: I011f43c7eac0371d533b255fd99aee5ed75b85a5
      12345cb3