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 4 commits
  4. 11 Jun, 2013 7 commits
    • John Koleszar's avatar
      Trap reference frames of invalid size · 76e0c95d
      John Koleszar authored
      A corrupt bitstream could refer to a reference frame that has no size.
      
      Change-Id: I56c3b71a9dbb58b498e9969403e289c0e574f948
      76e0c95d
    • John Koleszar's avatar
      decode_tiles(): validate buffer reads · 2bcc4736
      John Koleszar authored
      Previous code indexed using the tile length coded in the bitstream
      without checking that the read would be valid.
      
      Change-Id: Ia5047762223a4f80d75016dd546dc2ef18b6887d
      2bcc4736
    • 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
    • Deb Mukherjee's avatar
      Minor change in forward updates · a4d906c1
      Deb Mukherjee authored
      Removes the case of coding prob = 0 for forward updates, since that
      is not an allowed probability to code.
      Slightly improves efficiency but may not matter in practice.
      
      Change-Id: I3b4caf82e8f0891992f0706d4089cc5a27568dba
      a4d906c1
    • Jim Bankoski's avatar
      Fix rd partition search for corner blocks · fca6c82b
      Jim Bankoski authored
      This commit enables proper partition type search for the bottom-
      right corner blocks.
      
      Change-Id: Id1123d0e4e81eba648ed4f3c0c7ab587e174f650
      fca6c82b
    • 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
    • Deb Mukherjee's avatar
      Adds a zero check in model_rd function · f18328cb
      Deb Mukherjee authored
      Avoids divide-by-zero when variance is 0.
      
      Change-Id: I3c7f526979046ff7d17714ce960fe81d6e1442a0
      f18328cb
  5. 10 Jun, 2013 15 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
    • Dmitry Kovalev's avatar
      Using network byte order (big-endian) to encode tile size. · 85381e34
      Dmitry Kovalev authored
      This is consistent with uncompressed header encoding.
      
      Change-Id: Iccf40a44b493ed36ee085b81ed56f7952cde70a9
      85381e34
    • 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
    • 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
    • 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 9 commits
  8. 07 Jun, 2013 2 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