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
  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
    • Tom Finegan's avatar
      Support CONFIG_PVQ in the cmake build. · 27f65d94
      Tom Finegan authored
      Change-Id: Ia857648599f176834307191af6a380b3e411850d
    • Tom Finegan's avatar
      Group optional configurations in av1/av1.cmake. · 7bb58b1a
      Tom Finegan authored
      Change-Id: I0dd17ec7ea59cecf8298831d0e46e971f744c2c7
    • Tom Finegan's avatar
      Support CONFIG_CDEF in the cmake build. · b4875826
      Tom Finegan authored
      Change-Id: I3e19eb302eb2f0f5a12243bf093c8f9807d97e91
    • 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.
      Change-Id: I713bc7b6f5f13387bbf6b9e3df22731c22d558cc
    • 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
    • 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
    • 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
    • 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:
      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:
       -> 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:
      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
    • 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
      Gain in AWCY test: 1.60%, was 1.64% when there is no restriction
      Change-Id: I2d82ef4fb4daa9b0843ac8844f99b9f412c4f379
    • Nathan E. Egge's avatar
      Add missing license block to inspection.[ch]. · 20f9ae1d
      Nathan E. Egge authored
      Change-Id: Icc85b0990adfdaf31f246204bee0c9b9d54654a0
    • Nathan E. Egge's avatar
      Add extern "C" for C++ compatibility. · 74b73385
      Nathan E. Egge authored
      Change-Id: I13369c84fa736e0d38f19480068abfb5dc54dcc8
    • 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
    • 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
      Change-Id: Icae73ae6b5da8a7783db9fadb1fff4a85d77174b
  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
    • 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
      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
    • 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
    • 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
    • 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
    • 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
  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
    • 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