1. 13 Feb, 2015 1 commit
  2. 10 Feb, 2015 1 commit
  3. 31 Jan, 2015 1 commit
    • hkuang's avatar
      Try again to merge branch 'frame-parallel' into master branch. · be6aeada
      hkuang authored
      In frame parallel decode, libvpx decoder decodes several frames on all
      cpus in parallel fashion. If not being flushed, it will only return frame
      when all the cpus are busy. If getting flushed, it will return all the
      frames in the decoder. Compare with current serial decode mode in which
      libvpx decoder is idle between decode calls, libvpx decoder is busy
      between decode calls.
      
      Current frame parallel decode will only speed up the decoding for frame
      parallel encoded videos. For non frame parallel encoded videos, frame
      parallel decode is slower than serial decode due to lack of loopfilter
      worker thread.
      
      There are still some known issues that need to be addressed. For example:
      decode frame parallel videos with segmentation enabled is not right sometimes.
      
      * frame-parallel:
        Add error handling for frame parallel decode and unit test for that.
        Fix a bug in frame parallel decode and add a unit test for that.
        Add two test vectors to test frame parallel decode.
        Add key frame seeking to webmdec and webm_video_source.
        Implement frame parallel decode for VP9.
        Increase the thread test range to cover 5, 6, 7, 8 threads.
        Fix a bug in adding frame parallel unit test.
        Add VP9 frame-parallel unit test.
        Manually pick "Make the api behavior conform to api spec." from master branch.
        Move vp9_dec_build_inter_predictors_* to decoder folder.
        Add segmentation map array for current and last frame segmentation.
        Include the right header for VP9 worker thread.
        Move vp9_thread.* to common.
        ctrl_get_reference does not need user_priv.
        Seperate the frame buffers from VP9 encoder/decoder structure.
        Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:"""
       Conflicts:
             test/codec_factory.h
             test/decode_test_driver.cc
             test/decode_test_driver.h
             test/invalid_file_test.cc
             test/test-data.sha1
             test/test.mk
             test/test_vectors.cc
             vp8/vp8_dx_iface.c
             vp9/common/vp9_alloccommon.c
             vp9/common/vp9_entropymode.c
             vp9/common/vp9_loopfilter_thread.c
             vp9/common/vp9_loopfilter_thread.h
             vp9/common/vp9_mvref_common.c
             vp9/common/vp9_onyxc_int.h
             vp9/common/vp9_reconinter.c
             vp9/decoder/vp9_decodeframe.c
             vp9/decoder/vp9_decodeframe.h
             vp9/decoder/vp9_decodemv.c
             vp9/decoder/vp9_decoder.c
             vp9/decoder/vp9_decoder.h
             vp9/encoder/vp9_encoder.c
             vp9/encoder/vp9_pickmode.c
             vp9/encoder/vp9_rdopt.c
             vp9/vp9_cx_iface.c
             vp9/vp9_dx_iface.c
      
      This reverts commit a18da976.
      
      Change-Id: I361442ffec1586d036ea2e0ee97ce4f077585f02
      be6aeada
  4. 23 Jan, 2015 1 commit
  5. 15 Jan, 2015 4 commits
  6. 14 Jan, 2015 6 commits
  7. 13 Jan, 2015 1 commit
    • Yaowu Xu's avatar
      Enable decoder to pass through color space info · 6b223fcb
      Yaowu Xu authored
      This commit added a field to vpx_image_t for indicating color space,
      the field is also added to YUV_BUFFER_CONFIG. This allows the color
      space information pass through the decoder from input stream to the
      output buffer.
      
      The commit also updated compare_img() function with added verification
      of matching color space to ensure the color space information to be
      correctly passed from encode to decoder in compressed vp9 streams.
      
      Change-Id: I412776ec83defd8a09d76759aeb057b8fa690371
      6b223fcb
  8. 16 Dec, 2014 1 commit
  9. 15 Dec, 2014 2 commits
  10. 12 Dec, 2014 1 commit
    • Frank Galligan's avatar
      Add support for setting byte alignment. · 399823b6
      Frank Galligan authored
      Add support for setting byte alignment on the Y, U, and V plane of the
      reference buffers. The byte alignment must be a power of 2, from 32 to
      1024. A value of 0 sets legacy alignment.
      
      Change-Id: I7c1399622f7aa68e123646369216b32047dda73d
      399823b6
  11. 08 Dec, 2014 1 commit
  12. 04 Dec, 2014 1 commit
  13. 18 Nov, 2014 1 commit
  14. 11 Nov, 2014 1 commit
    • Deb Mukherjee's avatar
      Vidyo: Support for one-pass rc-enabled SVC encoder · 0ba1542f
      Deb Mukherjee authored
      Adds support for one-pass rc-enabled SVC encoder with callbacks for
      getting per-layer packets.
      - the callback function registration is implemented as an encoder
      control function.
      - if the callback function is not registered, the old way of
      aggregating packets with superframe will take effect.
      - one more control function “VP9E_GET_SVC_LAYER_ID” has been
      implemented to get the temporal/spatial id from the encoder
      within the callback. This can be used to get the ids to put on RTP
      packet.
      
      Change-Id: I1a90e00135dde65da128b758e6c00b57299a111a
      0ba1542f
  15. 27 Oct, 2014 1 commit
    • Yaowu Xu's avatar
      Add a new control of golden frame boost in CBR mode · 03a60b78
      Yaowu Xu authored
      0 means that golden boost is off, and uses average frame target rate,
      a non-zero number means the percentage of boost over average frame
      bitrate is given initially to golden frames in CBR mode.
      
      Change-Id: If4334fe2cc424b65ae0cce27f71b5561bf1e577d
      03a60b78
  16. 24 Oct, 2014 1 commit
  17. 22 Oct, 2014 1 commit
    • Hangyu Kuang's avatar
      Implement frame parallel decode for VP9. · 9ce3a7d7
      Hangyu Kuang authored
      Using 4 threads, frame parallel decode is ~3x faster than single thread
      decode and around 30% faster than tile parallel decode for frame parallel
      encoded video on both Android and desktop with 4 threads. Decode speed is
      scalable to threads too which means decode could be even faster with more threads.
      
      Change-Id: Ia0a549aaa3e83b5a17b31d8299aa496ea4f21e3e
      9ce3a7d7
  18. 16 Oct, 2014 2 commits
  19. 15 Oct, 2014 1 commit
    • James Zern's avatar
      fix CONFIG_SPATIAL_SVC warning · 91657abe
      James Zern authored
      this change checks that CONFIG_SPATIAL_SVC is defined and adds a TODO to
      ensure this is changed in the future as the release headers can't
      depend on vpx_config.h.
      
      vpx/vpx_encoder.h:164:5: warning: "CONFIG_SPATIAL_SVC" is not defined
      [-Wundef]
      
      Change-Id: I797a0150e5f56caf048e7ee00b282fbc9c5ede19
      91657abe
  20. 14 Oct, 2014 1 commit
    • Minghai Shang's avatar
      [spatial svc]Another workaround to avoid using prev_mi · c113457a
      Minghai Shang authored
      We encode a empty invisible frame in front of the base layer frame to
      avoid using prev_mi. Since there's a restriction for reference frame
      scaling factor, we have to make it smaller and smaller gradually until
      its size is 16x16.
      Change-Id: I60b680314e33a60b4093cafc296465ee18169c19
      c113457a
  21. 01 Oct, 2014 2 commits
    • Deb Mukherjee's avatar
      Adds support of 440 content. · a30774c5
      Deb Mukherjee authored
      Adds enums and corresponding vpx level code.
      
      Change-Id: Ia402d47490a4466988d7edc6b7e3e5163f20a381
      a30774c5
    • Deb Mukherjee's avatar
      High-bitdepth bugfixes · a160d725
      Deb Mukherjee authored
      Miscellaneous bug-fixes for high bitdepth functionality.
      With this patch, high bit-depth profiles become mostly functional,
      except for an intermittent assert failure issue that is being
      tracked.
      
      Change-Id: I6a7fcbdcf1e5b09842e88535f8442d2e1230748c
      a160d725
  22. 30 Sep, 2014 4 commits
    • James Zern's avatar
      vpx_integer.h: define __STDC_LIMIT_MACROS · c87f32c7
      James Zern authored
      fixes --enable-coefficient-range-checking --enable-debug
      vp9_idct.h has references to INT16_MIN/MAX; this header is included in
      c++ source so needs to request the macros
      
      Change-Id: I2e643eb973c2d84729fa3cf2f4c4d8bf65cfdff0
      c87f32c7
    • James Zern's avatar
      Revert "Fix compiling error in vp9_idct.h" · 4a296e6b
      James Zern authored
      This reverts commit eafc8c9c.
      
      tran_low_t/tran_high_t don't belong in a public header, they're private.
      Similarly the public headers shouldn't rely on config defines,
      vpx_config.h isn't installed.
      
      Change-Id: I194ec273598da418df8dd727b6c0e78a556740ad
      4a296e6b
    • Deb Mukherjee's avatar
      Misc. high-bit-depth fixes · 40479dfe
      Deb Mukherjee authored
      Change-Id: Ie9fb6a4078eb6a3fb7c4ff1453831ab9afe23121
      40479dfe
    • Jingning Han's avatar
      Fix compiling error in vp9_idct.h · eafc8c9c
      Jingning Han authored
      This commit fixes a compiling error in vp9_idct.h, where the codec
      checks that the intermediate steps of transformation fit within
      16-bit length. The issue was due to broken file dependency.
      
      Change-Id: Ib22bba13a1e6df28489cb23d6774c561969f1fdc
      eafc8c9c
  23. 19 Sep, 2014 1 commit
  24. 18 Sep, 2014 2 commits
  25. 15 Sep, 2014 1 commit
    • Frank Galligan's avatar
      Remove memset of every external frame buffer. · 175d9dfe
      Frank Galligan authored
      Libvpx was memseting every external frame buffer before decode. This
      was to work around a valgrind issue in our C loop filter. Most of
      the time this was not needed and we have noticed some significant
      performance loss on some platforms. Now we require the application to
      zero out the buffers if it is using external frame buffers.
      
      Change-Id: I7330d00a315e65137ed30edd5f813e8929b76242
      175d9dfe