1. 12 Dec, 2017 18 commits
    • Jingning Han's avatar
      Make mv storage independent of ref frame index · 707f8321
      Jingning Han authored
      The motion vector storage location in the reference frame is set
      to be dependent on the relative frame position, instead of the
      reference frame index.
      Change-Id: Id8f7d1e6ba32a5ed9e182194178fd2a70094a309
    • Urvang Joshi's avatar
      AV1InvTxfm2d.RunRoundtripCheck: Add TX64X64 test. · 0e301ba4
      Urvang Joshi authored
      Small related fix in the test itself.
      Change-Id: I4a2d9c096e691e6b1a7aa9e4df93752aed8c0935
    • Urvang Joshi's avatar
      AV1FwdTxfm2d.RunFwdAccuracyCheck: Add TX64X64 test. · 7235992f
      Urvang Joshi authored
      Also, updated the reference 2D transform function for this to zero out
      3/4th of the coeffs and repack the 1/4th non-zeros.
      Change-Id: I3dd091689a080e45db0ac4bb2595e705b63f9649
    • Urvang Joshi's avatar
      AV1FwdTxfm2d.CfgTest: Add 1:2 and 1:4 transforms. · 88710445
      Urvang Joshi authored
      Change-Id: I4f9ae1bbc44517313494aeba68d7aab8596e92d0
    • Rupert Swarbrick's avatar
      Remove parameter from av1_loop_restoration_filter_frame · 70c399e4
      Rupert Swarbrick authored
      At both callsites, the "rsi" parameter is the rst_info field from cm,
      which is already passed.
      Change-Id: I837ac655a03ebf0de6fbdaece4f4910f750e4898
    • Rupert Swarbrick's avatar
      Remove optimization from av1_loop_restoration_filter_frame · 0f560c89
      Rupert Swarbrick authored
      This is done at the two call sites (where it's needed to avoid saving
      lines unnecessarily for striped loop restoration context), so there's
      no need to repeat it here.
      Change-Id: I11e1ed5f50711fe1b4e8cb2101d3bfb4d16cda57
    • Rupert Swarbrick's avatar
      Simplify prototype of av1_loop_restoration_filter_frame · 25c57d2b
      Rupert Swarbrick authored
      This is always called with all components and no destination buffer.
      Change-Id: I76d1a16a87e05b8ecec387288139e846e9894384
    • Rupert Swarbrick's avatar
      Fix calculation of tx_type cost for rectangular transforms · ffbff57d
      Rupert Swarbrick authored
      This patch fixes up av1_tx_type_cost to match the code in
      av1_write_tx_type. Beforehand, we wrongly assumed a 32x16 block needed
      to signal its transform size (with rect-tx-ext & rect-tx-ext-intra)
      because we were passing 16x16 to get_ext_tx_types.
      I've also changed av1_write_tx_type to use get_min_tx_size rather than
      inlining its body. No functional change, but it's probably better to
      use the same helper function both times.
      Change-Id: Iff6ee0bff2d332d5270fe0219db88c95e0b051d0
    • Cheng Chen's avatar
      Make lpf_sb work with loopfilter_level · 765e34e3
      Cheng Chen authored
      Make lpf_sb compatible with loopfilter_level, when USE_GUESS_LEVEL = 1.
      Filter levels will be selected based on q index and applied for
      filtering on Y, U, V planes separately.
      Current model only allows to guess one filter level.
      Now Y_vert = Y_horz = U = V. In the future, we need to retrain the
      model and get filter levels for Y_vert, Y_horz, U and V separately.
      When USE_GUESS_LEVEL = 0, lpf_sb can't work with loopfilter_level yet.
      Change-Id: Icd774a147c07a4035cf8204a8754b2a99668bbfd
    • Jingning Han's avatar
      Simplify logics in select_tx_type_yrd · 13c42779
      Jingning Han authored
      Remove unnecessary inter / intra condition check.
      Change-Id: I51b776a3df6ce45b31fe3d2f43fbf6ca7b1d14fb
    • Rupert Swarbrick's avatar
      Fix apparent typo in av1_rd_pick_inter_mode_sb · 6f14969a
      Rupert Swarbrick authored
      We should be selecting a transform size when tx_mode is TX_MODE_SELECT
      and we're not lossless. (In lossless mode, the transform size is
      forced to be TX_4X4).
      Change-Id: I65b346fb2116689598e2251e97897be91f481ceb
    • Rupert Swarbrick's avatar
      Use block_signals_txsize() in two more places · 8e5b39a1
      Rupert Swarbrick authored
      The change in encodeframe.c has no effect (it's the same test), but
      the change in rdopt.c fixes a miscalculated rate for (say) 8x4 blocks
      which must signal whether to use TX_8X4 or TX_4X4.
      Change-Id: I1dd2556bb90e86e690dd1fabaad278813ba73ea6
    • Yue Chen's avatar
      Remove dead code for old rect_tx_ext · 083ca72d
      Yue Chen authored
      Change-Id: Ifa3b55d9c8022a66b6c0b1a15d3e8943cd7c69e6
    • Zoe Liu's avatar
      Add a new experiment flag FWD_KEY · 1f1fada0
      Zoe Liu authored
      This experiment is to explore the use of a forward-coded KEY_FRAME
      as a backward prediction reference frame, for the coding of all other
      frames in the current Golden-Frame (GF) group.
      Change-Id: I9ebef9ffef4191fbb24a6cd92b819db390537471
    • Cheng Chen's avatar
      LPF_SB: set row delay to work with intrabc · f18ba021
      Cheng Chen authored
      Intrabc search area can't use pixels of the last 8 rows in the current
      superblock row. Add a delay so that lpf_sb can work with intrabc.
      Let lpf_sb on with intrabc while other loop filtering off (cdef, loop
      Change-Id: I98ab093a17096387b6233182da2656f90dfa09eb
    • Hui Su's avatar
      tx rd hash: store parent indices in mi resolution · cdb8983f
      Hui Su authored
      Change-Id: Ia069373be864cae7a283bce3d12ee10270e6beb3
    • Hui Su's avatar
      enable skip prediction for large blocks · 00966436
      Hui Su authored
      This patch enables the skip prediction feature for blocks larger than
      16x16; but the tx size used in this module is still limited to 16x16.
      Also makes it exit early upon large quantized coeff.
      Test results:
      -encoding speed up by 0~17%, on average 8.6%, based on several lowres
      test sequences;
      -no quality loss observed, encoding 30 frames on lowres and midres.
      Change-Id: Ic2051a978eda5c8ce6a795a9d97d8d114c6edfe2
    • Angie Chiang's avatar
      Put tx_type check into txk_sel config · 5f0cb5eb
      Angie Chiang authored
      Change-Id: I47a5eda017fe0d2592411eab621934eabeae7aa4
  2. 11 Dec, 2017 15 commits
  3. 10 Dec, 2017 7 commits
    • Yushin Cho's avatar
      [dist-8x8] Fix for other chroma formats than 4:2:0 · ecab98b5
      Yushin Cho authored
      Instead of applying different offsets for each of quadri-split, horizontal split,
      vertical split, store the start addresses of src and dst 8x8 blocks in each of
      YUV palnes then pass it to distortion compute function for dist-8x8, dist_8x8_yuv().
      Also, don't save decoded pixels for 8x8 block in additinal buffer but directly
      access the xd->dst buffer. Thus removed the decoded-8x8[8x8] buffer in struct macroblock.
      However, this patch does NOT fix the case where dist-8x8's assert fails with
      CfL enabled.
      Fix part of issue (i.e. 4:4:4 chroma iput) in
      Change-Id: I6399d0eef3e17cacc9ec6467480a7959c85d419b
    • Zoe Liu's avatar
      Enable skip mode work with JNT_COMP · 50c810d5
      Zoe Liu authored
      This patch updates also the default cdfs for skip mode. It also remove
      the unneeded checking on whether the best obtained RD mode aligned
      with the skip mode.
      For 30 frames, on both AWCY and Google lowres/midres test sets, with
      the following config, the coding gain ranges from ~-0.15% to -0.23%:
      --disable-ext-partition --disable-ext-partition-types --disable-txmg
      --enable-jnt-comp --enable-mfmv
      Change-Id: I39aeeb9e7b27ca679c1b3f9c0eea67b5e1f694e2
    • Debargha Mukherjee's avatar
      Make set_txfm_ctx aware of 4:1 transforms · 59eaa51d
      Debargha Mukherjee authored
      This change was missing before.
      Change-Id: Ie8aecb8d51284b32a02d76f6f3de5f1c77a5f692
    • Debargha Mukherjee's avatar
      Refine/clean up scan orders · df117ee0
      Debargha Mukherjee authored
      Inter scan orders for 4x4, 8x8, 16x16 are modified to use
      row/col scans for DCT_ADST combinations.
      New 4:1 transforms 4x16/16x4 use row col scans
      for DCT_ADST combinations.
      The h2, v2, qtr scans are removed for 32x32, since they are
      not used.
      Change-Id: I4dab6b111858e14b3c5b92b5c46124c69e06808d
    • Imdad Sardharwalla's avatar
      Monochrome control now in colorspace header · 317002fb
      Imdad Sardharwalla authored
      The monochrome bit has been removed from the end
      of the sequence header.
      Monochrome is now coded as a type of colorspace.
      Encode in monochrome by using
        aomenc --color-space=monochrome ...
      Change-Id: I9550de58eb3d67dae0eb651697cb63dc8b137931
    • Steinar Midtskogen's avatar
      CDEF: Add an early exit test at the decoder · 0687d3e9
      Steinar Midtskogen authored
      This should give a slight speed-up for streams with CDEF disabled,
      since it avoids having to test the same for every filter block.
      Change-Id: I7f3f2ddfe5414ed1b4b6aafb5e28ae61df2cb79e
    • Hui Su's avatar
      TX block hash: record the eob value · 8c2b913b
      Hui Su authored
      Change-Id: I0871c67d9a2ddc6aa9d3084f645305f6b74a999f