1. 16 Nov, 2017 4 commits
    • Monty Montgomery's avatar
      Eliminate tx_size dependant shifts for Daala TX · a26262c3
      Monty Montgomery authored
      short-circuit av1_get_tx_scale to always return zero when
      CONFIG_DAALA_TX, and remove it from the actual Daala TX toplevel
      This has potential overflow consequences for any metrics computation
      based on pixels; as such, also force use of the high-bitdepth path in
      each of these case.
      monty-rest-of-stack-baseline-s1@2017-11-13T00:39:03.881Z ->
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0030 | -0.0523 |  0.2656 |  -0.0239 | -0.0033 | -0.0029 |     0.0067
      objective-1-fast --limit=4:
      monty-rest-of-stack-baseline-o1f4@2017-11-13T00:37:06.999Z ->
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0264 |  0.2303 |  0.0822 |  -0.0109 | -0.0395 | -0.0709 |     0.0538
      Change-Id: I57da71861f105dc7a404fa75a75bde573855ef79
    • Zoe Liu's avatar
      Fix the spacing format for frame_refs · 0b7756b7
      Zoe Liu authored
      Change-Id: Ifd8275b9368139c8f1ab1e60ea09e177edd03bd1
    • Yunqing Wang's avatar
      Modify lightfield encoding example · b041d8a7
      Yunqing Wang authored
      Modified the lightfield encoding example to accommodate HW implementation
      requirements. Fixed the encoding scheme, generated a bitstream of a list
      of references followed by the surrounding large scale tile coded frames.
      All large scale tile coded frames use the same uncompressed frame header
      and the same set of frame contexts. This example also wrote out the frame
      header and frame contexts while encoding a large scale tile frame and
      setting EXT_TILE_DEBUG to 1.
      Change-Id: I7cc19099195d0a20335d5c6bfb9f493f1bf3a7b2
    • Yunqing Wang's avatar
      Force to have a common frame header in large scale tile coding · b6e23bc4
      Yunqing Wang authored
      In large scale tile coding(namely, large_scale_tile = 1), forced
      all frames to generate a bit-exact uncompressed frame header.
      This patch modified parameters that could change from one frame to
      Change-Id: Ibe72519da0b8a4f5a4ef30a4303ad7d7e4992a65
  2. 15 Nov, 2017 15 commits
  3. 14 Nov, 2017 21 commits
    • Debargha Mukherjee's avatar
      Temporarily turn off sse4_1 code for sgr · 256e1d23
      Debargha Mukherjee authored
      Until a valgrind error coming from the sse4 code is fixed.
      This should resolve the valgrin below.
      Change-Id: Ic461edb1da017d703a098bf5f9491fa51d0debcc
    • Sebastien Alaiwan's avatar
      Move encoder-only code to av1/encoder · 95137bde
      Sebastien Alaiwan authored
      Change-Id: Ic4e16f30827e2e2e2dd140aee94d309b049dd063
    • Soo-Chul Han's avatar
      enable segment_globalmv (adopted) · b65e470a
      Soo-Chul Han authored
      Change-Id: I56a67e75d9f366dff8d92c9185b879365de437a7
    • Zoe Liu's avatar
      Change mv projection to signed rounding · 11273449
      Zoe Liu authored
      The numerator in the mv projection can be negative, e.g. cur_to_bwd
      or cur_to_alt2, since either bwdref or altref2 can be a forward
      predictive reference, whereas the denominator always stays positive.
      The rounding inside mv projection hence should use signed operation.
      Change-Id: I42a105835754a002dd31fcfa7c845e4c105ec54f
    • Rupert Swarbrick's avatar
      Don't send chroma data in monochrome mode · dcb3cff5
      Rupert Swarbrick authored
      This is still a rather inefficient black+white encoder, since it carefully
      computes some chroma data, but just doesn't write it. However, at least the
      bitstream is now monochrome.
      Change-Id: Ie8a89bf329e7b41441032fb0d9e9011385bc12ff
    • Hui Su's avatar
      intrabc: use its own mv cost table · dfcbfbd4
      Hui Su authored
      To faciliate using intrabc on interframes.
      Change-Id: Ibfe376190adf24d15198c5fb548e1050e191a3d6
    • Rupert Swarbrick's avatar
      Replace force*split with has_rows/has_cols in rd_pick_partition · 1c2dfae3
      Rupert Swarbrick authored
      I think the result is a little easier to reason about (you now talk
      about a property of the block, rather than the behaviour that should
      be enforced). It also matches the code in read_partition in
      Change-Id: I13ba06b1504fa153b8b6b60fa14b373483639718
    • Rupert Swarbrick's avatar
      Remove nested #if !CONFIG_NEW_MULTISYMBOL lines · 3b48a6d4
      Rupert Swarbrick authored
      No change to the code, but these #if !CONFIG_NEW_MULTISYMBOL lines are
      all in the #else part of an #if CONFIG_NEW_MULTISYMBOL...
      Change-Id: Ibf11b1f0711113d9ee52927dcaf243d74e3f9d28
    • Rupert Swarbrick's avatar
      Save right # of lines in save_deblock_boundary_lines · 7a7fffef
      Rupert Swarbrick authored
      The "src_height" computed in save_deblock_boundary_lines didn't match
      the one in save_tile_row_boundary_lines, which meant that the wrapper
      function assumed the deblock code was saving some lines and that code
      thought that save_cdef_boundary_lines would do it.
      This patch fixes up the logic to match, and also completely gets rid
      of the lines_to_save variable (after all, bad things would happen if
      lines_to_save was 1 because we'll still read both boundary lines
      The tile height gets rounded up to a multiple of 8 luma pixels in
      save_tile_row_boundary_lines to avoid nasty corner cases. This will
      only have any effect for rows at the bottom of the frame (where
      av1_get_tile_rect clips to the frame boundary).
      Change-Id: I55adb53fa8ba9c7f97fb2fd5b328a3f2f5065464
    • Ola Hugosson's avatar
      WIP: lv_map_multi: make br multi symbol · e72a2091
      Ola Hugosson authored
      The br_cdf and lps_cdf with a new 4-state symbol br_cdf.
      The br symbol indicates whether the level is k, k+1, k+2 or >k+2
      In the latter case, a new br symbol is read. Up to 4 br symbols are
      read which will reach level 14 at most. Levels greater than 14 are
      golomb coded.
      The adapted symbol count is reduced further by this commit.
      E.g. for the I-frame of ducks_take_off at cq=12, the number of adapted symbols
      is reduced from 4.27M to 3.85M. About 10% reduction.
      Gains seems about neutral on a limitied subset.
      Change-Id: I294234dbd63fb0fa26aef297a371cba80bd67383
    • Ola Hugosson's avatar
      WIP: lv_map_multi: New experiment · 13892108
      Ola Hugosson authored
      This experiment modifies lv_map to make use of multi symbol.
      Replace the nz_map and coeff_base binary CDF with a new multi-symbol
      CDF of size 4. The new base_cdf indicates for each coeff if the level
      is 0, 1, 2 or >2. Two new special contexts are added to be used for the
      last coefficient (the EOB coeff). For the EOB coefficient we already know
      that it is non-zero. We use one context for DC EOB and one for AC EOB
      (this can potentially be refined more).
      The new symbol is read/written by special bitreader/bitwriter functions.
      Those functions reduce the probability precision from 15bit to 9bit before
      the invocation of the arithmetic coding engine.
      The adapted symbol count is significantly reduced by this experiment.
      E.g. for the I-frame of ducks_take_off at cq=12, the number of adapted symbols
      is reduced from 6.7M to 4.3M.
      Change-Id: Ifc3927d81ad044fb9b0733f1e54d713cb71a1572
    • Sebastien Alaiwan's avatar
      aom_convolve.c: extract functions 'scalar_product' · b093b144
      Sebastien Alaiwan authored
      And make variable consts when possible.
      Change-Id: I823e56327e338ba669a0edd68c6c6d67077ebb7e
    • Rostislav Pehlivanov's avatar
      q_segmentation: disable delta_q encoding when enabled · da06779c
      Rostislav Pehlivanov authored
      The decoder side correctly disabled delta_q but the encoder didn't.
      Change-Id: I9f720c678d9e99d723c632095c058eaecd1a639d
    • Rostislav Pehlivanov's avatar
      q_segmentation: set seg->q_lvls to 0 when disabled · 30556193
      Rostislav Pehlivanov authored
      Otherwise the previous value ended up being used, creating a desync.
      Change-Id: I42d466474ce1a2567045720b8dfd413625f21cfa
    • Monty Montgomery's avatar
      Simplify Daala inverse TX toplevel for constant shift · 359854fe
      Monty Montgomery authored
      Rather than backing out all the LGT-related shifting matrices
      throughout the existing TX code, separate out and simplify Daala
      inverse 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.
      This patch is purely non-functional changes.
      subset 1:
      monty-TXtesting-fwd-s1@2017-11-12T05:25:09.557Z ->
        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
      monty-TXtesting-fwd-o1f@2017-11-12T05:25:29.386Z ->
        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: I790e8d7ac08eb214eb712f5441d6e5f76ebddf17
    • Hui Su's avatar
      Turn on q_adapt_probs by default · dc71d8c8
      Hui Su authored
      Change-Id: Idc201abd06cb1ac351a71bc723d9fed99c215b8e
    • Cheng Chen's avatar
      JNT_COMP: reduce context model number · c87b340e
      Cheng Chen authored
      Reduce context model number from 9 to 6.
      Let context be two kinds: two reference frames are equal distance
      or not.
      Also, give equal distance compound weight {9, 7} instead of {8, 8}/16
      Reducing context model gives neutral performance.
      New compound weight provides -0.14% gain.
      Change-Id: I8a3f3021eac9e446ac826e5992f42931af4c8962
    • Cheng Chen's avatar
      JNT_COMP: highbd simd and unit tests · cce312fb
      Cheng Chen authored
      Change-Id: I2c913198b7ad136cdf15d4af86b9b0b9e6850b72
    • Hui Su's avatar
      Fix the logic for skipping in-loop filters in loopfilter_frame() · 27a4fb68
      Hui Su authored
      Change-Id: I976b4a684d6d309da6b1076627f7e1e058e72932
    • Debargha Mukherjee's avatar
      Support for 4:1 transforms with txmg · 845057f1
      Debargha Mukherjee authored
      Change-Id: I484121349af182f4f9525b1c992a6e77f6da7ea9
    • Yue Chen's avatar
      Add the option of using 1:4/4:1 tx_size+sb_type · 0797a208
      Yue Chen authored
      Change-Id: I96e5ff72caee8935efb7535afa3a534175bc425c