1. 01 Feb, 2014 3 commits
  2. 31 Jan, 2014 9 commits
    • Jim Bankoski's avatar
      bsize problem 360p · 18330286
      Jim Bankoski authored
      Fixes an assert that crashed for 360p..
      
      Change-Id: I2faf15c93cbdb0e62a27a3b663f0d09ba62774a8
      18330286
    • Yaowu Xu's avatar
      Only allow interp_filter change in SWITCHABLE mode · 538b1c6d
      Yaowu Xu authored
      This commit added a logic to prevent the inter_filter type from being
      changed if the default interp_filter mode is not switchable. Also, it
      sets the default interp_filter to BILINEAR at very and super fast rtc
      encoding modes
      
      Change-Id: Ic41e6d31de29795a4ce536ec79afb01cab6daad3
      538b1c6d
    • Yaowu Xu's avatar
      fix IOCs · dc9af3b5
      Yaowu Xu authored
      Left shift of negative values caused IOC warnings.
      
      Change-Id: I6f41b020ca0ff51f7861719d41393e9460b75d4e
      dc9af3b5
    • Yaowu Xu's avatar
      Properly merge two different real time modes · 6a4e2dda
      Yaowu Xu authored
      --rt --cpu-used=-5 uses the progressive rtc mode
      --rt --cpu-used=-6 uses the new super fast rtc mode
      
      Change-Id: Id6469ca996100cdf794a0e42d76430161f22f976
      6a4e2dda
    • Yunqing Wang's avatar
      vp9 decoder: row-based multi-threaded loopfilter · 903801f1
      Yunqing Wang authored
      Implemented parallel loopfiltering, which uses existing tile-
      decoding threads. Each thread works on one row, and when that row
      is loopfiltered, it moves to next unattended row. To ensure the
      correct filtering order, threads are synchronized and one
      superblock is filtered only if the superblocks it depends on are
      filtered already.
      
      To reduce synchronization overhead and speed up the decoder, we use
      nsync > 1 for high resolution.
      
      Performance tests:
      1. on desktop:
      8-tile 4k video using 8 threads, speedup: 70% - 80%
      4-tile HD video using 4 threads, speedup: ~35%
      2. on mobile device(Nexus 7):
      4-tile 1080p video using 4 threads, speedup: 18% - 25%
      4-tile 1080p video using 2 threads, speedup: 10% - 15%
      
      Change-Id: If54b4a11960dd706c22d5ad145ad94156031f36a
      903801f1
    • Alex Converse's avatar
      Cleanup block_rd_txfm. · e78c174e
      Alex Converse authored
      * Avoid unnecessary type erasure
      * Prune unused/duplicate fields from struct rdcost_block_args
      * Make struct rdcost_block_args a local
      
      Change-Id: I4f1fd4837ccd028bbfe727191ee8d69f0463b7e5
      e78c174e
    • Adrian Grange's avatar
      Disable update of last_show_frame for existing frame · 64e25974
      Adrian Grange authored
      When showing a previously decoded frame, i.e. when
      show_existing_frame=1, the update of the
      last_show_frame flag must be disabled.
      
      This is to ensure that the last_show_frame flag
      reflects the state of the flag for the immediately
      previously decoded frame rather then the value that
      was forced to ensure that a previously decoded frame
      would be displayed.
      
      This patch also adds a test vector to verify that the
      display_existing_frame flag works as expected. Code
      for generating the test vector can be found in this
      patch:
      https://gerrit.chromium.org/gerrit/#/c/68581/
      
      (Bug originally reported by Alexander Voronov
      <ru.xalba@gmail.com>).
      
      Change-Id: I731d288fba02088959f7fcc87707137fffc6acf5
      64e25974
    • Jim Bankoski's avatar
      remove confusing compressor_speed · da6b1862
      Jim Bankoski authored
      use mode instead
      
      Change-Id: I419d7a2dc4b0714ca6ff723c5e824521c150c460
      da6b1862
    • Adrian Grange's avatar
      Add constant to represent minimum KF boost · 284e793d
      Adrian Grange authored
      Added a constant to represent the minimum KF boost
      rather than using the magic number 2000 in the code.
      
      Change-Id: I9428b61f47d26312caff81c6f9ae8587df004791
      284e793d
  3. 30 Jan, 2014 4 commits
  4. 29 Jan, 2014 9 commits
    • Yaowu Xu's avatar
      Add a strict mode for auto_min_max_partition_size feature · 1ca11865
      Yaowu Xu authored
      In this new mode, the size range is strictly determined by the min
      and max partition size in neighborhood blocks.
      
      Niklas720 encoding time at cpu-used -5 goes from 56250ms to 50676ms,
      a 10% reduction.
      
      Change-Id: I316b0e2ac967ff3fad57b28d69c0ec80b7d8b34e
      1ca11865
    • Dmitry Kovalev's avatar
      Renaming "mbskip" to "skip". · b107f2c4
      Dmitry Kovalev authored
      Change-Id: I27a30b43eae026a77f92958e2238d02d9cdf7832
      b107f2c4
    • Dmitry Kovalev's avatar
      Combining fb_idx_ref_cnt[] and yv12_fb[] arrays. · 63320634
      Dmitry Kovalev authored
      Adding new RefCntBuffer struct which contains reference counter and image
      buffer.
      
      Change-Id: I71c1f532faa13442c32c43fc03ec45b6f88fb844
      63320634
    • Dmitry Kovalev's avatar
      Finally removing vp9_setup_interp_filters() function. · b00eb5c4
      Dmitry Kovalev authored
      Change-Id: If446225afbb49f6033c2a4516a37c377de6f70f7
      b00eb5c4
    • Dmitry Kovalev's avatar
      Cleaning up vp9_firstpass.c. · b496d141
      Dmitry Kovalev authored
      Change-Id: Ic2ff6405f01fd43d07c5ee3b5e374909401115cc
      b496d141
    • Deb Mukherjee's avatar
      Enables alt-ref frames in one pass mode · 50bf8fd4
      Deb Mukherjee authored
      Includes a few fixes and clean-ups that adds the ability
      to use alt-ref frames in one-pass mode.
      Whether alt-refs are actually used or not is controlled by a
      macro USE_ALTREF_FOR_ONE_PASS in vp9_firstpass.c.
      
      This first cut seems to improve derf by 15+% in 1-pass mode.
      But further experiments with parameters are underway.
      
      Change-Id: I78254421435478003367c788c7930d2dc4ee2816
      50bf8fd4
    • Jim Bankoski's avatar
      create super fast rtc mode · ea8aaf15
      Jim Bankoski authored
      This patch only works if the video is a width and height that are both
      a multiple of 32..   It sets every partition to 16x16, and does INTRADC
      only on the first frame and ZEROMV on every other frame.   It always does
      does the largest possible transform, and loop filter level is set to 4.
      
      Was ~20% faster than speed -5 of vp8
      
      Now 20% slower but adds motion search ( every block ), nearest, near
      and zeromv
      
      The SVC test was changed because - while this realtime mode produces
      bad quality albeit quickly, it isn't obeying all the rules it should
      about which frames are available.
      
      Change-Id: I235c0b22573957986d41497dfb84568ec1dec8c7
      ea8aaf15
    • Paul Wilkins's avatar
      Trap divide by 0. · c3821361
      Paul Wilkins authored
      Trap divide by 0 that could occur with a 0 rate target
      in aq mode COMPLEXITY_AQ.
      
      Change-Id: I034514f512b2a0db470ae8d37ea395278bf473cf
      c3821361
    • Yunqing Wang's avatar
      Add macros for convolve functions · 3c29cbff
      Yunqing Wang authored
      Added macros to reduce the code duplication.
      
      Change-Id: I1916aa5a386ea07d961d4ec439ab09bb8c45487d
      3c29cbff
  5. 28 Jan, 2014 6 commits
  6. 27 Jan, 2014 2 commits
  7. 25 Jan, 2014 6 commits
  8. 24 Jan, 2014 1 commit
    • Dmitry Kovalev's avatar
      Renaming INTERPOLATION_TYPE to INTERP_FILTER. · 4264c938
      Dmitry Kovalev authored
      Corresponding renames:
        subpel_kernel              => interp_kernel
        vp9_get_filter_kernel()    => vp9_get_interp_kernel()
        pred_filter_type           => pred_interp_filter
        adaptive_pred_filter_type  => adaptive_pred_interp_filter
        mcomp_filter_type          => interp_filter
        read_interp_filter_type()  => read_interp_filter()
        write_interp_filter_type() => write_interp_filter()
        fix_mcomp_filter_type()    => fix_interp_filter()
      
      Change-Id: I1fa61fa1dc81ebbf043457c3ee2d8d4515bee6d3
      4264c938