1. 25 Oct, 2013 3 commits
  2. 24 Oct, 2013 8 commits
  3. 23 Oct, 2013 7 commits
  4. 22 Oct, 2013 8 commits
    • Adrian Grange's avatar
      Remove right_available member from VP9_COMP · 2f58b813
      Adrian Grange authored
      This member of VP9_COMP is no longer used, so I removed it.
      
      Change-Id: I3509f52756da4768a3e4581cec5ed5d2a70d5fb8
      2f58b813
    • Jingning Han's avatar
      Make decode modules independent of tile index · bd23e084
      Jingning Han authored
      Assign the pointer to mode_info stream per tile. Remove the use of
      tile_col in the decoding modules.
      
      Change-Id: I7df87086708a3d92c5e20e86bcfb04e458ff47a6
      bd23e084
    • Dmitry Kovalev's avatar
      Moving functions from vp9_decodemv.c to vp9_decodframe.c. · 9d3f27f3
      Dmitry Kovalev authored
      This move is done to have all compressed header reading functions in one
      place. Moved functions:
        read_switchable_interp_probs
        read_inter_mode_probs
        read_comp_pred_mode
        read_comp_pred
        update_mv
        read_mv_probs
      
      Change-Id: I2aebb57d2826d03d11bf2f8fbbfc3a9978c4f9fb
      9d3f27f3
    • Yunqing Wang's avatar
      Improve scale_factors struct · 175c313a
      Yunqing Wang authored
      The ref's scale_factors are set at frame level, and then copied for
      each partition block. Since the struct members are mostly constant,
      this patch separated the constant and non-constant members, and
      reduced struct copying. This gave 0.5% ~ 1.4% decoder speed gain.
      
      Change-Id: I94043bf5a6995c8042da52e5c661818dfa6f6d4c
      175c313a
    • Dmitry Kovalev's avatar
      Removing quantize_b_4x4 function pointer. · ec414372
      Dmitry Kovalev authored
      The pointer was asigned only once with vp9_regular_quantize_b_4x4, calling
      this function directly now. Also removing unused declarations:
        prototype_quantize_block
        prototype_quantize_block_pair
        prototype_quantize_mb
        vp9_regular_quantize_b_4x4_pair
        vp9_regular_quantize_b_8x8
      
      Change-Id: I14325bc2f082336820671eafbc06126651b79f73
      ec414372
    • Dmitry Kovalev's avatar
      Reordering probability tables for consistency. · 68c02593
      Dmitry Kovalev authored
      Putting vp9_kf_y_mode_prob[] before vp9_kf_uv_mode_prob[].
      
      Change-Id: I2404910e35de1ee24ce46337e00c07eb1446e50f
      68c02593
    • Jingning Han's avatar
      Prevent left_block_mode stepping into left tile · c8079494
      Jingning Han authored
      This commit uses left_available flag to decide if the left mode_info
      struct is available for left_block_mode. As discussed with James
      Zern (jzern@), this prevents the codec from fetching mode_info from
      blocks in the left tile, which although effectively not used might
      present concerns for multi-threaded tile decoding.
      
      This is NOT a bit-stream change.
      
      Change-Id: I1dc8cf1bcbf056688eee27c7bc5706ac4b4e0125
      c8079494
    • James Zern's avatar
      Revert "Merge "SVC improvements"" · cd74a901
      James Zern authored
      This reverts commit a82001b1, reversing
      changes made to f6d870f7.
      
      This commit breaks windows builds and needs some work to fix those and
      some additional comments.
      
      Change-Id: Ic0b0228e36704b127e5e399ce59db26182cfffe7
      cd74a901
  5. 21 Oct, 2013 11 commits
    • Dmitry Kovalev's avatar
      Using stride (# of elements) instead of pitch (bytes) in fdct4x4. · 190c2b45
      Dmitry Kovalev authored
      Just making fdct consistent with iht/idct/fht functions which all use
      stride (# of elements) as input argument.
      
      Change-Id: I0ba3c52513a5fdd194f1e7e2901092671398985b
      190c2b45
    • Ivan Maltz's avatar
      SVC improvements · 663916ce
      Ivan Maltz authored
      These changes were originally made in the Stratacaster team-review repository
      
      commit e114bffcd82ad74c3696ec58e13c0ac895d6c82d
      Author: Charles 'Buck' Krasic <ckrasic@google.com>
      Date:   Mon Oct 14 16:52:13 2013 -0700
      
          Make dummy frame handling a bit more explicit, fixing bug
          with single layer encodes.
      
      Squashed commit of the following:
      
      commit 1ebbfd976c0fadb02bf1ea562a2d0e3f0206daad
      Merge: ac468dde 54e88b7
      Author: Ivan Maltz <ivanmaltz@google.com>
      Date:   Fri Oct 11 17:29:58 2013 -0700
      
          Move SVC code from vp9_spatial_scalable_encoder to libvpx module accessible from ffmpeg
      
      commit 54e88b78b160becc9569fc3c6cb6b0a8c95dc357
      Author: Ivan Maltz <ivanmaltz@google.com>
      Date:   Tue Oct 8 09:08:40 2013 -0700
      
          common svc encoding code for sample app and ffmpeg
      
          added svc_encodeframe.c, svc_context.h, svc_test.cc
      
          vp9_spatial_scalable_encoder uses vpx_svc_encode
      
      commit 5616ec8e2e3d3e8d277333d8a9242f6c70151162
      Merge: 4528014 e29137df
      Author: Ivan Maltz <ivanmaltz@google.com>
      Date:   Tue Oct 8 08:47:58 2013 -0700
      
          Merge branch 'master' into stratacaster
      
      commit 45280148450b1f3d61e390df8aadedf85cd5bce1
      Merge: bb2b675 1ab60f7b
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Fri Oct 4 10:22:31 2013 -0700
      
          Merge branch 'master' into stratacaster
      
      commit bb2b675e595dc9bfc8551e963edf56800c3aea61
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Wed Oct 2 12:37:26 2013 -0700
      
          Track individual frame sizes and psnrs instead of averages.
      
      commit c6d303b714795c81e7ceb4173967115c9f8ff5b7
      Merge: fa87df9 35830879
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Fri Sep 27 10:05:35 2013 -0700
      
          Merge branch 'master' into stratacaster
      
      commit fa87df94fba923d9f7aeb8ae20c6e15f777e00b5
      Merge: bf22d71 3c465af2
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Thu Sep 26 16:10:31 2013 -0700
      
          Merge branch 'master' into stratacaster
      
      commit bf22d7144895a82e0c348ac177c8a261b9e2b88e
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Thu Sep 26 11:10:34 2013 -0700
      
          Parameterized quantizer, 16th scalefactors, more logging, enabled single layer encodes to generate baseline.
      
      commit ceffd7e6025b765f9886b5ea0f324248aa37e327
      Author: Sujeevan Rajayogam <sujee@google.com>
      Date:   Thu Sep 19 10:04:49 2013 -0700
      
          - Include new mode for 3 layer I frame with 5 total layers.
          - Refactor svc api.
      
      Change-Id: Ie4d775e21e006fa597d884c59488dc999478e9b5
      663916ce
    • Dmitry Kovalev's avatar
      Inlining set_partition_seg_context function. · a0be71c7
      Dmitry Kovalev authored
      We used set_partition_seg_context() only before calls to:
       1. update_partition_context()
       2. partition_plane_context()
      
      Moving these functions from vp9_blockd.h to vp9_onyxc_int.h and
      inlining  set_partition_seg_context into them. After that it is not
      necessary to have {above, left}_seg_context fields in MACROBLOCKD struture,
      so removing them also.
      
      Change-Id: I4723f59e1c8f3788432b7f51185d8d747b3a97f9
      a0be71c7
    • Dmitry Kovalev's avatar
      Cleanup: using cm variable instead of cpi->common. · a698e529
      Dmitry Kovalev authored
      Change-Id: Iab334b5fd51dfa7e7f29963f8bdc62fd7355e56d
      a698e529
    • James Zern's avatar
      vp9 dec/com: only update frame counts when necessary (2) · 2d1ab9a8
      James Zern authored
      missed one in vp9_detokenize.c in the last
      + add some asserts in vp9_decode_frame() to catch regressions
      
      Change-Id: Ide67505114ee17efdafb13694aed0c09039e5a16
      2d1ab9a8
    • Dmitry Kovalev's avatar
      Moving allow_high_precision_mv from MACROBLOCKD to VP9_COMMON. · d1b65c6b
      Dmitry Kovalev authored
      This value is a global frame-level flag, not a macroblock-level.
      
      Change-Id: Ie8c5790a931150741c2167c00c3e3dd2cf26744d
      d1b65c6b
    • James Zern's avatar
      vp9_decodframe: limit scope of private function params · 0aee867f
      James Zern authored
      replace VP9D_COMP usage with the (slightly) more targeted
      VP9_COMMON/MACROBLCKD structures.
      
      Change-Id: I50d2579238d1a5d51ba5a82379266448ae64b24b
      0aee867f
    • James Zern's avatar
      vp9_decode_tokens: limit scope of function params · 27aec502
      James Zern authored
      replace VP9D_COMP usage with the (slightly) more targeted
      VP9_COMMON/MACROBLCKD/struct segmentation structures.
      
      Change-Id: Iabb3616e231417b0e17b7e4b384ea63167a81745
      27aec502
    • James Zern's avatar
      vp9_read_mode_info: limit scope of function params · 2f5b7ad6
      James Zern authored
      replace VP9D_COMP usage with the (slightly) more targeted
      VP9_COMMON/MACROBLCKD structures.
      
      Change-Id: I09f6c4a5b0bcc20222210831b5b4c1582eced300
      2f5b7ad6
    • James Zern's avatar
      vp9_decodemv: limit scope of private function params · a06cadba
      James Zern authored
      replace VP9D_COMP usage with the (slightly) more targeted
      VP9_COMMON/MACROBLCKD structures.
      
      Change-Id: Ieafac9ad035cba808ed91d3dfd321ba864b58905
      a06cadba
    • James Zern's avatar
      vp9/dec: use loop filter worker for all inline cases · f8797a5a
      James Zern authored
      - uses vp9_worker_execute() in non-threaded case
      + removes hook reassignment
      
      Change-Id: I305fd55f2be5cd92367373c929cdb9004066f90f
      f8797a5a
  6. 19 Oct, 2013 3 commits
    • Paul Wilkins's avatar
      Modified no memory rate control. · eec3def7
      Paul Wilkins authored
      This 2-pass rate control setting allocates bits based
      on first pass stats to each kf group, gf group and individual
      frame but does not correct the bits left and allocation after
      each frame.
      
      In other words it recommends a bit allocation for each frame
      but does not try and correct any over or under spend on a
      frame over the remainder of the clip. This reduces the accuracy
      of rate control in terms of hitting an average bitrate but prevents
      problems that may arise because early frames either use to many
      or too few bits. This mode is currently more inclined to undershoot
      than overshoot (particularly at higher data rates).
      
      Also minor changes to rate of adaption when recode loop is not
      enabled.
      
      This mode is currently enabled by default for VBR.
      It gives the following % performance gains.
      
      derf +0.467, +1.072
      yt 2.962, 2.645
      stdhd 1.682, 1.595,
      yt-hd 2.3, 2.174
      
      Change-Id: I3c84a9bf8884e5b345698ff0e19187f792c2f3a0
      eec3def7
    • Paul Wilkins's avatar
      Reduced delta for kf/gf/arf when at maxq. · a2769bb7
      Paul Wilkins authored
      Delta reduced because of concern about popping on some
      very hard clips.
      
      Also allow some frame recode at speed 2 for kf/gf/arf.
      
      Change-Id: Ib47dff42da41aa6eec83b7285fcaaca24abb851e
      a2769bb7
    • Dmitry Kovalev's avatar
      Removing NUM_ prefix from constant names. · 6d2a0da7
      Dmitry Kovalev authored
      Renames for consistency with other constants:
        NUM_FRAME_TYPES -> FRAME_TYPES
        NUM_PARTITION_CONTEXTS -> PARTITION_CONTEXTS
      
      Change-Id: I3db30acb2868eb0a424237c831087b2e264ec47f
      6d2a0da7