1. 11 Aug, 2017 3 commits
    • Tom Finegan's avatar
      Sync CMake behavior with configure for CONFIG_WARPED_MOTION. · 660064a9
      Tom Finegan authored
      Disable CONFIG_NCOBMC and CONFIG_NCOBMC_ADAPT_WEIGHT when
      CONFIG_WARPED_MOTION is enabled.
      
      BUG=aomedia:683
      
      Change-Id: Id676daaef89b6364579707ecd16826715b641ac2
      660064a9
    • Tom Finegan's avatar
      Add util function for CMake config changes. · 9bc86c2b
      Tom Finegan authored
      - Add change_config_and_warn(), which basically does
        what it says.
      - Fixed some indent issues.
      - Added doc comment for create_dummy_source_file().
      
      Change-Id: I748eec7ff63bd43af8c7a91be1e734b28f7d43d0
      9bc86c2b
    • Sarah Parker's avatar
      Fix inter path for mrc-tx · de6f072e
      Sarah Parker authored
      A speed feature was causing the rdloop to skip trying
      MRC_DCT. I've disabled that speed feature when mrc-tx
      is enabled and MRC_DCT is allowed for inter blocks.
      
      Change-Id: I0affa5f26465539414b2957f8ff983f718863ef1
      de6f072e
  2. 10 Aug, 2017 13 commits
    • Yunqing Wang's avatar
      Adjust the sample selection in Warped Motion · 9a7c660e
      Yunqing Wang authored
      This CL follows the original one"Sample selection in warped motion", and
      aims to reduce the number of samples gathered. We only search 1 above row
      and 1 left column instead of 1/2 bsize range in each direction. The gain
      is a little less, but not much.
      
      Borg test result:
                   avg_psnr ovr_psnr ssim
      cam_lowres:  -0.225   -0.228  -0.231
      lowres:      -0.081   -0.075  -0.114
      
      The changes are wrapped in WARPED_MOTION_SORT_SAMPLES macro.
      
      Change-Id: Ifb499c80470b2ffe7a40f68fc401589faada7730
      9a7c660e
    • Jingning Han's avatar
      Refactor lv-map rate cost estimation · dfd72323
      Jingning Han authored
      Use the rate cost to replace the probability fetch. This improves
      the encoding speed of level map by 10%. No coding stats change.
      
      Change-Id: Iab0beac5da291eed50f657549667d4edffb4ead8
      dfd72323
    • Angie Chiang's avatar
      Coding path sync: filter packets from encoder. · 7496d66d
      Angie Chiang authored
      We're only interested in AOM_CODEC_CX_FRAME_PKT, but the encoder might
      output packets from other types (e.g when CONFIG_INTERNAL_STATS).
      
      Change-Id: I1c153ca7519067dc82cb76b131b09a537bb37f62
      7496d66d
    • Urvang Joshi's avatar
      Remove PALETTE flag · c6300aa1
      Urvang Joshi authored
      This experiment is now adopted as it was cleared by Tapas.
      
      Note: Palette use can still be controlled by command-line option
      "--tune-content=..." in 'aomenc'.
      
      Change-Id: I832f49f20f60c34bdef5b424755849c496687e87
      c6300aa1
    • hui su's avatar
      Remove skip_eob_node from TOKENEXTRA · 51a95933
      hui su authored
      It's not being used anymore.
      
      Change-Id: I866874dcc5485cf3db8c66e8d3e76ac45193e58c
      51a95933
    • Hui Su's avatar
      Fix unsigned integer overflow warning in quantize_b_helper_c() · b2935188
      Hui Su authored
      Change-Id: Ida42485e3fd44d332d70cb57010a0add2436abfe
      b2935188
    • Hui Su's avatar
      quantize_b_helper_c(): replace left shift with multiplication · ce2e3371
      Hui Su authored
      Fix ubsan test warnings.
      
      Change-Id: I3b5849277c9c8cd387c709238a6453e19705d791
      ce2e3371
    • Alex Converse's avatar
      palette: Templatize k_means routines · 15aa8c01
      Alex Converse authored
      Drops k_means from 15% of profile to 4.2%.
      
      BUG=aomedia:670
      
      Change-Id: I9c60f024abde9112eec8c32ead482f885ed6e57a
      15aa8c01
    • Yi Luo's avatar
      Highbd loop filter AVX2 · 6ae0054c
      Yi Luo authored
      - Speed test (ms) on i7-6700, Linux x86_64
        FUNCTION             SSE2    AVX2
        horizontal_edge_16   55      28
        vertical_16_dual     84      47
        horizontal_4_dual    27      13
        horizontal_8_dual    36      15
        vertical_4_dual      38      25
        vertical_8_dual      44      27
      - Decoder frame rate improves around 1.2% - 2.8%.
      
      Change-Id: I9c4123869bac9b6d32e626173c2a8e7eb0cf49e7
      6ae0054c
    • James Zern's avatar
      cmake: sync w/configure, add CONFIG_HASH_ME · ea71de8a
      James Zern authored
      Change-Id: Iaaeae08d46f26981e4a707cf1dd5af9c5c78d486
      ea71de8a
    • Urvang Joshi's avatar
      Make palette work correctly with chroma sub8x8 blocks. · c9e71d4d
      Urvang Joshi authored
      The problem was that some functions were using scale_chroma_bsize()
      function to turn sub-8x8 'bsize' to 8x8 'bsize', and then the modified
      'bsize' was being passed to rd_pick_intra_sbuv_mode() for example.
      
      In such cases, we cannot rely on the 'bsize' value passed to the
      function; instead, we need to look at the original mbmi->sb_type
      directly.
      
      Also:
      - Added created a common function can_use_palette() to refactor this
      logic into one place.
      - Added more asserts to easily catch such coding errors in future.
      
      BUG=aomedia:688
      
      Change-Id: I2e9f20c8c5fbc4b3ff41b703a91a02758c3c632f
      c9e71d4d
    • Sebastien Alaiwan's avatar
      Move build guard to the build system · 05fb42f6
      Sebastien Alaiwan authored
      Change-Id: I62f7dca3d0d5aa9648c8a444f11f0f2a8bb3845b
      05fb42f6
    • James Zern's avatar
      cosmetics,rdopt.c: fix some typos · 89a015b2
      James Zern authored
      Change-Id: I558106e3e415cbcbb6673d24349daed48b616034
      89a015b2
  3. 09 Aug, 2017 8 commits
    • Rupert Swarbrick's avatar
      Fix build warnings in av1_cx_iface.c · 98cab1a1
      Rupert Swarbrick authored
      aq_mode and deltaq_mode are enums starting at zero so checking they
      are in the range 0..X triggers a clang warning of the form "comparison
      of unsigned enum expression >= 0 is always true".
      
      Change-Id: Ia41d819958ae5a1ac10e6da5550169a2a326bf1a
      98cab1a1
    • Yushin Cho's avatar
      If PVQ is enabled, disable palette · f01b6cc4
      Yushin Cho authored
      Because the palette is not supported by PVQ yet.
      
      Change-Id: If432f5c43d24726ad99161f1f76fa6c28267ca8b
      f01b6cc4
    • Rupert Swarbrick's avatar
      Refactor and generalise OBMC prediction code · 29824a42
      Rupert Swarbrick authored
      When doing OBMC prediction, the code must iterate over the blocks
      above or to the left of the current block. In reconinter.c and
      rdopt.c, there are several pieces of code that do this. These all work
      in roughly the same way, iterating over the xd->mi array (although
      some are written with for loops and others with do/while). To visit
      each neighbouring block exactly once, each of these loops used an
      "mi_step" variable which was set to the width or height of the
      neighbouring block in mi-units and the loop counter got incremented by
      mi_step to jump to the next block.
      
      This patch unifies the code slightly (just using for loops) and
      simplifies it when the CHROMA_SUB8X8 experiment is enabled. In this
      case, chroma information is stored in the bottom right block of each
      8x8 pixel region. That is, if a block has width 4 and an even mi_col,
      the chroma information we need is actually found in the block
      immediately to its right.
      
      The existing code implemented this by bumping the current column or
      row counter (usually mi_col_offset or mi_row_offset) and duplicating
      the first part of the loop body to do it again with the new
      counter. It also had to double mi_step to avoid visiting the next-door
      block again.
      
      The new code essentially just uses the "continue" keyword to restart
      the loop. There's a little more book-keeping required: we might have
      to increment "ilimit", the maximum loop index, to ensure we don't exit
      the loop too early.
      
      The result is hopefully easier to read, but it's also more general (in
      the CHROMA_SUB8X8 case). The existing code assumed the current block
      never had width or height below 8 and thus mi_col and mi_row were
      always even. As such, whenever the neighbouring block had a width or
      height of 4, we knew that we needed to skip to the next neighbouring
      block to get the required chroma information. This version of the code
      can deal with the current block being smaller. The main difference is
      that it decides whether to skip forward by examining the parity of
      (mi_col + i) or (mi_row + i).
      
      This change will be needed for 16x4/4x16 block support.
      
      Change-Id: I39c1bbc00a6e2ad1ac17b8eed3980a8bcc040074
      29824a42
    • Angie Chiang's avatar
      Add additional txfm config check · d9e0e0be
      Angie Chiang authored
      Change-Id: I0b67ad4f37a22812472b191e0a6f1d218430c454
      d9e0e0be
    • Angie Chiang's avatar
      Add txfm config test · 9c7089a9
      Angie Chiang authored
      This test makes sure two things:
      1) txfm stage range is within desired limit
          (lbd:16 bits hbd:32 bits)
      2) txfm stage range + cos bits is within desired limit
          (lbd:32 bits hbd:32 bits)
      
      Change-Id: Ie2cc3c8265810e034c1461def4717fa9d4c29945
      9c7089a9
    • Angie Chiang's avatar
      Calculate the txfm stage range according to bd · ce3ad286
      Angie Chiang authored
      Change-Id: Ie2f83f2f9369a22b70150ba44ddb6f82d6b6b514
      ce3ad286
    • Rupert Swarbrick's avatar
      ext-partition-types: Don't allow 4:1 blocks to use palettes · 6f9cd946
      Rupert Swarbrick authored
      Since there are no CDFs set up for palettes for 4:1/1:4 blocks, we
      should make sure we don't try to use them. Without this patch,
      write_palette_mode_info gets called with a bsize of BLOCK_32X8 and
      reads (and writes) off the end of the palette_y_size_cdf array.
      
      This patch avoids calling it in this context and adds an assertion to
      make sure we don't read off the end of the array in future.
      
      The patch also adds the corresponding logic to rdopt.c.
      
      Change-Id: I4d9aea982d057e305a6b578f35457eada819d38f
      6f9cd946
    • Sebastien Alaiwan's avatar
      Follow coding style naming conventions · 15a11220
      Sebastien Alaiwan authored
      Change-Id: I1456837714323c6cbfd66a47eb5dfa1fe4eeeabd
      15a11220
  4. 08 Aug, 2017 16 commits