1. 13 Feb, 2014 1 commit
  2. 10 Feb, 2014 2 commits
    • Tom Finegan's avatar
      vpx_integer: Use inttypes.h in MSVC (2013 and later). · 7320fdda
      Tom Finegan authored
      Change-Id: I2c47f0ab13de82de8833c3f134e5f3c74394374f
      7320fdda
    • 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
  3. 06 Feb, 2014 3 commits
  4. 03 Feb, 2014 1 commit
  5. 02 Feb, 2014 1 commit
    • Marco Paniconi's avatar
      Layer based rate control for CBR mode. · 6be2b750
      Marco Paniconi authored
      This patch adds a buffer-based rate control for temporal layers,
      under CBR mode.
      
      Added vpx_temporal_scalable_patters.c encoder for testing temporal
      layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns).
      
      Updated datarate unittest with tests for temporal layer rate-targeting.
      
      Change-Id: I9cb6cce2494390ae6096ee17774af7fb9308bde7
      6be2b750
  6. 24 Jan, 2014 2 commits
    • 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
    • James Zern's avatar
      vpx: add extern "C" to headers · ec7f2133
      James Zern authored
      Change-Id: Ide9a68466ed30453872465a6c2f9c414690df876
      ec7f2133
  7. 06 Jan, 2014 1 commit
  8. 27 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing vpx_codec_vp9x_cx and internal experimental flag. · 116e0a1a
      Dmitry Kovalev authored
      vpx_codec_vp9x_cx is not used internally. Experimental flag from
      vp9_extracfg is also not really used. YUV 4:4:4 just works after these
      changes (you have to specify --profile=1 for the encoder).
      
      Change-Id: Ib1c8461d0d19d159827e005efe868f891eea0140
      116e0a1a
  9. 18 Dec, 2013 3 commits
  10. 17 Dec, 2013 1 commit
  11. 16 Dec, 2013 3 commits
  12. 05 Dec, 2013 1 commit
  13. 04 Dec, 2013 1 commit
    • Adrian Grange's avatar
      Modified spatial scalable encoder & unit tests · 475d1d60
      Adrian Grange authored
      Modifications to the spatial scalable encoder to match
      changes made to the scaling code in the decoder.
      
      In particular, the use of a dummy first frame was removed
      now that the decoder is able to handle a smaller first
      frame.
      
      SvcTest.FirstFrameHasLayers unit test re-enabled.
      
      Change-Id: Ic2e91fbe4eadf95895569947670d36d68abaf458
      475d1d60
  14. 22 Nov, 2013 1 commit
    • Adrian Grange's avatar
      Fix decoder to handle display size correctly · 2117fe05
      Adrian Grange authored
      The decoder ignored the display width & height
      specified in the frame header.
      
      This patch adds a control, VP9D_GET_DISPLAY_SIZE, to
      allow the application to obtain the display width and
      height from the frame header.
      
      vpxdec has been modified to scale the output frame to
      this size.
      
      Should the request for the display size fail vpxdec will
      use the native width and height of the raw decoded
      frame instead.
      
      Change-Id: I25db04407426dac730263720c75a7dd6400af68a
      2117fe05
  15. 21 Nov, 2013 1 commit
  16. 15 Nov, 2013 1 commit
  17. 06 Nov, 2013 1 commit
    • Ivan Maltz's avatar
      Move SVC per-frame loop from sample app into libvpx proper · 1ed0e1be
      Ivan Maltz authored
      SVC multiple layer per frame encoding is invoked with vpx_svc_init and
      vpx_svc_encode. These interfaces are designed to be invoked from ffmpeg.
      Additional improvements:
      - make dummy frame handling a bit more explicit
      - fixed bug with single layer encodes
      - track individual frame sizes and psnrs instead of averages
      - parameterized quantizer, 16th scalefactors, more logging,
      - enabled single layer encodes to generate baseline
      - include new mode for 3 layer I frame with 5 total layers
      
      Change-Id: I46cfa600d102e208c6af8acd6132e0cc25cda8d4
      1ed0e1be
  18. 29 Oct, 2013 1 commit
    • Adrian Grange's avatar
      Resolved Doxygen warnings. · f58eca90
      Adrian Grange authored
      Added comments to make the codebase build cleanly in Doxygen.
      
      Change-Id: I01e000ceac57dbafa04342858c8f1be250ba20d1
      f58eca90
  19. 22 Oct, 2013 1 commit
    • 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
  20. 21 Oct, 2013 1 commit
    • 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
  21. 18 Oct, 2013 1 commit
    • Yaowu Xu's avatar
      Added necessary includes · b905dab3
      Yaowu Xu authored
      To avoid the dependency on the order of header files included.
      
      Change-Id: Ic142638d75fe95e6aba41b11664bfa15f076f793
      b905dab3
  22. 30 Sep, 2013 1 commit
  23. 17 Sep, 2013 1 commit
    • Adrian Grange's avatar
      Modified resize unit test to output test vector · 88c8ff25
      Adrian Grange authored
      Modified the resize unit test so that it optionally
      writes the encoded bitstream to file. The macro
      WRITE_COMPRESSED_STREAM should be set to 1 to enable
      output of the test bitstream; it is set to 0 by default.
      
      Change-Id: I7d436b1942f935da97db6d84574a98d379f57fb1
      88c8ff25
  24. 09 Sep, 2013 1 commit
    • Ivan Maltz's avatar
      API extensions and sample app for spacial scalable encoder · 01b35c3c
      Ivan Maltz authored
      Sample app: vp9_spatial_scalable_encoder
      vpx_codec_control extensions:
        VP9E_SET_SVC
        VP9E_SET_WIDTH, VP9E_SET_HEIGHT, VP9E_SET_LAYER
        VP9E_SET_MIN_Q, VP9E_SET_MAX_Q
      expanded buffer size for vp9_convolve
      
      modified setting of initial width in vp9_onyx_if.c so that layer size
      can be set prior to initial encode
      
      Default number of layers set to 3 (VPX_SS_DEFAULT_LAYERS)
      Number of layers set explicitly in vpx_codec_enc_cfg.ss_number_layers
      
      Change-Id: I2c7a6fe6d665113671337032f7ad032430ac4197
      01b35c3c
  25. 06 Sep, 2013 1 commit
    • Deb Mukherjee's avatar
      Support a constant quality mode in VP9 · e378a89b
      Deb Mukherjee authored
      Adds a new end-usage option for constant quality encoding in vpx. This
      first version implemented for VP9, encodes all regular inter frames
      using the quality specified in the --cq-level= option, while encoding
      all key frames and golden/altref frames at a quality better than that.
      
      The current performance on derfraw300 is +0.910% up from bitrate control,
      but achieved without multiple recode loops per frame.
      
      The decision for qp for each altref/golden/key frame will be improved
      in subsequent patches based on better use of stats from the first pass.
      Further, the qp for regular inter frames may also be varied around the
      provided cq-level.
      
      Change-Id: I6c4a2a68563679d60e0616ebcb11698578615fb3
      e378a89b
  26. 12 Jul, 2013 1 commit
  27. 11 Jul, 2013 1 commit
  28. 17 Jun, 2013 2 commits
    • Dmitry Kovalev's avatar
      Fixing compilation error on Mac OS. · ccd9886d
      Dmitry Kovalev authored
      The error happened because of vp8_decrypt_cb typedef redefinition in both
      treereader.h and vp8dx.h. Removing typedef from vp8dx.h in favor of raw
      function pointer declaration.
      
      Change-Id: I0266eb341ce433d40caf0abf8748694d505ee786
      ccd9886d
    • Jeff Petkau's avatar
      Change the encryption feature to use a callback for decryption. · 368c7237
      Jeff Petkau authored
      This allows code calling the library can choose an arbitrary
      encryption algorithm.
      
      Decoder control parameter VP8_SET_DECRYPT_KEY is renamed to
      VP8D_SET_DECRYPTOR, and now takes an small config struct instead
      of just a byte array.
      
      Change-Id: I0462b3388d8d45057e4f79a6b6777fe713dc546e
      368c7237
  29. 06 May, 2013 1 commit
    • John Koleszar's avatar
      Y4M input support for 4:2:2, 4:4:4, 4:4:4:4 · 8dd8287e
      John Koleszar authored
      Adds a new experiment CONFIG_NON420 that allows other chroma subsamplings
      to be passed to the codec. This commit allows the data to be passed from
      a y4m input file through vpxenc to the codec, where they're currently
      rejected. Later commits will finish support for this inside the codec.
      
      Change-Id: Ib3aac604d8cad9e24cef395fa1067f16ba7e8e43
      8dd8287e
  30. 24 Apr, 2013 1 commit
    • Paul Wilkins's avatar
      Extension of segmentation to 8 segments. · 31ee193a
      Paul Wilkins authored
      Also some further simplification following removal
      of top node code.
      
      There is an issue in regards to the shared file vp8cx.h
      in regard to the roi_map as this interface assumes that
      there are only 4 segments. I have left the value here as
      4 for now meaning that the roi_map interface is broken
      for VP9.
      
      Note that this change would have been easier if I hadn't
      had to search for hard wire instances of the number 4
      and <= 3.
      
      Change-Id: Ia8b6deea4be4dbd20deb1656e689dd43a5f190e8
      31ee193a
  31. 27 Mar, 2013 1 commit