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.
      Change-Id: I404923844e4cc81162fa649fc8b7dc695af63545
    • Hui Su's avatar
      Change to names of some intra modes · 69ae7b86
      Hui Su authored
      To match the corresponding prediction angle.
      Change-Id: I0441a0a25f165c1fdeb4eba915c6ca83b0514c4d
    • 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
      Change-Id: I799b541a92f8bc928c8c34e918de89313c22efb9
  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.
      Change-Id: I690a292be6c1755c76bd428be94ab953dd71fbd2
    • Yaowu Xu's avatar
      Remove CONFIG_TX64X64 · d3d4159f
      Yaowu Xu authored
      The experiment is fully adopted.
      Change-Id: I6cc80a2acf0c93c13b0e36e6f4a2378fe5ce33c3
  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.
      Change-Id: I0230474a50d43b78cb587a2b553da9ca78cec0c6
  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
  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.
      Change-Id: I66a0573c029e7e3d440014842b5d031190d89f89
    • 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.
      Change-Id: I3ec9faef9b6297e22915176067b5704003bc4664
    • 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
      Change-Id: Ia9a22718d330fc4d3d932dbac0723c0522f0c4d1
  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
      Change-Id: I6363e9288fa64cbf90b32887165a33dce686fc00
  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.
      Change-Id: I9d450518a1b898677976acd80088b8ea9ee9d7ce
  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
  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
      this commit merges them into one single macro.
      Change-Id: I69ae484827f4203fbf68f6a26ae5a8f9c051162d
  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
    • 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
    • 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
  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
  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
  25. 07 Dec, 2017 1 commit
  26. 04 Dec, 2017 3 commits