1. 30 Jun, 2017 9 commits
    • James Zern's avatar
      Add support for Visual Studio 2017 · ff5b2f43
      James Zern authored
      ported from libvpx:
      bcfd9c975 Add support for Visual Studio 2017
      
      Change-Id: I86c8848ce6626fa218a38bfbd3e39abb60420218
      ff5b2f43
    • James Zern's avatar
      roll libwebm snapshot · 69eab5cd
      James Zern authored
      git log --no-merges --oneline 32d5ac4..a97c484
      9096786 mkvparser: fix float conversion warning
      84e8257 disable -Wdeprecated-declarations in legacy code
      a98f495 AddGenericFrame: fix memory leak on failure
      da131dd AddCuePoint: fix memory leak on failure
      b0cea9c Add(Audio|Video)Track: fix memory leak on failure
      5261a67 webm_info: check vp9 ParseUncompressedHeader return
      85f7e2e webm_info,PrintVP9Info: validate alt ref sizes
      9b97ca1 vp9_header_parser_tests: check parser return
      300d6d8 CuePoint::Find: check Track pointer
      50c44bb webm_info,OutputCues: fix indexing of tracks
      a0d27f0 mkvparser,Block::Parse: remove incorrect assert
      784fc1b vttdemux,CloseFiles: check file pointer before closing
      b4522c1 .gitattributes: force mkv/webm to be treated as binary
      a118f3d Add test for projection parse failures.
      d398479 Add test for primary chromaticity parse failures.
      9bbec4c Fix permissions on test file.
      2cef4d5 mkvparser:Parse: s/FLT_MIN/-FLT_MAX/
      35a3c88 mkvmuxer: Turn off estimate_file_duration_ by default
      5a41830 mkvparser: Avoid double free when Chromaticity parse fails.
      67e3ffa mkvparser: Avoid casts of values too large for float in
      Projection elements.
      ...
      
      Change-Id: I45acb22902ff0a46a5d339dc51181d5d141a8dcc
      69eab5cd
    • David Barker's avatar
      Fix bug when cb4x4 is disabled · e3afdd89
      David Barker authored
      When cb4x4 is disabled and global-motion is enabled, the function
      av1_append_sub8x8_mvs_for_idx accidentally fetched
      cm->global_motion[ref] instead of cm->global_motion[rf[0]],
      ie. it used the reference *index* instead of the reference *frame*.
      
      Change-Id: Ieebf60f6b7c0a1cbbc083a70d4451ad799e27fe3
      e3afdd89
    • Tom Finegan's avatar
      Clean up tools/build_inspector.sh. · 161e3392
      Tom Finegan authored
      Formatting and license block.
      
      Change-Id: Iac5aa410136feb94901a9f2af5bdcc4188959e41
      161e3392
    • Tom Finegan's avatar
      Small fixes in CMake analyzer build. · 614bf348
      Tom Finegan authored
      - Fix path to analyzer.cc in docs.cmake.
      - Add analyzer to the examples list.
      
      Change-Id: I81e37718e83f2dfc2ba7725b3f8d89a5aa0cdb4f
      614bf348
    • Sebastien Alaiwan's avatar
      Always use the 16-bit coding path · 3d264da2
      Sebastien Alaiwan authored
      The encoder and decoder will now use the 16-bit (high-bitdepth)
      coding path, regardless of the encoding profile.
      
      This is a step towards the removal of the 8-bit (low-bitdepth)
      coding path (which remains compile-checked at the moment).
      
      BUG=aomedia:39
      
      Change-Id: I6f8e8f1ce7a3bf1d3da7fda8461b1214ef579c64
      3d264da2
    • Sebastien Alaiwan's avatar
      Fix unit tests with --disable-lowbitdepth · 8a65f9f1
      Sebastien Alaiwan authored
      This removes a workaround, which is not needed anymore
      now that the choice of coding path is done in aomdec.c
      instead of decode_frame.c.
      
      BUG=aomedia:620
      
      Change-Id: I42acdd51036461c23fdaa69324e0415b53ee74fa
      8a65f9f1
    • Nathan E. Egge's avatar
      Remove unused av1_token encodings. · 4a841347
      Nathan E. Egge authored
      These are left over from before the EC_MULTISYMBOL experiment was
       adopted.
      
      Change-Id: I3dd1e4bfd3ee262c8d2a36c6d264b66a55e477c7
      4a841347
    • Luc Trudeau's avatar
      [CFL] Assert that luma buffer is not bigger than chroma surface · b03c2f44
      Luc Trudeau authored
      Change-Id: Idcc16f6d399c457a5950319483d95f4b38ff6a71
      b03c2f44
  2. 29 Jun, 2017 4 commits
    • Luc Trudeau's avatar
      [CFL] Compute DC_PRED until end of frame · e7f9e16a
      Luc Trudeau authored
      When computing CFL's prediction block level DC_PRED,
      We can't assume that the neighbor will use the same
      transform size. As such, we don't know what pixels
      are available outside of the frame. A simple
      solution is to stop computing DC_PRED at the block
      boundary.
      
      Results on Subset 1 ( Compared to 9c6f8547 with CfL enabled)
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0015 | -0.0026 | -0.0025 |  -0.0034 | -0.0008 | -0.0044 |     0.0019
      
      Change-Id: I00ed4114e5c5871fdc7222fa2000474eb11d33e0
      e7f9e16a
    • Luc Trudeau's avatar
      [CFL] Better encapsulation · 3dc55e0f
      Luc Trudeau authored
      The function cfl_compute_parameters is added and contains the logic
      related to building the CfL context parameters. As such, many cfl
      functions can now be encapsulated inside of cfl.c and not exposed to the
      rest of AV1.
      
      This also allows for supplemental asserts that validate that the CfL
      context is properly built.
      
      Results on Subset1 (compared to 9c6f8547 with CfL)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: I6d14a426416b3af5491bdc145db7281b5e988cae
      3dc55e0f
    • Frederic Barbier's avatar
      Cleanup dead inv-txfm functions in HBD data path · 24d565b4
      Frederic Barbier authored
      Cleanup related unit-tests.
      
      Change-Id: Ic756e6bbad80f5b9947ca1cdd55cdef77b985f81
      24d565b4
    • Yue Chen's avatar
      AV1 offline probability optimizer · c8b38b0b
      Yue Chen authored
      This tool is a gadget for offline probability training.
      
      A binary executable aom_entropy_optimizer will be generated in
      tools/. It parses a binary file consisting of counts written in
      the format of FRAME_COUNTS in entropymode.h, and computes the
      optimized probability table, which will be written to a new c file
      optimized_probs.c using the format in entropymode.c.
      
      Command line:
      ./aom_entropy_optimizer [directory of the count file]
      
      The input file can be either be generated from a single run by
      turning on entropy_stats experiment(counts are accumulated from
      frame to frame, and finally written to counts.stt), or be collected
      at a larger scale, at which a python script (will be provided soon)
      can be used to aggregate multiple stats output.
      
      Optimization for initial CDFs will be also supported later.
      
      Change-Id: I32070721aa8059439feb6b5a3a179f1001c66bb7
      c8b38b0b
  3. 28 Jun, 2017 14 commits
  4. 27 Jun, 2017 11 commits
    • Wei-Ting Lin's avatar
      ncobmc_adapt_weight: Add bitstream syntax · 85a8f70c
      Wei-Ting Lin authored
      Define the syntax and entropy coding templates for
      NCOBMC_ADAPT_WEIGHT. The actual values of the default
      probabilities and the index tree structure need to
      be fine tuned.
      
      In this experiment all mv's in a superblock are sent
      first as in the ncobmc case.
      
      Change-Id: I68d50d3d27346c2847ea449a1168c6a99fbb4d3d
      85a8f70c
    • 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
    • Urvang Joshi's avatar
      Enable smooth_hv by default. · bda59df3
      Urvang Joshi authored
      This experiment was provisionally adopted on 2017-06-27.
      
      Change-Id: Ic7eb232b8187133f59956eed09e5f5de02c0986e
      bda59df3
    • Luc Trudeau's avatar
      [CFL] Sum Alpha Distortion Over Transform Block · 8fb4c9e7
      Luc Trudeau authored
      This change does not impact the bitstream, it changes how to distortion
      is summed when evaluating alpha. The sum is still taken over the entire
      partition. However, instead of iterating over the entire surface all at
      once, CfL now iterates over each transform block. This is in light of
      future work to compute alpha over transform blocks and not prediction
      blocks.
      
      Results on Subset1 (compared to 9c6f8547 with CfL)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: Ic7b72201d29ad6b2527748e35b212bec515e3bdb
      8fb4c9e7
    • Debargha Mukherjee's avatar
      Reduce multiplier precision for warp least squares · f053cba2
      Debargha Mukherjee authored
      Includes reordering and other clamping changes, as well as
      changes to reduce multiplier precision.
      
      cam_lowres (60 frames): -0.092% BDRATE improvement in
      --disable-cdef --disable-global-motion --disable-ext-tx
      configuation.
      
      Change-Id: I0660c45b44fcd5a193534d8dadd1aa1ae5c5e27a
      f053cba2
    • Yi Luo's avatar
      Fix inv txfm low/high bitdepth selection logic · 51281095
      Yi Luo authored
      We are going to have several commits to setup new low/high
      bitdepth data path selection logic. This patch is for inverse
      transform. Let me summarize the ideas as following.
      
      - For low/high bitdepth selection, encoder depends on
        input configuration, e.g., video sequence bitdepth,
        profile. Decoder depends on input bitstream. This has
        nothing to do with compiler/build  configuration.
      
      - Typical encoder usage for sampling format 4:2:0.
        1) 8-bit video sequence:
         a) --profile=0
         Fastest encoding/decoding pipeline on speedup.
      
         b) --profile=2 --bit-depth=10
         Image pixels are left shifted by 2 bits. It
         employs 16-bit reference frame buffer and has high
         calculation precision. It usually enjoys higher
         compression performance.
      
        2) 10/12-bit video sequence (HDR):
         --profile=2 --bit-depth=10/12
      
      - Transform coefficient type:
        Lowbitdepth:  int16_t
        Highbitdepth: int32_t
      
      - The type, tran_low_t is still used in codebase,
        Which is int32_t, defining the data path capacity.
        Naturally, it is high bitdepth.
      
      Eventually we shall remove the configuration flags,
      CONFIG_HIGHBITDEPTH/CONFIG_LOWBITDEPTH, and seperate
      low and high bitdepth data path. Two data paths co-exist
      in the same build environment.
      
      Change-Id: I35c06d4d4f19ebf80d909168fdddbae57c3cc884
      51281095
    • Sarah Parker's avatar
      Remove redundant checks in read/write_tx_type · 784596d5
      Sarah Parker authored
      Change-Id: I348dfd1f8b555306a3fb625bf2303f9cd2649e07
      784596d5
    • Rupert Swarbrick's avatar
      supertx: Read and write transforms with CDF in decode_partition · 580943a7
      Rupert Swarbrick authored
      Patch b1bedf5f converted the three writes in bitstream.c that
      specify an extended transform from using av1_write_token (encoded with
      probability trees) to aom_write_symbol (encoded with CDFs).
      
      That patch fixed up the two reads in decodemv.c but didn't fix up the
      corresponding read in decodeframe.c. This patch does so.
      
      The patch also fixes up a write of a (non-extended) transform when not
      CONFIG_EXT_TX and the corresponding read.
      
      Change-Id: Ibf5dcfcf3e7122f08dd0ef8616fb0ecddb95d99a
      580943a7
    • Jingning Han's avatar
      Rework recursive transform block partition search · e3b81bcf
      Jingning Han authored
      Support transform block level kernel selection in the recursive
      transform block partitioning search.
      
      Change-Id: I511c39705ee636b0c9fabbe4720fe5a9764b964a
      e3b81bcf
    • Jingning Han's avatar
      Re-organize the block index in decode_reconstruct_tx · a65f3051
      Jingning Han authored
      Make the block index use cases consistent in the recursive
      transform block partition.
      
      Change-Id: I57778acfab73c786a1db8c8b9110d56ce6df4854
      a65f3051
    • Wei-Ting Lin's avatar
      Fix token-encoding errors in NCOBMC · 1d46d903
      Wei-Ting Lin authored
      mi[0] is not set properly when encoding all mvs in a
      super-block first. After this patch NCOBMC can function
      properly.
      
      Change-Id: I149a50184c4823c0d3b82b6b21c7608e639668e6
      1d46d903
  5. 26 Jun, 2017 2 commits