1. 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
  2. 14 Jun, 2013 1 commit
    • Jingning Han's avatar
      Enable sse2 version of sad8x4/4x8 · c43af9a8
      Jingning Han authored
      The encoding time for bus at CIF goes from 661s to 625s. This commit
      also enabled unit test of sad8x4/4x8 in sad_test.cc.
      
      Change-Id: If3d10ebb56bda584bdb69bcf056599d580b12cb1
      c43af9a8
  3. 12 Jun, 2013 3 commits
  4. 11 Jun, 2013 2 commits
    • John Koleszar's avatar
      Disallow wide loopfilter on some chroma borders · 9831f205
      John Koleszar authored
      Don't do the 15 tap filter if there aren't 8 pixels below/right of the
      edge.
      
      Change-Id: I62f16437c1d9ba59b6901a5fe71ddb2f472da344
      9831f205
    • Jingning Han's avatar
      Fix partition coding of corner block · 551f37d6
      Jingning Han authored
      This commit fixed the allowable partition types for bottom-right
      corner blocks.
      
      When a block has over half of its pixels as valid content in both
      vertical and horizontal directions, allow all the four partition
      types in the bit-stream. Otherwise, apply partition type constraints.
      
      Change-Id: I2252e2de7125a8bfb1c824bf34299a13c81102e3
      551f37d6
  5. 10 Jun, 2013 11 commits
    • Deb Mukherjee's avatar
      New probs for filters/tx_size and a few others · a43ff153
      Deb Mukherjee authored
      * New probs for subpel filters/tx_count
      * Makes a change to not reset to defaults for the tx_size
      probs if an intermediate frame reverts to using a fixed tx_size.
      * A few updates to the parameters for backward adaptation for mode/mv
      * some cosmetic cleanups
      
      derf300: +0.06%
      
      Change-Id: I22994d659bc31ca7a4fc8820fde24001e64a2920
      a43ff153
    • John Koleszar's avatar
      Remove remnants of VP8 profiles/versions · 0fcb625e
      John Koleszar authored
      Remove the bilinear filter mode, and the no-loopfilter mode, and the
      related vp9_setup_version() function.
      
      Change-Id: I32311367812faf37863131df3af37d63d03973d7
      0fcb625e
    • Jim Bankoski's avatar
      print debugging info from mode info struct · ba2af976
      Jim Bankoski authored
      This commit has no impact but to help us debug issues.   To Use call like
      this:
      
        vp9_print_modes_and_motion_vectors(cpi->common.mi, cpi->common.mi_rows,
                                           cpi->common.mi_cols,
                                           cpi->common.current_video_frame,
                                           "decode_mi.stt");
      
      Change-Id: I89e27725dae351370eb7f311a20a145ed4f1d041
      ba2af976
    • John Koleszar's avatar
      Merge the new loopfilter experiment · 44db42c1
      John Koleszar authored
      Change-Id: I524ba98841f2e1850e3276ac365c501cea31546d
      44db42c1
    • Deb Mukherjee's avatar
      Cosmetic cleanups of filters · 995ce523
      Deb Mukherjee authored
      No bitstream change.
      
      Removes unused filters and the code for the case of 2 switchable filters;
      also changes the 8tap-smooth filter coefficients for integer shifts to be
      interpolating to be consistent with the way it is implemented currently.
      
      Change-Id: I96c542fd8c06f4e0df507a645976f58e6de92aae
      995ce523
    • Adrian Grange's avatar
      Implement intra-coded frames · eac344ef
      Adrian Grange authored
      Implements ability to signal and decode frames that are
      encoded using only intra coding modes. Only the decode
      side has been implemented here.
      
      Change-Id: I53ac6a8d90422cd08ba389e5236e15b45f9e93de
      eac344ef
    • John Koleszar's avatar
      Loopfilter: Fix chroma edge selection · 48b7cbca
      John Koleszar authored
      A 32x32 transform should have no internal filtering (check c==4)
      
      Change-Id: I7414cf4748ed053208217692ef00cd8b20d49a91
      48b7cbca
    • 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
    • Jim Bankoski's avatar
      border mvref issue · 75459d65
      Jim Bankoski authored
      Fixes mvref issue.
      
      Change-Id: I07dc1b0682845bc18fe0efa6af5e4f4da3abfa3a
      75459d65
    • 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
    • Janne Salonen's avatar
      Loopfilter: bug fix in sb_type usage · 548f90d2
      Janne Salonen authored
      Was always using sb_type of first column in a row of 8x8 units when
      determining decoded block edges as a subcondition for loop filter
      skipping.
      
      Change-Id: Ib17554633a63a90b70cdaa7bed65db035a8ad9d8
      548f90d2
  6. 09 Jun, 2013 1 commit
  7. 08 Jun, 2013 7 commits
  8. 07 Jun, 2013 14 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
      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 segment feature data size. · 28164eb9
      Ronald S. Bultje authored
      Change-Id: I4331cfd99a717938f4f970cad81c468cbf287b00
      28164eb9
    • Ronald S. Bultje's avatar
      Fix segment feature data type. · fb1f6f1d
      Ronald S. Bultje authored
      It has a range of -255,255, so should be int16_t, not int8_t.
      
      Change-Id: I5ef4b6aefb6212b0f35f4754f3c4d73fddbc52a0
      fb1f6f1d
    • Ronald S. Bultje's avatar
      Don't crash if motion vector ref points to out-of-bounds area. · 363dc6ce
      Ronald S. Bultje authored
      This can only happen if partition is partly out-of-frame, in which
      case the referenced mv is either out-of-frame also (and thus has the
      same value as an already-read one), or it is actually uninitialized,
      in which case we don't want to use it.
      
      Change-Id: Icf39fa4d987c7abcbebb9bbdcdd6311e8fb9d3c9
      363dc6ce
    • 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
    • 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
    • Yaowu Xu's avatar
      Specify mv neighborhood for block larger than 8x8 · 8b3ad752
      Yaowu Xu authored
      The new neighorbhood adapts to the shape and size of the block type
      cif +.16%
      stdhd +.13%
      
      Change-Id: I978db58278e9ae3fbd6726ef831bdfc5f5f37d02
      8b3ad752
    • Ronald S. Bultje's avatar
      Revert "Align frame size to 8 instead of 16." · e7d306aa
      Ronald S. Bultje authored
      This reverts commit c2574414
      
      Change-Id: Ie9013cb0bb43e639e01b4588f630b1da59295d38
      e7d306aa
    • 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
    • Janne Salonen's avatar
      Modified loop filter edge skipping · 5c522386
      Janne Salonen authored
      Added condition to not to skip filtering of transform block edges when
      the edge is also a decoding block edge.
      
      Change-Id: Iaccb6206c4202b78e5dca3b89379556e0f4aba0c
      5c522386
    • 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