1. 26 Jul, 2017 1 commit
    • Monty Montgomery's avatar
      Add CONFIG_DAALA_DCT8 experiment. · cf18fe4e
      Monty Montgomery authored
      This experiment replaces the 8-point Type-II DCT and 8-point Type-IV DST
       scaling vp9 transforms with the 8-point orthonormal Daala transforms.
      These have reduced complexity and are perfect reconstruction at the cost
       of a slightly worse coding performance.
      This is because the Daala transforms expect the input to be shifted by 4
       bits but the output scale of the vp9 transforms is only 3 bits.
      
      subset-1:
      
      monty-square-baseline-subset1 ->
        monty-square-dct8-subset1@2017-07-17T21:37:44.281Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0019 | -0.0011 | -0.0585 |  -0.0111 | 0.0305 |  0.0317 |     0.0187
      
      objective-1-fast:
      
      monty-square-baseline-o1f ->
        monty-square-dct8-o1f@2017-07-17T21:37:15.735Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0285 |  0.0129 | -0.5080 |   0.0529 | 0.0345 |  0.0441 |     0.0054
      
      Change-Id: I2b775495398fb717204a295397c3c5e3ca938183
      cf18fe4e
  2. 25 Jul, 2017 5 commits
    • Yushin Cho's avatar
      Fix that matching { and } can be searched in inter mode decision · 67dda51a
      Yushin Cho authored
      Because #if ... #else ... put the '{' on the same line, dangling { or } occurs,
      which causes automatic syntax analyzer, such as 'Ctrl-Shifht-P' in Eclipse
      or '%' of vi, fail to find matching { and }.
      
      For some developers, this can make quick reading and/or understaning blocks of code
      almost impossible.
      
      Three function or blocks are repaird.
      1. av1_rd_pick_inter_mode_sb() {...}
      
      2. for (midx = 0; midx < MAX_MODES; ++midx) {...}
         in av1_rd_pick_inter_mode_sb()
      
      3. handle_inter_mode() {...}
      
      Change-Id: Ib5ac63b8c7f9870a491fac337ae3f58c57ce5e46
      67dda51a
    • Jingning Han's avatar
      Account for the 64x64 proc block constrain in obmc masking · 440d4254
      Jingning Han authored
      Make the codec account for the 64x64 processing unit constraint
      when producing the mask for overlapped filter.
      
      Change-Id: I3e596492ae522abe678369b0c9710441549e817e
      440d4254
    • Jingning Han's avatar
      Make maximum obmc process unit 64x64 · 501294ce
      Jingning Han authored
      For 128x128 level blocks, process the overlapped prediction in
      the unit of 64x64. This allows hardware design to reuse the 64x64
      processing unit in 128x128 level block coding.
      
      Change-Id: I3967b8e3c1c697f96a50e59a0957fc69b67e6f8e
      501294ce
    • Luc Trudeau's avatar
      [CFL] Average alpha CDF · 4266a7ed
      Luc Trudeau authored
      Change-Id: Id556e8d77c5871ddae338baa1abfb93b7aa207e9
      4266a7ed
    • Luc Trudeau's avatar
      [CFL] Fix warnings when chroma_sub8x8 is disabled · 96b31516
      Luc Trudeau authored
      This change does not alter the bitstream
      
      Resuls on Subset1 (compared to 70a80a81 with cfl)
        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: I7672eb4cde3c649ebba32610f7e56500e378c062
      96b31516
  3. 24 Jul, 2017 9 commits
    • Angie Chiang's avatar
      Let adapt_scan's prob precision be adjustable · 70a80a81
      Angie Chiang authored
      Change-Id: Ie1f5db74d3b22a46abd09e0207770935622074a5
      70a80a81
    • Angie Chiang's avatar
      Turn off adapt_scan for IDTX/1D txfms · d39f6b33
      Angie Chiang authored
      The performance stay the same compared to turn on adpat_scan for
      all txfms
      
      The  performance of adapt_scan on top of ext_tx are
      lowres: 0.517%
      midres: 0.484%
      hdres:  0.639%
      
      Change-Id: Ic148dbe9c0af4554bbbe3f7012625f389f997289
      d39f6b33
    • Angie Chiang's avatar
      Fix compiler error when lv_map adapt_scan both on · 57127c52
      Angie Chiang authored
      Change-Id: Ibd0bda593717aab2894c36dd59925a0bcf654113
      57127c52
    • Urvang Joshi's avatar
      filter-intra: Support rectangular blocks. · 6a99691d
      Urvang Joshi authored
      - Use 'tx_size' in function signatures.
      - filter_intra_taps_3 and filter_intra_taps_4 updated to support
        TX_SIZES_ALL (thanks to yuec@)
      
      With these changes, filter-intra works correctly with rect-intra-pred.
      So, we remove the temporary workaround for this.
      
      Change-Id: Ide0f593419c21a74c08c61859f8dad918ca169fa
      6a99691d
    • Tristan Matthews's avatar
      aomenc: assume IVF for .ivf output files unless --webm is given · ed858d63
      Tristan Matthews authored
      Change-Id: I894ab72f529a598ae4534e0bd982e08863d75fcb
      ed858d63
    • Urvang Joshi's avatar
      Workaround for filter-intra + rect-intra-pred mismatch. · d0b7cf94
      Urvang Joshi authored
      This workaround is temporary, until filter-intra can work with rectangular
      blocks.
      
      Tested OK:
      make clean; ../../configure --disable-install-docs --enable-unit-tests
      --enable-debug --enable-aom-highbitdepth --enable-experimental
      --enable-adapt-scan --enable-dual-filter --enable-ext-inter
      --enable-ext-intra --enable-ext-refs --enable-ext-tx
      --enable-filter-intra --enable-loop-restoration --enable-rect-tx
      --enable-compound-segment --enable-interintra --enable-wedge
      make -j
      ./test_libaom
      
      Change-Id: I4554d1f25de9448b22465e93a7616df0c206e298
      d0b7cf94
    • Thomas Davies's avatar
      NEW_MULTISYMBOL: adapt binary MV values. · 599395ee
      Thomas Davies authored
      Change-Id: I00f98e0e03a44aa894566b7a47bb0f32b56da766
      599395ee
    • Luc Trudeau's avatar
      [CFL] Fix rare overflow in distortion computation · 4c5df105
      Luc Trudeau authored
      Worst case SSE for a 12-bit 64x64 block requires 48 bits
      (2*(12+log(64)+log(64))). As such, the dist variable must
      be int64.
      
      Results on Subset1 (compared to 19b5c8fa with CfL enabled)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0030 |  0.0001 |  0.0100 |   0.0026 | 0.0024 | -0.0008 |     0.0028
      
      Change-Id: I1364c089c223b96daed942175a915fed0f6f1023
      4c5df105
    • Todd Nguyen's avatar
      Add temporal filtering/interpolation to bgsprite · 8493f916
      Todd Nguyen authored
      - Modified temporal filter to take extra buffer parameter
      - Added bilinear interpolation, can be turned on by setting
      BGSPRITE_INTERPOLATION define to 1.
      - Added mean filter to bgsprite for blending modes
      - Bilinear interpolation is turned OFF by default
      - Mean filtering turned ON by default (was previously median filtering)
      - Allow for multiple references for alt_ref in encodeframe
      
      Change-Id: Icfe9054049339d353b4befff11e96c12ca73ed4e
      8493f916
  4. 23 Jul, 2017 1 commit
  5. 21 Jul, 2017 12 commits
  6. 20 Jul, 2017 12 commits
    • Zoe Liu's avatar
      Add decoder support to ALTREF2 · 043c227b
      Zoe Liu authored
      Change-Id: I11abc5448622265183abd0a58268c190b5891576
      043c227b
    • Jingning Han's avatar
      Clear unused parameters in decode_partition · ea10ad45
      Jingning Han authored
      Change-Id: Idbe1f71c49d0240e10d82081feeec9029898eecd
      ea10ad45
    • Yi Luo's avatar
      Refactor av1_update_boundary_info function · f190a165
      Yi Luo authored
      - Split av1_update_boundary_info() into two functions to avoid
        unnecessarily checking which goes through each mi block.
      - av1_setup_frame_boundary_info() sets up frame level boundary,
        i.e. non-tile case, which is called in frame level only.
      - av1_setup_across_tile_boundary_info sets up tiles boundary,
        which is called per tile, in multiple tile case.
      - Decoder running time reduction: 8.72% (1080p, 25 frames, 4Mbps).
      
      Change-Id: I2fc42d4281c77bce4a7dab5d208347308cfbe579
      f190a165
    • Zoe Liu's avatar
      Add support to the experiment of altref2 · 97ad058e
      Zoe Liu authored
      This CL adds an extra alt-ref reference frame, namely ALTREF2_FRAME,
      and designs the contexts for ALTREF2_FRAME.
      
      Change-Id: I12fe8629b868aebf6c2b54260fca5abc38f90ae6
      97ad058e
    • hui su's avatar
      Palette: remove palette_first_color_idx[] in PALETTE_MODE_INFO · 40b9e7fe
      hui su authored
      Handle the first color index in the tokenization process, along with the
      other color indeices.
      
      This patch also includes some minor refactoring changes.
      
      Test results verify that there is no implact on compression efficiency.
      
      Change-Id: I7de51c18a52f337320331b5e8d63dfea3cf510f0
      40b9e7fe
    • Urvang Joshi's avatar
      rect-intra-pred: Fix for large rectangular blocks. · 9772044f
      Urvang Joshi authored
      Large rectangular blocks (BLOCK_64x32 and BLOCK_32x64 in baseline) don't
      have corresponding transform sizes.
      So, for such blocks, we revert to performing 2 predictions of square
      transform sub-blocks (TX_32x32 in baseline).
      
      Change-Id: I77e79223fbff514b5706b103de3f02401dba7ffe
      9772044f
    • Jingning Han's avatar
      Fix intra boundary condition in ext-partition · 6a3d689b
      Jingning Han authored
      Make the intra prediction boundary condition account for the
      64x64 processing unit constraint. This avoids a rare enc/dec
      mismatch issue in 128x128 intra coded block.
      
      Change-Id: Idb05cae8b17ae94c7a4e49e5d58b5865e5fc2f7d
      6a3d689b
    • Cheng Chen's avatar
      Directional deblocking filter · 9050c9da
      Cheng Chen authored
      New deblocking filter that smooths block boundaries in an estimated
      direction of object orientation.
      
      1. Select the proper direction for deblocking filtering.
      Compute abs gradient line by line for the block.
      Select the direction with least sum of abs gradient.
      
      2. Apply deblocking filtering for a block along this direction.
      Apply directional filtering for Y, U, V planes.
      
      Coding gain on Google test set:
      
      %	  	avg_psnr   ovr_psnr  ssim
      lowres  	-0.129 	  -0.136    -0.277
      midres  	-0.103    -0.127    -0.188
      hdres	  	-0.159    -0.158    -0.173
      screen_content  -0.408    -0.397    -0.695
      
      Change-Id: Ie8646dcc163ace5d8faf5e502b38342d885efc30
      9050c9da
    • Ryan Lei's avatar
      refactor the code to use common av1_get_uv_tx_size function. · 2a4b7810
      Ryan Lei authored
      Change-Id: I9a0470cb47f953cfdb026fb699cdcc000a8deca9
      2a4b7810
    • Sarah Parker's avatar
      Add new MRC_DCT tx type · 53f93dbd
      Sarah Parker authored
      This adds the new transform to the list of possible transforms.
      The impact on performance is in the noise range because the transform
      implementation currently performs DCT as a placeholder. This transform
      will initially only have an implementation for TX_32X32 and it is
      skipped in the tx search for smaller transform sizes.
      
      Change-Id: Iab2faddc525b478ca06972a753428a4f4ef53ac6
      53f93dbd
    • Yunqing Wang's avatar
      Make ext_tile compatible with reference_buffer · c2502b55
      Yunqing Wang authored
      In ext_tile experiment, when cm->large_scale_tile is 1, prev_frame_id can be
      the same as current_frame_id, which is prohibited in reference_buffer
      experiment and causes "CORRUPT_FRAME" error to be reported.
      
      In this patch, enable/disable reference_buffer according to large_scale_tile
      value, and thus make these 2 experiments compatible.
      
      Change-Id: If64943acb91e7a7b859db4e2ac62581e9b53ef85
      c2502b55
    • Jingning Han's avatar
      Make intra coding processed in 64x64 unit · 5b70174f
      Jingning Han authored
      Process the intra block coding in maximum of 64x64 block unit.
      This allows to simpilify the hardware design for 128x128 level
      block coding.
      
      Change-Id: I6ef1dd8549bdb53b2d2394c6aa7d61cea93686bf
      5b70174f