Skip to content
Snippets Groups Projects
  1. Aug 24, 2013
    • James Zern's avatar
      yv12extend: name variables consistently · 5724b7e2
      James Zern authored
      - s|source -> src
      - dest -> dst
      - use verbose names in extend_plane dropping the redundant comments
      
      + light cosmetics:
      - join a few lines / assignments
      - drop some unnecessary comments & includes
      
      Change-Id: I6d979a85a0223a0a79a22f79a6d9c7512fd04532
      5724b7e2
  2. Aug 23, 2013
  3. Aug 16, 2013
  4. Aug 09, 2013
  5. Jul 30, 2013
  6. Jul 17, 2013
  7. Jul 16, 2013
    • Yaowu Xu's avatar
      Change to extend full border only when needed · 5b915ebd
      Yaowu Xu authored
      This is a short term optimization till we work out a decoder
      implementation requiring no frame border extension.
      
      Change-Id: I02d15bfde4d926b50a4e58b393d8c4062d1be70f
      5b915ebd
    • Ronald S. Bultje's avatar
      Increase border size from 96 to 160. · b02c4d36
      Ronald S. Bultje authored
      This is required because upon downscaling, if a motion vector points
      partially into the UMV (e.g. all minus 1 of 64+7 pixels, i.e. 70),
      then we can point up to 140 pixels into the larger-resolution (2x)
      reference buffer UMV, which means the UMV for reference buffers in
      downscaling needs to be 140 rounded up to the nearest multiple of 32,
      i.e. 160.
      
      Longer-term, we should probably handle the UMV differently by detecting
      edge coverage on-the-fly and using a temporary buffer for edge extensions
      instead of adding 160 pixels on all sides of the image (which means a
      CIF image uses 3x its own area size for borders).
      
      Change-Id: I5184443e6731cd6721fc6a5d430a53e7d91b4f7e
      b02c4d36
  8. Jul 12, 2013
    • James Zern's avatar
      yv12config: remove YUV_TYPE · 4fc6c88e
      James Zern authored
      this was never fleshed out in the context of VP8, for which it was
      added. for VP9 it has no meaning.
      
      Change-Id: Iba2ecc026d9e947067b96690245d337e51e26eff
      4fc6c88e
  9. Jun 25, 2013
  10. Jun 08, 2013
  11. May 17, 2013
    • John Koleszar's avatar
      Initial version of alpha channel support · 679e4abd
      John Koleszar authored
      This is a mostly-working implementation of an extra channel in the
      bitstream. Configure with --enable-alpha to test. Notable TODOs:
      
       - Add extra channel to all mismatch tests, PSNR, SSIM, etc
       - Configurable subsampling
       - Variable number of planes (currently always uses all 4)
       - Loop filtering
       - Per-plane lossless quantizer
       - ARNR support
      
      This implementation just uses the same contents as the Y channel
      for the A channel, due to lack of content and general pain in
      playing back 4 channel content. A later patch will use the actual
      alpha channel passed in from outside the codec.
      
      Change-Id: Ibf81f023b1c570bd84b3064e9b4b8ae52e087592
      679e4abd
  12. May 16, 2013
    • John Koleszar's avatar
      Add vp9_extend_frame_borders · 418564e7
      John Koleszar authored
      Adds a subsampling aware border extension function. This may be reworked
      soon to support more than 3 planes.
      
      Change-Id: I76b81901ad10bb1e678dd4f0d22740ca6c76c43b
      418564e7
  13. May 15, 2013
  14. May 10, 2013
    • John Koleszar's avatar
      Subsampling aware allocs and bitstream · da58436f
      John Koleszar authored
      Make framebuffer allocations according to the chroma subsamping
      factors in use. A bit is placed in the raw part of the frame header for
      each of the two subsampling factors. This will be moved in a future
      commit to make them part of the TBD feature set bits, probably only set
      on keyframes, etc.
      
      Change-Id: I59ed38d3a3c0d4af3c7c277617de28d04a001853
      da58436f
  15. Apr 30, 2013
    • John Koleszar's avatar
      Expand UMV border to 96 pixels · 9f5fd31d
      John Koleszar authored
      Ensures that the full 64 pixel border is available for prediction (need a minimum of
      64+INTERP_EXTEND on all sides, and 32+INTERP_EXTEND on UV). Value also must be a
      multiple of 32 to keep UV stride alignment. The smaller border was causing the prediction
      to read outside the frame, which can cause a mismatch.
      
      TODO: Get rid of this explicit border and use edge emulation instead.
      
      Change-Id: I3f68453a088ec0ab4349d0f5cc02b573be06d7c4
      9f5fd31d
  16. Apr 03, 2013
  17. Mar 14, 2013
    • John Koleszar's avatar
      Fix pulsing issue with scaling · 9b7be888
      John Koleszar authored
      Updates the YV12_BUFFER_CONFIG structure to be crop-aware. The
      exiting width/height parameters are left unchanged, storing the
      width and height algined to a 16 byte boundary. The cropped
      dimensions are added as new fields.
      
      This fixes a nasty visual pulse when switching between scaled and
      unscaled frame dimensions due to a mismatch between the scaling
      ratio and the 16-byte aligned sizes.
      
      Change-Id: Id4a3f6aea6b9b9ae38bdfa1b87b7eb2cfcdd57b6
      9b7be888
  18. Feb 08, 2013
    • John Koleszar's avatar
      Avoid allocating memory when resizing frames · c03d45de
      John Koleszar authored
      As long as the new frame is smaller than the size that was originally
      allocated, we don't need to free and reallocate the memory allocated.
      Instead, do the allocation on the size of the first frame. We could
      make this passed in from the application instead, if we wanted to
      support external upscaling.
      
      Change-Id: I204d17a130728bbd91155bb4bd863a99bb99b038
      c03d45de
  19. Dec 26, 2012
  20. Dec 18, 2012
  21. Dec 06, 2012
  22. Dec 05, 2012
    • Johann Koenig's avatar
      Begin to refactor vpx_scale usage in VP9 · 52d350fe
      Johann Koenig authored
      Only declare the functions in vpx_scale RTCD and include the relevant
      header.
      
      Remove unused files and functions in vpx_scale to avoid wasting time
      renaming. vpx_scale/win32/scaleopt.c contains functions which have not
      been called in a long time but are potentially optimized.
      
      The 'vp8' functions have not been renamed yet. That is for after the
      cleanup.
      
      Change-Id: I2c325a101d60fa9d27e7dfcd5b52a864b4a1e09c
      52d350fe
    • Johann Koenig's avatar
      Update ARM for vpx_scale changes · 4a9b9547
      Johann Koenig authored
      Refactor asm_offsets for vpx_scale.
      
      Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
      4a9b9547
  23. Dec 03, 2012
    • Johann Koenig's avatar
      Begin to refactor vpx_scale usage in VP9 · c6bd29e2
      Johann Koenig authored
      Only declare the functions in vpx_scale RTCD and include the relevant
      header.
      
      Remove unused files and functions in vpx_scale to avoid wasting time
      renaming. vpx_scale/win32/scaleopt.c contains functions which have not
      been called in a long time but are potentially optimized.
      
      The 'vp8' functions have not been renamed yet. That is for after the
      cleanup.
      
      Change-Id: I2c325a101d60fa9d27e7dfcd5b52a864b4a1e09c
      c6bd29e2
    • Johann Koenig's avatar
      Update ARM for vpx_scale changes · 0d793ccf
      Johann Koenig authored
      Refactor asm_offsets for vpx_scale.
      
      Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
      0d793ccf
  24. Nov 30, 2012
  25. Nov 15, 2012
  26. Nov 05, 2012
    • Paul Wilkins's avatar
      Build / make problem · b90df36d
      Paul Wilkins authored
      yv12extend_generic.h target not found.
      
      Change-Id: I8b5c9280c92573e5c1917ba4e18a99a6ce7dcb65
      b90df36d
  27. Nov 02, 2012
    • John Koleszar's avatar
      vpx_scale: sync from experimental · 9e06601d
      John Koleszar authored
      Import changes made on the experimental branch in preparation for
      merging the two branches.
      
      Change-Id: I7b5b8fb4fca155cb1d72e7ba13eef18e6a94a298
      9e06601d
    • John Koleszar's avatar
      vpx_scale: sync from master · 06f3e51d
      John Koleszar authored
      Update vpx_scale from current code in master, run style transform, fix
      lint warnings.
      
      Change-Id: I47eadeb5b6881d448ea3728537f9b8a5b5aac78e
      06f3e51d
  28. Jul 31, 2012
    • Deb Mukherjee's avatar
      Merging and bug-fix in enhanced_interp experiment · 0ebf548c
      Deb Mukherjee authored
      Merged the enhanced_interp experiment.
      Found and fixed a bug in the include files framework, whereby
      certain encoder files were still using the old INTERP_EXTEND
      value of 3 instead of 4. The thresholds for mv range mcomp.c
      need a small adjustment to prevent crashes.
      
      The results are more or less unchanged.
      
      Change-Id: Iac5008390f1efc97ce1102fbb5f8989c847fb579
      0ebf548c
  29. Jul 17, 2012
  30. Jun 20, 2012
  31. May 04, 2012
    • Attila Nagy's avatar
      Make global data const · f039a85f
      Attila Nagy authored
      Removes all runtime initialization of global data. This commit is a
      squashed version of the following series cherry-picked from master.
      This is necessary because of a change that was merged to the tester
      that depends on the scaler being moved to the RTCD framework, which
      is a worthwhile thing to include in Eider anyway.
      
        - a91b42f0 Makes all global data in entropy.c const
        - b35a0db0 Makes all global data in tokenize.c const
        - 441cac8e Makes all mode token tables const
        - 5948a021 Ports vpx_xcaler to new RTCD method
        - 317d4244 Makes all mode token tables const part 2
      
      Change-Id: Ifeaea24df2b731e7c509fa6c6ef6891a374afc26
      f039a85f
  32. Apr 19, 2012
    • Attila Nagy's avatar
      Ports vpx_xcaler to new RTCD method · 5948a021
      Attila Nagy authored
      We can get rid of all remaining global initializers now:
       vp8_scale_machine_specific_config()
       vp8_initialize()
       vp8dx_initialize()
      
      Change-Id: I2825cea5d1c01ad9f6c45df49a0f86d803bfeb69
      5948a021
  33. Mar 15, 2012
    • Yaowu Xu's avatar
      WebM Experimental Codec Branch Snapshot · 6035da54
      Yaowu Xu authored
      This is a code snapshot of experimental work currently ongoing for a
      next-generation codec.
      
      The codebase has been cut down considerably from the libvpx baseline.
      For example, we are currently only supporting VBR 2-pass rate control
      and have removed most of the code relating to coding speed, threading,
      error resilience, partitions and various other features.  This is in
      part to make the codebase easier to work on and experiment with, but
      also because we want to have an open discussion about how the bitstream
      will be structured and partitioned and not have that conversation
      constrained by past work.
      
      Our basic working pattern has been to initially encapsulate experiments
      using configure options linked to #IF CONFIG_XXX statements in the
      code. Once experiments have matured and we are reasonably happy that
      they give benefit and can be merged without breaking other experiments,
      we remove the conditional compile statements and merge them in.
      
      Current changes include:
      * Temporal coding experiment for segments (though still only 4 max, it
        will likely be increased).
      * Segment feature experiment - to allow various bits of information to
        be coded at the segment level. Features tested so far include mode
        and reference frame information, limiting end of block offset and
        transform size, alongside Q and loop filter parameters, but this set
        is very fluid.
      * Support for 8x8 transform - 8x8 dct with 2nd order 2x2 haar is used
        in MBs using 16x16 prediction modes within inter frames.
      * Compound prediction (combination of signals from existing predictors
        to create a new predictor).
      * 8 tap interpolation filters and 1/8th pel motion vectors.
      * Loop filter modifications.
      * Various entropy modifications and changes to how entropy contexts and
        updates are handled.
      * Extended quantizer range matched to transform precision improvements.
      
      There are also ongoing further experiments that we hope to merge in the
      near future: For example, coding of motion and other aspects of the
      prediction signal to better support larger image formats, use of larger
      block sizes (e.g. 32x32 and up) and lossless non-transform based coding
      options (especially for key frames). It is our hope that we will be
      able to make regular updates and we will warmly welcome community
      contributions.
      
      Please be warned that, at this stage, the codebase is currently slower
      than VP8 stable branch as most new code has not been optimized, and
      even the 'C' has been deliberately written to be simple and obvious,
      not fast.
      
      The following graphs have the initial test results, numbers in the
      tables measure the compression improvement in terms of percentage. The
      build has  the following optional experiments configured:
      --enable-experimental --enable-enhanced_interp --enable-uvintra
      --enable-high_precision_mv --enable-sixteenth_subpel_uv
      
      CIF Size clips:
      http://getwebm.org/tmp/cif/
      HD size clips:
      http://getwebm.org/tmp/hd/
      (stable_20120309 represents encoding results of WebM master branch
      build as of commit#7a159071)
      
      They were encoded using the following encode parameters:
      --good --cpu-used=0 -t 0 --lag-in-frames=25 --min-q=0 --max-q=63
      --end-usage=0 --auto-alt-ref=1 -p 2 --pass=2 --kf-max-dist=9999
      --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50
      --minsection-pct=0 --maxsection-pct=800 --sharpness=0
      --arnr-maxframes=7 --arnr-strength=3(for HD,6 for CIF)
      --arnr-type=3
      
      Change-Id: I5c62ed09cfff5815a2bb34e7820d6a810c23183c
      6035da54
  34. Feb 24, 2012
    • Paul Wilkins's avatar
      Code Simplification. · 69e80a02
      Paul Wilkins authored
      Removal of code relating to spatial re sampling
      
      Change-Id: Iff1bc651c62cd528f960c4b27f9673b172e68835
      69e80a02
Loading