1. 18 Jun, 2018 1 commit
    • David Barker's avatar
      Remove 'last_layer_id' from ObuDecInputContext · a8de8819
      David Barker authored
      Previously, if we wanted to use all-layers mode, the code
      in obudec.c was responsible for carving up temporal units
      into spatial layers to feed into the decoder. Whether we were
      in this mode corresponded to whether last_layer_id is set to
      IGNORE_ENHANCEMENT_LAYERS or not.
      
      Now, the all-layers behaviour is implemented in the decoder proper,
      so we can always pass a full temporal unit at a time into the decoder.
      
      This means that the special code in obudec.c is no longer needed,
      and that all-layers mode now works correctly for "contained" streams
      (ie, annexb format, .ivf, .webm, etc.)
      
      BUG=aomedia:1941
      
      Change-Id: I38a21e560c14f822b652f8c2880f6be9f7c2e2ec
      a8de8819
  2. 23 May, 2018 1 commit
    • Tom Finegan's avatar
      Includes clean up. · dd3e2a5f
      Tom Finegan authored
      - Remove includes of config.h wrapped by HAVE_CONFIG_H. This
        is an obsolete vestige of our libvpx ancestry.
      - Change (nearly) all remaining include sites; use proper path
        to the include relative to project root instead of ./.
      - Correct include order where appropriate.
        - Note: This part of this patch is NOT exhaustive. In an
          attempt to be conseravative about the impact of this change
          I limited ordering and grouping changes to places that
          appear extremely unlikely to cause a problem. A more exhaustive
          follow up might be appropriate, but this issue can likely be
          handled organically from here on out.
      
      Change-Id: I3b421ffd46c5da6ef78e43e7a6d3b9550cb30325
      dd3e2a5f
  3. 21 May, 2018 1 commit
    • Tom Finegan's avatar
      Tree clean up. · 7790213a
      Tom Finegan authored
      Relocate C source and include files from the root of the
      repository to more appropriate places. Helps quiet linters.
      
      - Move common app support sources and includes to common/
      - Move apps to apps/
      - Move stats support to stats/
      - Drop unnecessary includes of aom_config.h where appropriate
      - Clean up include order where appropriate
      - Change CMake build to accomodate the above
      - Fix resize_util and add it to app targets.
      
      Change-Id: I268838e93400c67eb365aba9d2ecb2891538fc07
      7790213a
  4. 16 May, 2018 1 commit
  5. 04 May, 2018 1 commit
    • David Barker's avatar
      aomdec: Fix scalable streams in non-annex-b, .obu format · 8c53d27c
      David Barker authored
      There is some special-case code in obudec.c to split each temporal unit
      up into multiple "chunks", one per spatial layer. This is used by
      examples/scalable_decoder.c to extract both spatial layers of its input,
      so that further processing can be applied.
      
      Unfortunately, in its current form, this code causes aomdec to break
      when given a scalable stream. But it's fairly straightforward to adjust
      the special-case code so that it isn't triggered by aomdec. Then we will
      get the same behaviour as we would get if the stream were in annex-b format,
      or in a container.
      
      That is, aomdec will pass a full temporal unit at a time into libaom.
      The current behaviour of libaom in this case is to output a single
      frame from each temporal unit - the frame chosen is the last (and so
      highest-spatial-layer) show or show-existing frame within the temporal
      unit.
      
      Given that the intent of spatial scalability is for each temporal
      unit to contain multiple versions of the "same" picture, with different
      sizes/qualities, this seems like the behaviour a "typical" application
      would want, and is useful for conformance testing.
      
      BUG=aomedia:1851
      
      Change-Id: I61ddf62220aac849d86e5a621bdb516934dedd54
      8c53d27c
  6. 31 Mar, 2018 1 commit
  7. 30 Mar, 2018 1 commit
  8. 28 Mar, 2018 1 commit
  9. 23 Mar, 2018 1 commit
  10. 31 Jan, 2018 1 commit
  11. 23 Jan, 2018 2 commits
    • Tom Finegan's avatar
      Revert "add scalability experiment" · 8695e987
      Tom Finegan authored
      This reverts commit 2eeadab1.
      
      Reason for revert: Did not address final review comments before landing.
      
      Change-Id: I29089767857bd20b3a3e42322e3887fb7027559d
      8695e987
    • Soo-Chul Han's avatar
      add scalability experiment · 2eeadab1
      Soo-Chul Han authored
      configure:  --enable-experimental --enable-scalability
      
      New applications:  scalable_encoder, scalable_decoder
      
      scalable_encoder:
        * Encodes inputs as 2-layer (same size) stream
        * Encodes as obu file (OBU_NO_IVF must be enabled)
        * Base layer encoded in IPPPP where P's reference
          only the previous (in time) base layer
        * Enhancement layer encoded using its base layer as
          sole reference frame
        * Base layer encoded with fixed high QP
        * Enhancement layer encoded with fixed low QP
      
      scalable_decoder:
        * Able to decode scalable stream generated by
          scalable_encoder
        * Able to decode any single-layer stream encoded
          by aomenc
        * Outputs base layer as out_lyr0.yuv, and enhancement
          layer (if they exist) as out_lyrN.yuv (N = 1, 2, 3, ..)
        * Able to decode N layers (more than 2)
      
      Change-Id: I8555735db71e5b9b6f900ffdf978e0ad6f6bfc00
      2eeadab1
  12. 05 Dec, 2017 1 commit
  13. 12 Nov, 2017 1 commit
    • Monty Montgomery's avatar
      Simplify Daala forward TX toplevel for constant shift · a2d40a39
      Monty Montgomery authored
      Rather than backing out all the LGT-related shifting matrices
      throughout the existing TX code, separate out and simplify Daala
      forward TX into a single dedicated entry point.  When DAALA_TX is
      enabled, CONFIG_HIGHBITDEPTH is also forced, and all of Daala TX
      (lowbd and highbd) uses this single TX dispatch.
      
      At present, this should result in no effective functional change,
      however rectangular transforms are now always column-first-- that
      has minor rounding effects.
      
      subset 1:
      monty-daalaTX-fulltest-DaalaRDO-s1@2017-11-07T00:02:56.282Z ->
       monty-daalaTX-fulltest-fwd-s1@2017-11-07T03:08:55.478Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0576 |     N/A | -0.2646 |  -0.0125 | -0.0439 | -0.0479 |    -0.1798
      
      objective 1 fast:
      monty-daalaTX-fulltest-DaalaRDO-o1f4@2017-11-07T05:59:50.180Z ->
       monty-daalaTX-fulltest-fwd-o1f4@2017-11-07T06:00:08.500Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      0.0036 |  0.0477 |  0.1132 |   0.0863 | -0.0017 |  0.0209 |     0.0240
      
      Change-Id: I182a5c4388c410cbea8810e2f9e36fd37a4a46e5
      a2d40a39
  14. 08 Aug, 2017 1 commit
  15. 27 Jun, 2017 1 commit
    • Todd Nguyen's avatar
      Add experiment bgsprite · 302d0970
      Todd Nguyen authored
      Work in progress to generate ARF with stitched background image.
      
      Change-Id: I2fea75bbe5ac6f713f53eb5825776dadfc1d98c5
      302d0970
  16. 29 Nov, 2016 1 commit
  17. 01 Sep, 2016 2 commits
  18. 12 Aug, 2016 1 commit
  19. 12 Feb, 2016 1 commit
    • Debargha Mukherjee's avatar
      Adding loop wiener restoration · 8b0a5b87
      Debargha Mukherjee authored
      Adds a wiener filter based restoration scheme in loop which can
      be optionally selected instead of the bilateral filter.
      
      The LMMSE filter generated per frame is a separable symmetric 7
      tap filter. Three parameters for each of horizontal and vertical
      filters are transmitted in the bitstream. The fourth parameter
      is obtained assuming the sum is normalized to 1.
      Also integerizes the bilateral filters, along with other
      refactoring necessary in order to support the new switchable
      restoration type framework.
      
      derflr: -0.75% BDRATE
      
      [A lot of videos still prefer bilateral, however since many frames
      now use the simpler separable filter, the decoding speed is
      much better].
      
      Further experiments to follow, related to replacing the bilateral.
      
      Change-Id: I6b1879983d50aab7ec5647340b6aef6b22299636
      8b0a5b87
  20. 28 Jan, 2016 1 commit
  21. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  22. 13 Aug, 2015 2 commits
  23. 12 Aug, 2015 2 commits
  24. 22 Apr, 2014 1 commit
    • Dmitry Kovalev's avatar
      Renaming "onyx" to "encoder". · ef003078
      Dmitry Kovalev authored
      Actual renames:
        vp9_onyx_if.c -> vp9_encoder.c
        vp9_onyx_int.h -> vp9_encoder.h
      
      Change-Id: I80532a80b118d0060518e6c6a0d640e3f411783c
      ef003078
  25. 21 Mar, 2014 1 commit
  26. 05 Mar, 2014 1 commit
  27. 24 Jan, 2014 3 commits
  28. 09 Aug, 2013 2 commits
  29. 10 Apr, 2013 1 commit
    • Yaowu Xu's avatar
      Remove obselete code · 2da90fdd
      Yaowu Xu authored
      The strategy to run fast loop filter picking for encoder speed-up
      should be revisited at a later stage.
      
      Change-Id: I3b75e06d767cff41be952a42e63b3292f4eab996
      2da90fdd
  30. 02 Mar, 2013 1 commit
    • Dmitry Kovalev's avatar
      Code cleanup. · 135428e9
      Dmitry Kovalev authored
      Removing redundant 'extern' keyword, lowercase variable names.
      
      Change-Id: I608e8d8579aba8981f5fac3493f77b4481b13808
      135428e9
  31. 18 Dec, 2012 1 commit
  32. 30 Nov, 2012 1 commit
  33. 27 Nov, 2012 1 commit
    • John Koleszar's avatar
      Add vp9_ prefix to all vp9 files · fcccbcbb
      John Koleszar authored
      Support for gyp which doesn't support multiple objects in the same
      static library having the same basename.
      
      Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
      fcccbcbb