1. 01 Nov, 2017 22 commits
    • Sarah Parker's avatar
      Rename ZEROMV to GLOBALMV · 2b9ec2ea
      Sarah Parker authored
      This name better reflects the functionality of the mode.
      
      Change-Id: Idc2372e7c7b226f70f63fa4f272a88cb4d857089
      2b9ec2ea
    • Debargha Mukherjee's avatar
      Add speed feature to reduce tx size search depth · edc7346f
      Debargha Mukherjee authored
      The speed feature simply restricts the number of depths
      searched. Currently it is turned on by default for speeds>=1.
      The coding efficiency impact (tested on lowres 30 frames) seems
      to be ~0.15% and the speedup is in the order of 15%.
      
      Change-Id: I514832bd7df937292875f73d9c9026e49ac576f2
      edc7346f
    • Linfeng Zhang's avatar
      Remove nz/eob related uncalled functions · fa97083c
      Linfeng Zhang authored
      Change-Id: I12471d18544a9634c28ed139b7211c9af0762927
      fa97083c
    • Zoe Liu's avatar
      Remove redundant macro USE_UNI_COMP_REFS · c6b17d82
      Zoe Liu authored
      USE_UNI_COMP_REFS is always true when ext-comp-refs is enabled and is
      always false otherwise.
      
      Change-Id: Ic6061a4ab88a2ebfeb11f178872ab13909060c0b
      c6b17d82
    • Soo-Chul Han's avatar
      remove writing/parsing superframe index with new HLS · 38427e8e
      Soo-Chul Han authored
      * add build-time option to add/read 4-byte size of every OBU
      * update to R19 by adding forbidden bit to obu header
      * add metadata OBU decoding
      
      Change-Id: I525264f53a8666b7bc29493fb29ae661841eba50
      38427e8e
    • Joe Young's avatar
      Change ext-intra base angle 111 to 113 · 28fcbfe5
      Joe Young authored
      This makes the ext-intra angles symmetric around 135.
      
      Change-Id: I81d4134a69e2de3e740299d66dbb9c28c59b73a5
      Previous: 45, 67, 90, 111, 135, 157, 180, 203
      New:      45, 67, 90, 113, 135, 157, 180, 203
      28fcbfe5
    • Zoe Liu's avatar
      Remove the use of prev_frame_mvs for mfmv · 294f59d0
      Zoe Liu authored
      The experiment of mfmv has already extensively leveraged the use of
      the motion vectors from the reference frames, hence there is no need
      to further add the motion vectors from the previous frame to serve
      as the motion vector reference candidates, let alone such motion
      vectors have not taken into account of the use of frame offsets.
      
      Experimental results collected so far have shown this patch has zero
      coding performance impact.
      
      Change-Id: I57a2f8b60797bd5e8f0a95206689b6e443b28ed1
      294f59d0
    • Debargha Mukherjee's avatar
      Move and rename some macros for resize/upscale · d365d3cc
      Debargha Mukherjee authored
      This is the first step towards moving the upscale convolve function
      to convolve.c
      
      Change-Id: I916a974a881d104b0b3cde861fa8bb898883af01
      d365d3cc
    • Sarah Parker's avatar
      Use tx_size 1 level down for transform type search · 90024e44
      Sarah Parker authored
      This addresses an inconsistency between the set used
      to decode the tx_type in the bitstream and the set used
      for the tx_type search. Previously, the set used to
      read/write the tx_type was based on the smallest tx_size
      in the vartx partitioning, but the search uses a set
      based on the largest possible tx_size. This patch
      changes the tx_type search to use the transform type
      set associated with the tx_size 1 recursive level down from
      the max square tx_size to make the search more consistent
      with the bitstream syntax. If a tx_size is selected for an
      invalid tx_type, DCT_DCT is used for that partition instead.
      
      This patch also adds assertions to all exposed transform
      functions to ensure that no illegal transform type/size
      combinations occur.
      
      This currently gets a 0.1% drop in performance on lowres.
      The drop is due to the reduction of the tx_types available
      for 32x16 and 16x32 transform sizes. Before this patch,
      32x16 and 16x32 transforms were getting assigned a
      set of 12 tx_types, some of which we did not intend to
      support for these sizes.
      
      Change-Id: I44aca4876b261c345623cd04ad6235bca4532701
      90024e44
    • Yue Chen's avatar
      Remove CONFIG_INTERINTRA · 670b660d
      Yue Chen authored
      Change-Id: Icbedc16b01adf9b48f0f357ec89143462865d54e
      670b660d
    • Angie Chiang's avatar
      Assign right ref_stamp int av1_setup_motion_field · c906e65b
      Angie Chiang authored
      Change-Id: Ie9152c5a631cd53ac69cc09469682505a88b045d
      c906e65b
    • Zoe Liu's avatar
      Add decoder support to ext_skip · f704a1c8
      Zoe Liu authored
      At the frame header level, add the checking on whether an inter-coded
      frame allows the use of 'skip_mode'. At the block level, add the
      decoding of 'skip_mode' for all the blocks if 'skip_mode' is allowed
      for the current frame. If 'skip_mode' is set, no further bit needs to
      read out, and the block is set as:
      - Inter-coded in compound mode;
      - With the nearest forward and backward reference frames;
      - In NEAREST_NEARESTMV mode;
      - In SIMPLE_TRANSLATION motion mode;
      - In COMPOUND_AVERAGE compound type; and
      - Skip set for residual.
      
      Change-Id: I50297f63a81135109332c4a51b516bffd7726777
      f704a1c8
    • Arild Fuldseth (arilfuld)'s avatar
      Implement approved version of FRAME_SIZE experiment · 7193f020
      Arild Fuldseth (arilfuld) authored
      Change-Id: I5b7bb9983e1c613321704a579d459925bd6b9b2b
      7193f020
    • Jonathan Matthews's avatar
      ref-mv: Don't stop scanning when ref-mv stack is full. · ca9132d0
      Jonathan Matthews authored
      This would result in certain motion vectors getting
      lower weights than they deserve, so putting them in
      the wrong position in the stack.
      
      BUG=aomedia:981
      
      Change-Id: I8bd106e97f494f5d3debaf967efcabcd39846726
      ca9132d0
    • Steinar Midtskogen's avatar
      Use alternate CDEF weights also for high bitdepths as for 8 bits · bc75305a
      Steinar Midtskogen authored
      Change-Id: Ie1751b111ce8b21424e5e7b8c7407163d4c81b99
      bc75305a
    • Steinar Midtskogen's avatar
      Shift secondary CDEF strength according to bitdepth · 830d2ac9
      Steinar Midtskogen authored
      BUG=aomedia:926
      
      Change-Id: I3ec5ff501e2a6791ed13dcb0a7f4755b86e3910b
      830d2ac9
    • Jingning Han's avatar
      Reduce the context model size for base level · 819f45a3
      Jingning Han authored
      Further reduce the context model size needed for base levels down
      to 25 per transform size.
      
      Change-Id: I9df4870d2b027cdb1356de0fc4d5bcc22155319e
      819f45a3
    • Jingning Han's avatar
      Re-design base level context modeling · e775b8bc
      Jingning Han authored
      Reduce the context model size required to code the base level
      syntax values from 42 to 32 per transform size.
      
      Change-Id: I08485fdb563bc5c3323b0e147d69b47c286b9bb5
      e775b8bc
    • Luc Trudeau's avatar
      [CFL] Fix int type in padding function · e67377b3
      Luc Trudeau authored
      Int was used but should have been int16_t. This does not alter the
      encoder/decoder behavior
      
      Change-Id: I6bfd8a3942e9f9b86cccf10c144fec147e996944
      e67377b3
    • Luc Trudeau's avatar
      [CFL] Change CFL DC_PRED from int to int16_t · d3487722
      Luc Trudeau authored
      This changes serves to illustrate that DC_PRED does not
      need 32 bits. It only needs the specified pixel bit depth.
      Which fits inside a signed 16 bit integer.
      
      Change-Id: Ice062c8c4a794cb4f32a3963278f4a99ef326dda
      d3487722
    • Luc Trudeau's avatar
      [CFL] Merge cfl_predict_block and cfl_build_prediction · 6d3befbd
      Luc Trudeau authored
      With the previous addition of cfl_build_prediction_lbd and
      cfl_build_prediction_hbd there's no need for cfl_build_prediction.
      
      Change-Id: I4246a53378f1e85be40c14433a3084d7120ad060
      6d3befbd
    • Debargha Mukherjee's avatar
      Misc. fixes/cleanups in superres upscaling · 138af6ee
      Debargha Mukherjee authored
      Change-Id: I97f7d390e580b6e1b2b471a6f1a95082323d39aa
      138af6ee
  2. 31 Oct, 2017 7 commits
  3. 30 Oct, 2017 7 commits
    • Debargha Mukherjee's avatar
      Remove compound-segment/wedge config flags · 371968cd
      Debargha Mukherjee authored
      Change-Id: I39cfbb135add0553cadf64481b13786831fbdddd
      371968cd
    • Rupert Swarbrick's avatar
      Correct scaling in av1_loop_restoration_corners_in_sb · 34f2b74d
      Rupert Swarbrick authored
      I'd got the scaling backwards. This gets it right and adds a comment
      explaining the calculation.
      
      Change-Id: Ife2913700cc73996c09b702b394832799c449a8c
      34f2b74d
    • Jingning Han's avatar
      Speed up inter frame rate-distortion optimization · cf842ad2
      Jingning Han authored
      The frame marker system supports one to map the reference frame
      index into the natural order. It allows direct checking on the
      efficacy of the reference frames given their relative locations
      with respect to the current coding frame.
      
      This commit uses such property to filter out reference frames
      less likely to contribute coding gains from the rate-distortion
      optimization process. For example, it takes out the check on
      last2 / 3 frames, when their actual location is further away
      from the golden frame.
      
      The AWCY results show 0.6% performance regression. The encoding
      speed gets doubled.
      
      To use the speed up, one needs to turn on frame-marker experiment
      before we turn it on by default, and enable selective_ref_frame
      entry in the speed feature.
      
      Change-Id: Ifb03ed90acd980bbc7ff1c2e17982e21e68d2588
      cf842ad2
    • Sebastien Alaiwan's avatar
      Remove experimental flag of GLOBAL_MOTION · 48795807
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I9c9d6ef5317798cbf237307a9754fe7e03bdda47
      48795807
    • Luc Trudeau's avatar
      [CFL] Sub8x8 Validation Code Rewrite · c7af36d4
      Luc Trudeau authored
      Sub8x8 Validation code is changed to be more robust. The scope of the
      validation is narrowed to validating that all of the required content in
      the storage buffer was stored between CfL predictions. The early
      termination used in the current mode decision code does not allow to
      validate more than that.
      
      This change does not change encoder output
      
      BUG=aomedia:925
      
      Change-Id: I7f1ed84da5037dcfaaf5da9cf33b4b8d664d2352
      c7af36d4
    • Debargha Mukherjee's avatar
      Remove experimental flag for rect-tx · 11812967
      Debargha Mukherjee authored
      Change-Id: I0cc53a03f07a11a6f7ea0570ff4ee8cf7c18c5aa
      11812967
    • David Barker's avatar
      loop-restoration: Remove special case in Wiener filter · 3acd3b5c
      David Barker authored
      Remove the special case handling for the topmost/bottommost
      rows in each processing unit. This causes slightly different
      effects depending on whether striped-loop-restoration is enabled.
      
      With striped-loop-restoration:
        Now that we explicitly fill out 3 rows of above/below pixels
        for each stripe, we don't need to use stepdown_wiener_kernel.
        Instead, the duplication of the topmost/bottommost pixels
        accomplishes the same task, while making the code much cleaner.
      
        This patch should not cause a change in output, except in a
        couple of cases which were already questionable. In particular,
        it fixes bug #953, where the Wiener filter could not handle
        small processing units (<4 rows high)
      
      Without striped-loop-restoration:
        The Wiener filter returns to using a full 3 pixels above/below
        the processing unit. In order to make sure there are enough
        pixels, we need to expand WIENER_BORDER_VERT to 3 pixels.
      
        This will result in a slight change in output, but should be
        fairly minor.
      
      BUG=aomedia:953
      
      Change-Id: I9530ef55909246f7ba488b7ecfd92d59e776b2f9
      3acd3b5c
  4. 28 Oct, 2017 3 commits
    • Nathan E. Egge's avatar
      Add new 4-point Type-VII DST to daala_tx. · 14a9cb1f
      Nathan E. Egge authored
      Replaces the lifting based orthonormal 4-point Type-IV DST with an
       orthonormal 4-point Type-VII DST that has no iterative multiplies.
      
      Change-Id: I0a1f1a8d8cecce1c8002b7891baea601bc088690
      14a9cb1f
    • Jingning Han's avatar
      Extend the eob context model · 35deaa73
      Jingning Han authored
      Account for 1-D/2-D transform kernels for the eob modeling. To
      maintain a smaller context cardinality, set the two 1-D transform
      kernels in the same category. The difference in directions should
      be largely covered by the scan order.
      
      This and the previous CLs on nz_map context modeling together
      improve the compression performance of level-map coefficient coding
      system by 0.4% for lowres.
      
      Change-Id: I8c4f03ca01ce3d248950d04bd1266f445b4227a0
      35deaa73
    • Jingning Han's avatar
      Account for rectangular transform block sizes in lv-map ctx · a24a6900
      Jingning Han authored
      Account for the rectangular transform block sizes in the non-zero
      map context model.
      
      Change-Id: I16cf21a4120c10c213df10950aeb4ef0ea40c477
      a24a6900
  5. 27 Oct, 2017 1 commit
    • Joe Young's avatar
      Ext-intra modification/tuning · 3ca43bf0
      Joe Young authored
      For ext-intra direcation intra modes:
      
      1. Use neighbor block modes to modify edge filtering strength
         Coding gain (lowres/midres/hdres):
           (8 keyframes)
           PSNR: -0.19 -0.22 -0.10
           SSIM: -0.29 -0.27 -0.13
      
      2. Use context-based cdf to code angle_delta syntax
           (8 keyframes)
           PSNR: -0.20 -0.24 -0.27
           SSIM: -0.29 -0.33 -0.37
      
      3. Filter corner sample:
           (8 keyframes)
           PSNR: -0.01 -0.02 -0.05
           SSIM: -0.03 -0.04 -0.05
      
      Combined Bd-rate improvement for 8 keyframes
           PSNR: -0.40 -0.47 -0.40
           SSIM: -0.57 -0.60 -0.51
      
      Change-Id: Id47ac17b6bf91cd810b70cacfc5b457341f417f3
      3ca43bf0