1. 21 Feb, 2018 3 commits
    • Hui Su's avatar
      Do not fall back to 4x4 VP9 style intra predictors · 7fb93975
      Hui Su authored
      Always use ext-intra style intra predictors. This is the same behavior
      as when intra-edge(adopted) is on.
      
      BUG=aomedia:1399
      
      Change-Id: I404923844e4cc81162fa649fc8b7dc695af63545
      7fb93975
    • Hui Su's avatar
      Change to names of some intra modes · 69ae7b86
      Hui Su authored
      To match the corresponding prediction angle.
      
      Change-Id: I0441a0a25f165c1fdeb4eba915c6ca83b0514c4d
      69ae7b86
    • Joe Young's avatar
      [NORMATIVE][intra-edge2] Add header disable flag · db5eb4cd
      Joe Young authored
      Add a flag disable_intra_edge_filter in the uncompressed header
      of key/all-intra frames to disable corner, edge, and upsampling
      filter with ext-intra modes.
      
      This adds an experiment flag: intra_edge2
      
      BUG=aom:1398
      
      Change-Id: I799b541a92f8bc928c8c34e918de89313c22efb9
      db5eb4cd
  2. 17 Feb, 2018 1 commit
  3. 15 Feb, 2018 2 commits
    • David Barker's avatar
      [NORMATIVE-DECODING] Add missing special case to has_top_right() · 3f0f1dfc
      David Barker authored
      Commit ea190906 fixed a major bug in has_top_right(), but missed
      out one special case:
      
      Consider a 128x128 block using 64x64 intra predictions. These
      intra predictions are applied in a 'Z' order, and so the bottom-left
      64x64 unit has pixels available from the top-right one. But we were
      mistakenly setting has_top_right() = 0 for this case.
      
      More generally, whichever transform unit has its top-right corner
      at the center of a 128x128 block, should have has_top_right() = 1.
      
      Fix this by introducing an explicit check for the special case.
      
      BUG=aomedia:1309
      
      Change-Id: I690a292be6c1755c76bd428be94ab953dd71fbd2
      3f0f1dfc
    • Yaowu Xu's avatar
      Remove CONFIG_TX64X64 · d3d4159f
      Yaowu Xu authored
      The experiment is fully adopted.
      
      Change-Id: I6cc80a2acf0c93c13b0e36e6f4a2378fe5ce33c3
      d3d4159f
  4. 14 Feb, 2018 1 commit
    • David Barker's avatar
      [NORMATIVE-DECODING] Fix above/left chroma block selection · d3afdb90
      David Barker authored
      As pointed out by rsbultje, my previous patch to is_smooth()
      (a883e6ea) was not quite correct. This is because, when we're
      making a chroma prediction, the uv_mode for the above/left chroma
      predictions is not necessarily in above_mbmi/left_mbmi. Instead,
      it may be in any of several places, depending on subsampling and
      the values of mi_row/mi_col.
      
      The cleanest solution is to explicitly maintain pointers to the
      above and left chroma blocks. Then we can simply look at those
      pointers when we want to know the above or left uv_mode.
      
      Also include a bit of refactoring of get_filt_type: It seems
      to be recalculating what's already in xd->{above,left}_mi,
      so just use those directly.
      
      BUG=aomedia:1362
      
      Change-Id: I0230474a50d43b78cb587a2b553da9ca78cec0c6
      d3afdb90
  5. 13 Feb, 2018 1 commit
  6. 12 Feb, 2018 1 commit
    • Luc Trudeau's avatar
      Use PLANE_TYPE to index angle_delta · 7bb3a4f0
      Luc Trudeau authored
      This is important because only one angle delta
      is used for both chroma planes. Using PLANE_TYPE
      increases readability and reduces the chance of
      people trying to access the angle_delta for
      AOM_PLANE_V (i.e. 2).
      
      Change-Id: I26f452e6fcee8bd7fd1e670e73f457d6937e0da9
      7bb3a4f0
  7. 10 Feb, 2018 1 commit
  8. 09 Feb, 2018 3 commits
    • Hui Su's avatar
      [NORMATIVE]Fix has_top_right() for 128x* blocks · ea190906
      Hui Su authored
      Before this fix, have_top_right for the complete right half of the
      sb128 is disabled.
      
      Borg test results don't show any compression changes. Probably 128x*
      blocks are very rarely chosen for intra modes.
      
      BUG=aomedia:1309
      
      Change-Id: I66a0573c029e7e3d440014842b5d031190d89f89
      ea190906
    • David Barker's avatar
      [NORMATIVE-DECODING, intra-edge] Fix bug in is_smooth() · a883e6ea
      David Barker authored
      Because the mbmi pointer passed into is_smooth comes from the above/left
      block, it might be an inter block. If this happens, we correctly deduce
      that the above/left block does not use a smooth intra mode.
      
      However, inter blocks do not set mbmi->uv_mode, so in the UV case we end up
      reading stale data. This may result in is_smooth() returning the wrong value,
      if (whatever was previously written into) mbmi->uv_mode happens to be a
      smooth intra mode.
      
      Fix this by including an explicit check for inter blocks.
      
      BUG=aomedia:1362
      
      Change-Id: I3ec9faef9b6297e22915176067b5704003bc4664
      a883e6ea
    • Joe Young's avatar
      [normative][intra-edge] get_filt_type luma/chroma mode · 2d276b39
      Joe Young authored
      Use correct luma/chroma modes in get_filt_type()
      
      BD-rate change (4 key frames):
      
                 PSNR    SSIM
      lowres:  -0.005  +0.022
      midres:  -0.016  -0.021
      hdres:   -0.008  -0.015
      
      BUG=aomedia:1312
      
      Change-Id: Ia9a22718d330fc4d3d932dbac0723c0522f0c4d1
      2d276b39
  9. 08 Feb, 2018 1 commit
    • Joe Young's avatar
      [normative][intra-edge] Change # of filtered edge pixels · c12f5701
      Joe Young authored
      For consistency with upsampling filter and dr_predictor_*
      functions, filter (w + h) pixels, instead of num_available.
      
      BD-rate change, 4 key frames:
      
                 PSNR    SSIM
      lowres:  -0.010  +0.004
      midres:  -0.004  -0.004
      hdres:   -0.014  -0.021
      
      BUG=aomedia:1314
      
      Change-Id: I6363e9288fa64cbf90b32887165a33dce686fc00
      c12f5701
  10. 06 Feb, 2018 1 commit
    • Imdad Sardharwalla's avatar
      Move sb_size to sequence header · 4ec84aba
      Imdad Sardharwalla authored
      sb_size, mib_size and mib_size_log2 have been moved from the AV1_COMMON struct
      to the SequenceHeader struct, as they are sequence-level parameters. sb_size is
      now written to and read from the end of the sequence header.
      
      BUG=aomedia:996
      
      Change-Id: I9d450518a1b898677976acd80088b8ea9ee9d7ce
      4ec84aba
  11. 03 Feb, 2018 1 commit
  12. 19 Jan, 2018 1 commit
  13. 12 Jan, 2018 1 commit
    • Hui Su's avatar
      Optimize intra reference availability check · 1ca3f2b3
      Hui Su authored
      Use binary flags to indicate if top-right/bottom-left referecne is
      available. Pack these flags into 8-bit integers.
      
      The table size is reduced by 8 times.
      
      Change-Id: If026989f421f11b4fb5f54708d645f26435e5958
      1ca3f2b3
  14. 08 Jan, 2018 1 commit
  15. 04 Jan, 2018 2 commits
  16. 03 Jan, 2018 1 commit
    • Yaowu Xu's avatar
      Merge two macros · dddb9f3e
      Yaowu Xu authored
      CONFIG_INTRA_EDGE_UPSAMPLE is always defined as CONFIG_INTRA_EDGE, so
      this commit merges them into one single macro.
      
      Change-Id: I69ae484827f4203fbf68f6a26ae5a8f9c051162d
      dddb9f3e
  17. 27 Dec, 2017 2 commits
  18. 22 Dec, 2017 1 commit
  19. 20 Dec, 2017 2 commits
  20. 19 Dec, 2017 3 commits
    • Yue Chen's avatar
      Remove filter_intra mode info for UV plane · b0571874
      Yue Chen authored
      Change-Id: I92f73b78dfd0e25a61897e8b6e9e28ff210376d5
      b0571874
    • Yue Chen's avatar
      Clean-up abandoned options for filter_intra · 250dd963
      Yue Chen authored
      Code for the following options is removed.
      (1) Disable filter_intra in sub8x8 tx blocks
      (2) Filter intra implementaion based on 1x1, 2x2, and 4x4 unit
      
      Change-Id: Ie898f6e8155709beff030b0ffb876754f14fb173
      250dd963
    • Luc Trudeau's avatar
      [CFL] Cache DC_PRED during CfL-RDO · 467205ac
      Luc Trudeau authored
      By default, the DC_PRED is not cached (this includes
      decoding). During cfl_rd_pick_alpha(), DC_PRED caching
      is enabled, the DC_PRED is cached after the first time it
      is computed (for each plane) and then it is reused when
      testing all the other scaling parameters.
      
      Change-Id: Ie8ba0bb0427c4d9be8de5b44e6330e8a78b9c7d9
      467205ac
  21. 15 Dec, 2017 1 commit
  22. 14 Dec, 2017 1 commit
    • Luc Trudeau's avatar
      [Clean Up] Remove get_y_mode() · 2eb9b845
      Luc Trudeau authored
      The get_y_mode function, is superfluous, not used consistently, and requires a
      useless block_idx parameter than gets pass around a lot inside the
      codebase for no apparent reason.
      
      The block parameter is misleading, as it could cause people to think all these
      functions actually use this value.
      
      Change-Id: I7ae0a8d1282c009b9114c83771cce10f5c2ee397
      2eb9b845
  23. 13 Dec, 2017 3 commits
  24. 08 Dec, 2017 1 commit
    • Debargha Mukherjee's avatar
      Misc refactors to support 4:1->2:1->1:1 tx splits · 0fa057f8
      Debargha Mukherjee authored
      Currently 4:1 transforms have max 2 split levels:
      4:1 -> 1:1 -> 0.5:0.5.
      
      This refactor enables split levels:
      4:1 -> 2:1 -> 1:1,
      
      by simply changing the tables in common_data.h.
      
      The actual switch will be made in a subsequent patch.
      
      Change-Id: I33f8d9ca5159ba3e7d02ced449ddf6f804a8f12a
      0fa057f8
  25. 07 Dec, 2017 1 commit
  26. 04 Dec, 2017 3 commits