1. 28 Mar, 2017 4 commits
    • Alex Converse's avatar
      ext_partition_types: Uncopy-paste update_ext_partition_context · ffabff35
      Alex Converse authored
      Change-Id: I8cd35f4697bc5ee90cfcb1fd37042770d6b5a544
      ffabff35
    • Jingning Han's avatar
      Refactor read_partition() · 5fe79db3
      Jingning Han authored
      Replace multiple calls for partition_cdf with a unified variable
      in ec-multisymbol. This siliences a compiler warning in the
      ec-multisymbol.
      
      Change-Id: I56b07579e89e8fba565c4960d081817c86bc0097
      5fe79db3
    • Jingning Han's avatar
      Explicitly use block size to determine partition info · cd95976b
      Jingning Han authored
      Replace the use of num_4x4_log2 with the actual block size as the
      condition to check if a block is partitionable. This avoids conflict
      issues when multiple experiments are turned on.
      
      Change-Id: I666d52458590a6f88c3995a140d20b0d66d27bfb
      cd95976b
    • Fergus Simpson's avatar
      frame_superres: Add scale to uncompressed header · e7508413
      Fergus Simpson authored
      A bit and a three bit literal have been added to the uncompressed frame
      header for use by the frame superres experiment.
      
      The bit is true if scaling is to be used, and is immediately followed by
      a three bit literal that encodes the scale to use. If the first bit is
      false, scaling is disabled and the scale factor numerator is set to the
      denominator (ie. 1:1 scaling). No literal follows if scaling is
      disabled.
      
      The denominator has been defined as a constant 16. The literal is biased
      by a defined constant of 8 - allowing fractions from 1/2 to 15/16
      scaling in steps of 1/16 when scaling is used. Experimentation will be
      needed to discover which of these are useful.
      
      The bit and literal are immediately after the optional render_width and
      render_height, so that the superres parameters can be written and read
      just after the regular width and height, without interfering with the
      render_size parameters.
      
      This patch also adds an arbitrary write to make the scale 1:1, so as to
      not trigger any scaling until it's ready.
      
      Accompanying encode and decode helper functions are added.
      
      Change-Id: I8caa6247c73f5c7f84ef1fde1e80eb9b20bde0e3
      e7508413
  2. 27 Mar, 2017 1 commit
    • Debargha Mukherjee's avatar
      Adds binary code lib for coding various symbols · 47748b56
      Debargha Mukherjee authored
      Adds a variable length binary code library for
      coding various symbols for typical use in headers.
      
      The main codes implemented are:
      1. Coding a symbol from an n-ary alphabet using a
      quasi-uniform code.
      2. A bilevel code for coding symbols from an n-ary
      alphabet based on a reference value for the symbol
      also taken from the same alphabet.
      The code has two steps. If the symbol is close to
      the reference a shorter code is used, while if it is
      farther away a longer code is used.
      3. A finite (terminated) subexponential code that codes
      a symbol from an n-ary alphabet using subexp parameter k.
      4. A finite (terminated) subexponential code that codes
      a symbol from an n-ary alphabet using subexp parameter k,
      based on a given reference also taken from the same
      alphabet. This code essentially reorders the values
      before using the same code as 3.
      
      Also adds corresponding encoder side functions to count
      the number of bits used.
      
      These codes will be subsequently used for more efficient
      encoding of loop-restoration parameters and global motion
      parameters.
      
      Change-Id: I28c82b611925c1ab17f544c48c4b1287930764b7
      47748b56
  3. 24 Mar, 2017 2 commits
  4. 23 Mar, 2017 2 commits
    • Jean-Marc Valin's avatar
      Do real chroma RDO search for CDEF · e9f77424
      Jean-Marc Valin authored
      Chroma now has a list of strenghts too, with the superblock signalling
      shared between luma and chroma.
      
      low-latency, cpu=4:
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      -0.0114 | -1.4626 | -1.4745 |  -0.0423 | 0.0430 | -0.0001 |    -0.7416
      
      Change-Id: I389c77f1d80020f810e45f8502c656ad9d397c8c
      e9f77424
    • Alex Converse's avatar
      Fix Wundef warnings inside the codec · 64d7ef67
      Alex Converse authored
      Change-Id: I2f4a5c836905b089b91b211368bf3a0dea682b75
      64d7ef67
  5. 22 Mar, 2017 6 commits
  6. 21 Mar, 2017 1 commit
  7. 20 Mar, 2017 4 commits
    • hui su's avatar
      Add av1 prefix to inv_txfm_add · bb9c73b0
      hui su authored
      Change-Id: Id7cbb89ba344770297ef42bf1b09a2b9ba5a1378
      bb9c73b0
    • hui su's avatar
      Make ext-intra/intra-interp work with ec-multisymbol · b4e25d2c
      hui su authored
      Use cdf to signal intra filter type.
      Skip forward update when ec-adapt is on.
      
      Change-Id: Idd446e081b8e9ea33356e60423b372bfd85a80db
      b4e25d2c
    • Angie Chiang's avatar
      Add av1_read_coeffs_txb_facade · 133733cb
      Angie Chiang authored
      Change-Id: I3f059dc16124bbce2210296de5b884b5906ec182
      133733cb
    • Alex Converse's avatar
      ext_partition_types: Bring into alignment with ec_multisymbol and ec_adapt · 57795a4c
      Alex Converse authored
      ec_multisymbol+ext_partition_types:
      base_ext_types@2017-03-15T18:24:38.012Z -> 8565_3_ext_types@2017-03-17T18:29:48.794Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0346 | -0.0343 | -0.0341 |  -0.0345 | -0.0345 | -0.0344 |    -0.0345
      
      ec_multisymbol+ec_adapt+ext_partition_types:
      base_adapt_ext_types@2017-03-15T18:27:31.704Z -> 8565_3_adapt_ext_types@2017-03-17T18:30:01.108Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0422 | -0.0420 |     N/A |  -0.0425 | -0.0423 | -0.0423 |    -0.0420
      
      Change-Id: Ia40f118f0faf546be13e02ec9ed584dd38529a59
      57795a4c
  8. 17 Mar, 2017 2 commits
    • Sarah Parker's avatar
      Macro to disable warped/obmc_causal with global motion · 19234cc2
      Sarah Parker authored
      Enabling SEPARATE_GLOBAL_MOTION will remove the ability for
      a block that uses zeromv with global motion to pick warped_causal
      or obmc_causal as the motion mode. When this is enabled there is:
      
      0.05% drop on lowres for global + warped enabled
      0.15% drop on midres for global + warped enabled
      
      0.12% drop on lowres with global + motion var enabled
      0.07% drop on midres with global + motion var enabled
      No performance change for global, warped, or motion var individually.
      
      Change-Id: Idbfb8dd7a93da14902438504b06a08e5212e48cb
      19234cc2
    • Steinar Midtskogen's avatar
      Merge dering/clpf rdo and filtering · a9d41e88
      Steinar Midtskogen authored
      * Dering and clpf were merged into a single pass.
      * 32x32 and 128x128 filter block sizes for clpf were removed.
      * RDO for dering and clpf merged and improved:
        - "0" no longer required to be in the strength selection
        - Dering strength can now be 0, 1 or 2 bits per block
      
                    LL    HL
      PSNR:       -0.04 -0.01
      PSNR HVS:   -0.27 -0.18
      SSIM:       -0.15 +0.01
      CIEDE 2000: -0.11 -0.03
      APSNR:      -0.03 -0.00
      MS SSIM:    -0.18 -0.11
      
      Change-Id: I9f002a16ad218eab6007f90f1f176232443495f0
      a9d41e88
  9. 15 Mar, 2017 2 commits
    • Alex Converse's avatar
      ext_partition_types: Make update tree shape match · 4e18d403
      Alex Converse authored
      Update the first PARTITION_PLOFFSET (4) contexts with the four classic
      partitions. The extended partitions are only codable above 8x8, but
      there are PARTITION_PLOFFSET (4) contexts for dropping below 8x8.
      
      Change-Id: Ib3291dded6dc24103222e8f470504c20e29adb88
      4e18d403
    • Thomas Davies's avatar
      EC_ADAPT: Perform backwards updates directly on CDFs. · 028b57f5
      Thomas Davies authored
      The initial CDF for each frame is stored in
      the frame context. CDFs for actual coding are
      stored in the tile structures, and these are
      what get adapted. The initial CDF is replaced
      by an average CDF derived from these tile CDFs.
      This is carried forward to future frames when
      backward adaptation is on.
      
      CDFs are no longer set from the 8 bit probabilities
      in backwards adaptation.
      
      For now, 8 bit probabilities are maintained for
      use in the encoder and for symbols which do not
      have a CDF.
      
      Change-Id: I106b30510bfad1fa57d077f7702acc1864378a09
      028b57f5
  10. 13 Mar, 2017 1 commit
  11. 09 Mar, 2017 2 commits
  12. 08 Mar, 2017 3 commits
    • Fergus Simpson's avatar
      hbd: remove unused variable "use_hbd" · f80a0581
      Fergus Simpson authored
      The variable "use_hbd" was defined but not used in four places in the
      codebase. The warning that it wasn't used was missed by Jenkins
      because it only tries one experimental flag at a time, but these
      definitions were inside nested experimental flag conditions. Both
      CONFIG_WARPED_MOTION and CONFIG_AOM_HIGHBITDEPTH had to be set for the
      variables to be defined.
      
      This patch deletes the unused definitions to remove the unused variable
      warnings when the AV1 encoder and/or decoder are built with warped
      motion and high bitdepth configured.
      
      Change-Id: I9e80523db05a7a19cebe3ec8085a4a1e4b198c52
      f80a0581
    • hui su's avatar
      Code refactoring in adapt-scan · ff0da2b4
      hui su authored
      Change-Id: Ie20bd0b05bbf3128933f10787aade7b63c98b52a
      ff0da2b4
    • Fangwen Fu's avatar
      Remove palette interleave · b3be926a
      Fangwen Fu authored
      * Run 45 degree wavefront coding for palette index
      with palette_throughput experiment.
      * Remove palette index interleave.
      
      Change-Id: Ibb57004401f817dec8b00bc2a941d70a26783ff9
      b3be926a
  13. 07 Mar, 2017 3 commits
    • Thomas Davies's avatar
      Add a CDF for coding delta_q. · d6ee8a8c
      Thomas Davies authored
      Also remove forward updates for delta_q when EC_ADAPT
      is enabled.
      
      Change-Id: Idf71b57bfe7763bc60595bc45768e624dd7b67bd
      d6ee8a8c
    • Fangwen Fu's avatar
      dependent tiles togeter with tile groups · 73126c08
      Fangwen Fu authored
      Change-Id: I378eb5b2c03a4c30d261128bcf9ef00ea987ed40
      73126c08
    • hui su's avatar
      Fork the entropy experiment · 0d103578
      hui su authored
      Split it into two experiments:
      q_adapt_probs: multiple initial coeff prob tables based on q-index
      subframe_prob_update: multiple backward prob updates within frame
      
      Change-Id: I78041ebd4ba34afc9152f6861225f63c2e8eb686
      0d103578
  14. 06 Mar, 2017 2 commits
  15. 03 Mar, 2017 2 commits
    • Thomas Davies's avatar
      TILE_GROUPS: omit tile length from last tile in the frame. · a0de6d59
      Thomas Davies authored
      This change improves efficiency and means that tile groups
      cause negligible loss (+0.03% BDR) in the current default
      encoding configurations (1 tile group no matter how many tiles)
      with frame-based wrapping.
      
      In future, when wrapper formats support tile groups, lengths
      can be omitted from the last tile in every tile group.
      
      Change-Id: Ia701e6720208fbfa727f9aef0b692a6aafbcc93f
      a0de6d59
    • Nathan E. Egge's avatar
      Add a simple frame data inspection API. · 2cf03b1a
      Nathan E. Egge authored
      This patch adds a decoder control that exposes frame data via a simple
       callback.
      
      Change-Id: Icae73ae6b5da8a7783db9fadb1fff4a85d77174b
      2cf03b1a
  16. 01 Mar, 2017 1 commit
  17. 27 Feb, 2017 2 commits