Skip to content
Snippets Groups Projects
  1. Mar 14, 2014
  2. Mar 07, 2014
    • Hangyu Kuang's avatar
      Disable the neon version vpx_yv12_copy_y. · 4b70544d
      Hangyu Kuang authored
      For some dimensions, neon code ends up in a dead loop inside.
      This will fix the unit test failure in svc_test on ARM.
      
      Change-Id: Ie6098bfaefd86bcf3616a3d0c2c3ff0b154222b5
      4b70544d
  3. Mar 03, 2014
    • James Zern's avatar
      build: convert rtcd.sh to perl · 805078a1
      James Zern authored
      significantly speeds up file generation.
      
      the goal of this change is to convert rtcd.sh to perl as directly as
      possible to allow for simple comparison. future changes can make it more
      perl-like.
      
      ---
      Linux
          [CREATE] vpx_scale_rtcd.h
      real    0m0.485s ->    0m0.022s
          [CREATE] vp8_rtcd.h
      real    0m4.619s ->    0m0.060s
          [CREATE] vp9_rtcd.h
      real    0m10.102s ->    0m0.087s
      
      Windows
          [CREATE] vpx_scale_rtcd.h
      real    0m8.360s ->    0m0.080s
          [CREATE] vp8_rtcd.h
      real    1m8.083s ->    0m0.160s
          [CREATE] vp9_rtcd.h
      real    2m6.489s ->    0m0.233s
      
      Change-Id: Idfb71188206c91237d6a3c3a81dfe00d103f11ee
      805078a1
  4. Feb 28, 2014
  5. Feb 14, 2014
  6. Feb 13, 2014
  7. Feb 10, 2014
    • Frank Galligan's avatar
      Add get release decoder frame buffer functions. · e8e15279
      Frank Galligan authored
      This CL changes libvpx to call a function when a frame buffer
      is needed for decode. Libvpx will call a release callback when
      no other frames reference the frame buffer. This CL adds a
      default implementation of the frame buffer callbacks. Currently
      only VP9 is supported. A future CL will add support for
      applications to supply their own frame buffer callbacks.
      
      Change-Id: I1405a320118f1cdd95f80c670d52b085a62cb10d
      e8e15279
  8. Jan 24, 2014
    • Frank Galligan's avatar
      Revert external frame buffer code. · b1c72b63
      Frank Galligan authored
      A future CL will add external frame buffers
      differently.
      
      Squash commit of four revert commits:
      Revert "Increase required number of external frame buffers"
      
      This reverts commit 9e41d569.
      
      Revert "Add external constants."
      
      This reverts commit bbf53047.
      
      Revert "Add frame buffer lru cache."
      
      This reverts commit fbada948.
      
      Conflicts:
      	vpxdec.c
      
      Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005
      
      Revert "Add support to pass in external frame buffers."
      
      This reverts commit 10f89169.
      
      Conflicts:
      	test/external_frame_buffer_test.cc
      	vp9/common/vp9_alloccommon.c
      	vp9/common/vp9_reconinter.c
      	vp9/decoder/vp9_decodeframe.c
      	vp9/encoder/vp9_onyx_if.c
      	vp9/vp9_dx_iface.c
      	vpx/vpx_decoder.h
      	vpx/vpx_external_frame_buffer.h
      	vpx_scale/generic/yv12config.c
      	vpxdec.c
      
      Change-Id: I7434cf590f1c852b38569980e4247fad0d939c2e
      b1c72b63
  9. Jan 21, 2014
    • Hangyu Kuang's avatar
      Seperate the border size for encoder and decoder. · 437004c7
      Hangyu Kuang authored
      Encoder's boarder is still 160, while decoder's boarder will be 32.
      With on demand and separate boarder buffer for boarder extension.
      The decoder's boarder does not need to to 160 anymore.
      
      Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
      437004c7
  10. Jan 13, 2014
  11. Jan 10, 2014
  12. Dec 17, 2013
  13. Dec 16, 2013
  14. Dec 02, 2013
    • Adrian Grange's avatar
      Fix bug in extend_frame chroma extended too far · 2e88f2f2
      Adrian Grange authored
      This fixes issue 667.
      
      In the case where the frame was an odd number of pixels
      wide or high, the border was being extended by one col
      or row too far.
      
      The calculation of color plane dimensions was modified
      to use those already computed at the time the frame
      buffer was allocated.
      
      Also freed the temporary scaling buffer in vpxdec to
      prevent a memory leak.
      
      Change-Id: I195bc81d84c0fc5d8260c1232200d62399e4b51f
      2e88f2f2
  15. Nov 22, 2013
    • Adrian Grange's avatar
      Fix bug in extend_frame chroma extended too far · d427fab5
      Adrian Grange authored
      This fixes issue 667.
      
      In the case where the frame was an odd number of pixels
      wide or high, the border was being extended by one col
      or row too far.
      
      The calculation of color plane dimensions was modified
      to use those already computed at the time the frame
      buffer was allocated.
      
      Also freed the temporary scaling buffer in vpxdec to
      prevent a memory leak.
      
      Change-Id: Ied04bdcdfd77469731408c05da205db1a6f89bf5
      d427fab5
  16. Nov 14, 2013
  17. Sep 29, 2013
  18. Aug 24, 2013
    • James Zern's avatar
      cosmetics: yv12extend add some const · 8b970da4
      James Zern authored
      Change-Id: I87f1ce2ceca80d3869dd72ba862329a98eb3e0c2
      8b970da4
    • 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
  19. Aug 23, 2013
  20. Aug 16, 2013
  21. Aug 09, 2013
  22. Jul 30, 2013
  23. Jul 17, 2013
  24. 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
  25. 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
  26. Jun 25, 2013
  27. Jun 08, 2013
  28. 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
  29. 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
  30. May 15, 2013
  31. 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
  32. 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
  33. Apr 03, 2013
  34. 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
  35. 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
  36. Dec 26, 2012
Loading