1. 06 Mar, 2017 2 commits
  2. 05 Mar, 2017 1 commit
    • Jingning Han's avatar
      Decouples rect-tx from var-tx · 8b77d04e
      Jingning Han authored
      With this patch, --enable-var-tx only enables recursive transform
      partitioning without using rectangular transforms.
      To enable use of rectangular transforms in addition, use:
      --enable-var-tx --enable-rect-tx
      
      The RD selection process is not fully tested under the var-tx flag
      only. We might expect certain performance loss there.
      
      Change-Id: Ie6aa17f1bbc3e8563b9990bc9ff79cc860d9a361
      8b77d04e
  3. 04 Mar, 2017 1 commit
  4. 03 Mar, 2017 14 commits
    • Yushin Cho's avatar
      Delete unused function, has_high_freq_coeff() · 5dcc48ba
      Yushin Cho authored
      Change-Id: I4bbe63a4e54dd14a05fca26a11abb5a0d12480d5
      5dcc48ba
    • Tom Finegan's avatar
      Support CONFIG_PVQ in the cmake build. · 27f65d94
      Tom Finegan authored
      BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
      
      Change-Id: Ia857648599f176834307191af6a380b3e411850d
      27f65d94
    • Tom Finegan's avatar
      Group optional configurations in av1/av1.cmake. · 7bb58b1a
      Tom Finegan authored
      Change-Id: I0dd17ec7ea59cecf8298831d0e46e971f744c2c7
      7bb58b1a
    • Tom Finegan's avatar
      Support CONFIG_CDEF in the cmake build. · b4875826
      Tom Finegan authored
      BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
      
      Change-Id: I3e19eb302eb2f0f5a12243bf093c8f9807d97e91
      b4875826
    • Tom Finegan's avatar
      Add support for CONFIG_FILTER_INTRA to the cmake build. · 677d24bf
      Tom Finegan authored
      Note: CONFIG_FILTER_INTRA is broken in both build systems due
      to link errors. This is a parity patch.
      
      BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
      
      Change-Id: I713bc7b6f5f13387bbf6b9e3df22731c22d558cc
      677d24bf
    • Luc Trudeau's avatar
      Merging robust and nodesync in PVQ · 9e6a9607
      Luc Trudeau authored
      The variables robust and nodesync appear to represent the same concept.
      In order to simplify, they are merged into nodesync. This change does
      not alter the bitstream as this value is hard coded to 1.
      
      Change-Id: If9b2eb52f628e3f615b6270e26569815d5e79ae0
      9e6a9607
    • Luc Trudeau's avatar
      Remove frame type dependency in od_pvq_rate · 9a834c03
      Luc Trudeau authored
      In Daala, od_pvq_rate depended on the frame type because of H/V pred.
      However, H/V pred is not in AV1, as such this code can be removed.
      
      This changes do not impact the bitstream as currently is_keyframe is
      hard coded to zero.
      
      Change-Id: Ic4b7c91c004133bc4520870ce39e47cd6a63f298
      9a834c03
    • 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
    • Luc Trudeau's avatar
      Remove H/V considerations in pvq_theta · 96382283
      Luc Trudeau authored
      As H/V Prediction is not implemented in AV1, pvq_theta does not need to
      consider it when adjusting its parameters.
      
      It is important to understand that the results shown here are not the outcome
      of this patch but the outcome of leaving the condition in and enabling
      is_keyframe. Currently, this change does not impact the bitstream as
      is_keyframe is hard coded to 0 for PVQ.
      
      The following result show that enabled for spatial intra, the H/V pred
      tweaks do not yeild benefits.
      
      Enabling the condition for all planes in a keyframe:
      Subset1:
      pvq@2017-02-28T20:31:50.969Z -> pvq-unreliable-intra@2017-02-28T20:30:32.049Z
      PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0896 |  0.0860 | -0.0759 |   0.1608 | 0.1442 |  0.1599 |     0.0147
      
      Enabling the condition for Luma plane in a keyframe:
      Subset1:
      pvq@2017-02-28T20:31:50.969Z
       -> pvq-unreliable-intra-luma@2017-02-28T20:34:18.029Z
      PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0713 |  0.1317 |  0.0717 |   0.1253 | 0.1365 |  0.1406 |     0.0312
      
      Enabling the condition for Chroma planes in a keyframe:
      Subset1:
      pvq@2017-02-28T20:31:50.969Z -> pvq-unreliable-intra-chroma@2017-02-28T21:09:38.992Z
      PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0232 | -0.1240 | -0.1379 |   0.0029 | 0.0187 |  0.0191 |    -0.0916
      
      Based on these results, the condition in the if statement is removed.
      
      Change-Id: Icd2f1313952548939069b4570cf7db04632f35f3
      96382283
    • Yue Chen's avatar
      Restrict the number of neighbors in obmc mode · 5329a2bf
      Yue Chen authored
      Enable obmc mode only when there are <= 2 left neighbors and <=2
      above neighbors. Also disable it when there is no overlappable
      neighbors.
      
      Gain in AWCY test: 1.60%, was 1.64% when there is no restriction
      
      Change-Id: I2d82ef4fb4daa9b0843ac8844f99b9f412c4f379
      5329a2bf
    • Nathan E. Egge's avatar
      Add missing license block to inspection.[ch]. · 20f9ae1d
      Nathan E. Egge authored
      Change-Id: Icc85b0990adfdaf31f246204bee0c9b9d54654a0
      20f9ae1d
    • Nathan E. Egge's avatar
      Add extern "C" for C++ compatibility. · 74b73385
      Nathan E. Egge authored
      Change-Id: I13369c84fa736e0d38f19480068abfb5dc54dcc8
      74b73385
    • Fergus Simpson's avatar
      rdopt.c: add comments to #endif's · 4063a68b
      Fergus Simpson authored
      Fixes missing and wrong comments for all of the #endif's in rdopt.c to
      improve readability.
      
      Change-Id: Idd557a9e6244bbc335c2a646d150ed59074ee7a1
      4063a68b
    • 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
  5. 02 Mar, 2017 6 commits
    • Yaowu Xu's avatar
      Use uint64_t to avoid integer overflow · ec660c3e
      Yaowu Xu authored
      Fixes the overflow of unsigned int in *state * 1103515245.
      
      Change-Id: Id35b8baa205f1ef8829ae4c8708f0c65edb01ada
      ec660c3e
    • Debargha Mukherjee's avatar
      Some optimizations on integer affine estimation · 93105538
      Debargha Mukherjee authored
      1. Adds a limit on number of candidate samples used for the
      estimation.
      2. Adds a limit on max mv magnitude for use in the least-squares
      3. Makes some of the internal variables 32-bit.
      
      Impact on coding efficiency in the noise range.
      
      Change-Id: I8c1c3216368ceb2e3548660a3b8c159df54a8312
      93105538
    • David Barker's avatar
      Remove double rounding in selfguided filter · 7dcd7f5e
      David Barker authored
      In av1_selfguided_restoration, the values stored into 'dgd' are
      unnecessarily rounded twice. This patch replaces this by a single
      rounding operation.
      
      Change-Id: I188d283137b74823f5d5447d441250520d6ee294
      7dcd7f5e
    • Jingning Han's avatar
      Avoid the use of undefined marco value · b83e64ba
      Jingning Han authored
      Always define USE_TXTYPE_SEARCH_FOR_SUB8X8_IN_CB4X4 to avoid the
      use of undefined value.
      
      Change-Id: I0ad90c5b5316db231e9538487bb4591dfd6a9ce7
      b83e64ba
    • Yue Chen's avatar
      Use 3-tap spatial filter in FILTER_INTRA experiment · 8d8638a1
      Yue Chen authored
      3-tap recursive intra prediction filters are added.
      Macro USE_3TAP_INTRA_FILTER is set to 1 to use 3-tap by default.
      Coding gain of FILTER_INTRA experiment in AWCY, high delay 150f
      3-tap: 0.51%
      4-tap: 0.68%
      
      Change-Id: I44192dd08bfd8155f58a9b0b5cf1de88fceb762e
      8d8638a1
    • Sarah Parker's avatar
      Turn off global motion for sub8x8 blocks · ae7c458a
      Sarah Parker authored
      Lowres: 0.03% improvement, 1% improvement on waterfall_cif.y4m
      Midres: 0.085% overall improvement, 1.253% improvement on station2_480p25.y4m
      Change-Id: I3872934d978bb4ca828c6b9acd2fdb951d9da299
      ae7c458a
  6. 01 Mar, 2017 14 commits
  7. 28 Feb, 2017 2 commits
    • Angie Chiang's avatar
      Turn on SIMD implementation of av1_fht32x32 · e4f98f67
      Angie Chiang authored
      Change-Id: Ie1bfece43c81ee5d149ed25c3f7fd959a8f95030
      e4f98f67
    • Michael Bebenita's avatar
      Add SIMD code for PVQ search · 3a88de8f
      Michael Bebenita authored
      This reduces the runtime profile of pvq_search_rdo_double from 37%
      to 15% and improves overall encoding speed when PVQ is enabled by ~40%.
      The SIMD code is not bit accurate with the C version and introduces a
      slight PSNR regression on AWCY:
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
      0.0607 |  0.1044 |     N/A |   0.0126 |  N/A | -0.0309 |        N/A
      
      Change-Id: Ie22cebc62df2e72618305f2268668d79167860c6
      3a88de8f