1. 19 Jan, 2017 2 commits
    • Jingning Han's avatar
      Fix decoding failure in cb4x4 and var-tx mode · 74fd89f3
      Jingning Han authored
      Fix the bit-stream decoding failure introduced lately in cb4x4
      and var-tx mode.
      
      Change-Id: Id671b5ec98b32d65e4fb45812ee8d1b7037fd6ec
      74fd89f3
    • Yue Chen's avatar
      Bug fix: determine tx_mode based on lossless mode of all segments · eeacc4c0
      Yue Chen authored
      When segment feature is on, frame level cm->tx_mode can be set to
      ONLY_4X4 only if all segments are lossless. Otherwise will cause
      bugs when xd->lossless[i] is 0 and xd->lossless[0] is 1.
      Also fix the condition of coding tx_type, which should be on when
      the qindex of current segment is > 0.
      
      BUG=aomedia:106
      BUG=aomedia:104
      
      Change-Id: Ic076083bb78b3b99a6f7d17ec82ee402c64bcc52
      eeacc4c0
  2. 18 Jan, 2017 3 commits
    • Yue Chen's avatar
      Add rd loop of NCOBMC · f27b1605
      Yue Chen authored
      At the final round of encoding of each superblock, will go through
      each prediction block to check if ncobmc mode is better than non-
      overlapped prediction. Note that causal obmc mode is dumped here.
      
      PSNR gain (MOTION_VAR + NCOBMC): -2.845% lowres
      
      Change-Id: Ibe504f7f1882446a08ba426e1e9824bca73bf655
      f27b1605
    • Urvang Joshi's avatar
      Enable rectangular transforms for Intra also. · feb925fe
      Urvang Joshi authored
      These are under EXT_TX + RECT_TX experiment combo.
      
      Results
      =======
      
      Derf Set:
      --------
      All Intra frames: 1.8% avg improvement (and 1.78% BD-rate improvement)
      Video: 0.230% avg improvement (and 0.262% BD-rate improvement)
      
      Objective-1-fast set
      --------------------
      Video: 0.52 PSNR improvement
      
      Change-Id: I1893465929858e38419f327752dc61c19b96b997
      feb925fe
    • Alex Converse's avatar
      Add unpoison_partition_ctx experiment · 55c6bdeb
      Alex Converse authored
      At the edges of the picture only a subset of partitions are legal. Add
      new contexts for these borders so they don't distort the probabilities of
      the interior of the image where all partitions are legal.
      
      Only include one context for each block size of each border direction
      because so few blocks fall into these contexts to begin with.
      
      objective-1-fast:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0294 | -0.0911 | -0.2382 |  -0.0481 | -0.0441 | -0.0450 |    -0.0454
      
      derf144: -0.135
      lowres: -0.124
      midres: -0.076
      hdres: -0.078
      
      Change-Id: I909b98eebb7e49273cde90154c8408febe334158
      55c6bdeb
  3. 13 Jan, 2017 3 commits
  4. 12 Jan, 2017 5 commits
    • Yue Chen's avatar
      Refactor write_modes_b() and decode_block() · 64550b6a
      Yue Chen authored
      In order to reduce the code complexity for handling parameter
      coding and recon separately for each 64x64 in non-causal obmc
      experiment, we break them down to two steps calling separate
      functions, one for params, the other dealing with coefficients
      and recon(decoder side).
      Note: actually the non-causal prediction can use the original
      syntax, but right now in the decoder coeff detoken and recon are
      heavily nested.
      
      Change-Id: I72d9c42ab8f38b57850d6b0481551893f1702822
      64550b6a
    • Nathan E. Egge's avatar
      Move from Daala accounting to AOM accounting. · cefb4094
      Nathan E. Egge authored
      Replace all instances of Daala's OD_ACCOUNTING with those specified by
       CONFIG_ACCOUNTING.
      
      Change-Id: Ibb59fc5df0ce4b0528b15296bf2f14029c414bc0
      cefb4094
    • Nathan E. Egge's avatar
      Don't include Daala EC headers directly. · cceac33a
      Nathan E. Egge authored
      The generic coder now uses the AOM entropy coder API and no longer
       needs to include the entenc.h and entdec.h headers.
      
      Change-Id: I213acb5b6bd8a3fe60dc096b83d76ae72315e9de
      cceac33a
    • Nathan E. Egge's avatar
      Use aom_reader / aom_writer API to code rest. · 25007c88
      Nathan E. Egge authored
      The functions aom_encode_pvq_split() and aom_decode_pvq_split() code
       the rest value as raw bits using the od_ec_enc_bits() and
       od_ec_dec_bits() functions.
      These code bits in the reverse order as the aom_write_literal() and
       aom_read_literal() functions, so both the encoder and decoder must
       be changed at the same time.
      This commit has no impact on metrics but is a bitstream change.
      
      Change-Id: Iee79777f35aebbb23043a7efa7fe439af70348ba
      25007c88
    • Nathan E. Egge's avatar
      Use aom_reader / aom_writer API to code raw bits. · f1e2fbdc
      Nathan E. Egge authored
      The functions aom_laplace_encode_special() and
       aom_laplace_decode_special() code the rest value as raw bits using the
       od_ec_enc_bits() and od_ec_dec_bits() functions.
      These code bits in the reverse order as the aom_write_literal() and
       aom_read_literal() functions, so both the encoder and decoder must
       be changed at the same time.
      This commit has no impact on metrics but is a bitstream change.
      
      Change-Id: I428d5a83dd108c3a54f3c1dbae2c7fd5e59f5726
      f1e2fbdc
  5. 11 Jan, 2017 2 commits
  6. 10 Jan, 2017 4 commits
  7. 09 Jan, 2017 3 commits
  8. 07 Jan, 2017 1 commit
  9. 06 Jan, 2017 5 commits
    • Jingning Han's avatar
      Fix frame header tx_size syntax setting · 4be1a4d4
      Jingning Han authored
      Fix an intricacy due to interactions between cb4x4 and var-tx that
      sets frame header away from tx_mode_select. This resolves a rare
      enc/dec mismatch issue.
      
      Change-Id: I6981f21f7e6f04f2a47ef32f744f83a8fd34355b
      4be1a4d4
    • Nathan E. Egge's avatar
      Fix --enable-accounting with --enable-pvq. · 8324fa85
      Nathan E. Egge authored
      The bit accounting was broken when refactor portions of PVQ to use the
       aom_reader / aom_writer API because the daala_ec calls were using
       OD_ACCOUNTING instead of CONFIG_ACCOUNTING.
      This fixes them so that bit accounting will still work with pvq while
       the full port to --enable-accounting is in review.
      
      Change-Id: I99e6b6debc716f1a6780116d5602085f7a2bb827
      8324fa85
    • Jingning Han's avatar
      Rework the txfm partition context to support cb4x4 mode · 581d1697
      Jingning Han authored
      This commit reworks the transform block partition context update
      to support cb4x4 mode in the recursive transform block partition.
      It resolves the remaining enc/dec mismatch issue when both cb4x4
      and var-tx are turned on.
      
      Change-Id: I850d121204fe4c68e81488f1d2848c570d9d08b9
      581d1697
    • Jingning Han's avatar
      Refactor var-tx pipeline to support cb4x4 mode · 9ca05b7e
      Jingning Han authored
      Replace hard coded 4x4 transform block step size assumption with
      scalable table access.
      
      Change-Id: Ib1cc555c2641e5634acdd91ca33217f00aeb0b89
      9ca05b7e
    • Debargha Mukherjee's avatar
      Add UV wiener loop restoration · a43a2d98
      Debargha Mukherjee authored
      Enables Wiener based loop restoration only for the UV
      frames. The selfguided and domaintranform filters do not
      work very well for UV components, hence they are disabled.
      For each UV frame a single set of wiener parameters are
      sent. They are applied tile-wise, but all tiles use the
      same parameters.
      
      BDRATE (Global PSNR) results:
      -----------------------------
      lowres: -1.266% (up from -0.666%, good improvement)
      midres: -1.815% (up from -1.792%, tiny improvement)
      
      Tiling on UV components will be explored subsequently.
      
      Change-Id: Ib5be93121c4e88e05edf3c36c46488df3cfcd1e2
      a43a2d98
  10. 05 Jan, 2017 12 commits