1. 26 Oct, 2017 3 commits
    • Debargha Mukherjee's avatar
      Adjust lag_in_frames to not use more than needed · 6141cc8b
      Debargha Mukherjee authored
      Change-Id: I8a78ed1342c0066c3fef591d7c6749308044f305
      6141cc8b
    • Urvang Joshi's avatar
      Rectify size calculation for SUPERRES_QTHRESH. · 28983f72
      Urvang Joshi authored
      Change-Id: Iecc0e8f99bda8b79b5ca8152bddbfb4c10bc04e6
      28983f72
    • Nathan E. Egge's avatar
      Fix a bug in the DAALA_TX 4-point DST functions. · b634e7ed
      Nathan E. Egge authored
      The OD_FDST_4() and OD_IDST_4() macros were written for use in the
       OD_FDCT_8_ASYM macro which took asymmetrically scaled input and
       after running an asymmetric butterfly step, passed it through to
       the 4-point Type-II DCT and 4-point Type-IV DST.
      Because the DST implementations were never tested as stand alone
       transforms, some of the signs from the butterfly step ended up inside
       the DST macros.
      These extra operations will be addressed in a follow up patch.
      
      Change-Id: I5ad1dee7b903d3a6dc3d512ae430841244851bc0
      b634e7ed
  2. 25 Oct, 2017 26 commits
    • Yaowu Xu's avatar
      Convert to uint32_t before left shift · ad80858b
      Yaowu Xu authored
      This avoids undefined behavior when a byte is left shift by 24.
      
      BUG=aomedia:932
      
      Change-Id: If84c65a5e28f443424f416342be870e483622c33
      ad80858b
    • Yushin Cho's avatar
      Add delta_q support to inspector · c24351c0
      Yushin Cho authored
      Change-Id: Idfc8ebee2325ab51d962efa5846d54db3e139c23
      c24351c0
    • Cheng Chen's avatar
      JNT_COMP: 2. assign proper weigths in rdopt · efc55fd9
      Cheng Chen authored
      Change-Id: I255be6e0193dd6b91424ce53ed41aeaaeb1c01a7
      efc55fd9
    • Cheng Chen's avatar
      Change config dependency of loopfilter_level · e5cfa6f7
      Cheng Chen authored
      Loopfilter_level depends on var_tx and parallel_deblocking.
      Change configue to ensure dependency.
      
      Change-Id: I11e3c8ddf7910fbb7252a5f8dbc49f24ad079841
      e5cfa6f7
    • Michael Bebenita's avatar
      Make put_block_info more generic. · 14e1b74e
      Michael Bebenita authored
      Change-Id: If54a9c22f3d6f94e0f706ac7d8ac77a376014df9
      14e1b74e
    • Yushin Cho's avatar
      Fix compile warnings with inspector · f674157f
      Yushin Cho authored
      Change-Id: I055c0f23f4edf71cb01b72e573f0949e53f72dd1
      f674157f
    • Jingning Han's avatar
      Fix reference frame mvs access · 058d0889
      Jingning Han authored
      Resolve an enc/dec mismatch issue when tmv is off and mfmv is on.
      
      Change-Id: Ia64005acd85f51d3162baafab1540095ad06187d
      058d0889
    • Rupert Swarbrick's avatar
      Make space for palette tokens in get_token_alloc · ce63e838
      Rupert Swarbrick authored
      The previous computation only had space for transform
      coefficients.
      
      BUG=aomedia:959
      
      Change-Id: I9abd5a39cce9b2254bbdaf27e91a9ed4ee2b3c75
      ce63e838
    • Sebastien Alaiwan's avatar
      av1_rtcd_defs.pl: deduplicate HBD/LBD · 27427722
      Sebastien Alaiwan authored
      There's no change to the generated file.
      
      Change-Id: I77e9d78d22d084bc77dbf1dc5b8b99368cd2444e
      27427722
    • Yue Chen's avatar
      Optimizations for filter_intra · 57b8ff68
      Yue Chen authored
      Reduce number of modes from 10 to 6, and disable fi modes in UV.
      To reduce complexity, apply filter directly without subtracting
      the estimated means.
      
      Change-Id: Iaf78d92d31e4a7cc30ea7863b57a9611c5f503e6
      57b8ff68
    • Ola Hugosson's avatar
      striped_loop_restoration bug fixes · 54671902
      Ola Hugosson authored
      * The above/below buffers did not fit the extra replication pixels to the right and left
      * The wiener filter stripe has to be at least 4 pixel high (because of the
        split into above/mid/below parts)
      
      Change-Id: I360bef114c7ceb439e11b76bd4724af15e051348
      54671902
    • David Michael Barr's avatar
      [CFL] Switch to txfm_rd_in_plane in alpha search · 1f8d0950
      David Michael Barr authored
      This is more precise than the dist functions it replaces.
      
      Results on Subset1 (compared with previous commit with CfL enabled)
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0634 | -0.9188 | -0.9429 |   0.0609 | 0.0722 |  0.0593 |    -0.3226
      
      Change-Id: I955a7d7eceea50482edb40b0d1041b300e3c9042
      1f8d0950
    • David Barker's avatar
      Fix comment after #endif · 29597c49
      David Barker authored
      There was a '#endif' line marked with the wrong condition; change
      it to match the corresponding '#if' line.
      
      Change-Id: Ie0dee720ebf037e2ddfd17705d9279a57ac3a9cf
      29597c49
    • Sebastien Alaiwan's avatar
      Remove dead struct member · dea4d313
      Sebastien Alaiwan authored
      Change-Id: Id228c94fbe6005ac37a59bb8c23cfb0f95f97af0
      dea4d313
    • Rupert Swarbrick's avatar
      Avoid UB from misaligned loads/stores in loopfilter code · 129afee7
      Rupert Swarbrick authored
      This patch changes 32 bit loads and stores (which did trigger
      undefined behaviour when the pointer wasn't aligned) to use the
      xx_storel_32 synonym. This should also just generate a MOVD and is
      less verbose to boot!
      
      The patch also changes store_buffer_horz_8 to take its SSE register by
      value rather than by pointer. The most restrictive ABI for passing SSE
      registers by value is win32, where you can pass at most 3. There's
      only one here, so it should be fine.
      
      BUG=aomedia:912
      
      Change-Id: I6d75803e57da090db59eedad902bd27908eb5118
      129afee7
    • Rupert Swarbrick's avatar
      Avoid UB from misaligned loads in variance_sse2.c · d2dea66b
      Rupert Swarbrick authored
      The undefined behaviour came from READ64, whose loads compile to a
      MOVD but which is technically incorrect if p is misaligned. This patch
      rewrites it, and the other loads and stores in the file, to use the
      xx_* functions from synonyms.h
      
      BUG=aomedia:912
      
      Change-Id: Ic2fae623ef3b609dacd0a830a7cc63653291202f
      d2dea66b
    • Rupert Swarbrick's avatar
      Avoid UB from misaligned loads in selfguided_sse4.c · 84ffea31
      Rupert Swarbrick authored
      This follows on from the previous patch, which corrects xx_loadl_32
      for misaligned addresses. Calls to xx_loadl_32 in selfguided_sse4.c
      are all followed by a zero-extend, so this patch packages the two into
      the inlinable functions xx_load_extend_8_16 and xx_load_extend_8_32.
      
      There were also some hand-rolled loads (which matched the old body of
      xx_loadl_32 and weren't strictly correct when the pointer was
      misaligned). This patch fixes them up to use xx_load_extend_8_32.
      
      BUG=aomedia:912
      
      Change-Id: I9c76dd4f41baa1343149aa9c432218a17df8b415
      84ffea31
    • Rupert Swarbrick's avatar
      Avoid UB in xx_loadl/storel_32 helper functions · be0aa4ad
      Rupert Swarbrick authored
      The previous code dereferenced a uint32_t * that might be misaligned,
      which is technically undefined behaviour in C. This version uses the
      right (cryptically named) Intel intrinsics to generate a MOVD without
      making any claims about the alignment of the pointer.
      
      BUG=aomedia:912
      
      Change-Id: Ic51679b9f9ed4d2476e69da70f40b2d599cbc6b0
      be0aa4ad
    • Jingning Han's avatar
      Reduce the MFMV_STACK_SIZE value · 380e37cd
      Jingning Han authored
      Drop it from 4 to 3 to reflect the actual use case.
      
      Change-Id: Ifdadaf053153c21b4b4fef40a3298a557fd2ef92
      380e37cd
    • Jingning Han's avatar
      Re-arrange the tpl_mvs stack order · 71da481d
      Jingning Han authored
      Check the availability of motion field from the ARF frame first.
      
      Change-Id: I8adce9e604344ee860b5015ff6c755f173886678
      71da481d
    • Jingning Han's avatar
      Reduce the actual tpl_mvs stack size · 406591c2
      Jingning Han authored
      Guarantee that the tpl_mvs stack size is 3 regardless if ALT2 will
      be deprecated.
      
      Change-Id: Ic8d19150051f87a4cfb25709feb4151b1e09a3e0
      406591c2
    • Rupert Swarbrick's avatar
      Define av1_foreach_rest_unit_in_frame · 33ed9e69
      Rupert Swarbrick authored
      This is the last stage in a quest to move all knowledge of the layout
      of restoration units across the frame into restoration.c. Now this is
      done, we can change how they are laid out (to split them properly at
      tile boundaries) without having to change code in any other file.
      
      Change-Id: Id5108d787d342f5070580d0e34d84b5ddcc53a86
      33ed9e69
    • Rupert Swarbrick's avatar
      Simplify the search in pickrst.c · 1a96c3f5
      Rupert Swarbrick authored
      The end results should be essentially the same, except hopefully a
      little better because the previous code got the costing slightly
      wrong if there were multiple tiles.
      
      The code was doing something quite complicated to search for the best
      restoration types; this patch makes it much simpler. Basically,
      av1_pick_filter_restoration loops over the planes in the image. For
      each plane, it loops over the possible restoration types, calling
      search_rest_type for each one.
      
      search_rest_type iterates over the restoration units in the image,
      resetting the current context on tile boundaries and calling
      search_<rest_type> for each restoration unit.
      
      The search_norestore function just computes the SSE error with no
      restoration. The search_wiener and search_sgrproj functions compute
      the best set of coefficients and then the resulting SSE error with
      those coefficients (ignoring the bit cost, so the result can be
      re-used for switchable restoration).
      
      In all cases but search_norestore, the search function has to decide
      what restoration type is best for each restoration unit. For example,
      search_wiener could choose to enable or disable Wiener filtering on
      this unit.
      
      Eventually, search_rest_type calculates the RDCOST after summing bit
      rates and SSE errors over the restoration units. This cost gets
      returned to av1_pick_filter_restoration which can then choose the best
      frame-level restoration type.
      
      Change-Id: I9bc17eb47cc46413adae749a43a440825c41bba6
      1a96c3f5
    • Linfeng Zhang's avatar
      Remove unused get_level_count() and get_mag() · a29cef91
      Linfeng Zhang authored
      Change-Id: I5df23dd4106ff18747116d083423da3bdf300c7a
      a29cef91
    • Tom Finegan's avatar
      Remove vestigial cruft from CONFIG_RESTRICT_COMPRESSED_HDR. · 28ab67ec
      Tom Finegan authored
      BUG=aomedia:870
      
      Change-Id: I7bc1b502ab403d761f96ea1f81b0217cb1f274d6
      28ab67ec
    • Jonathan Matthews's avatar
      lv_map - ensure coeffs don't overflow in highbitdepth modes · 14195f42
      Jonathan Matthews authored
      BUG=aomedia:954
      BUG=aomedia:956
      
      Change-Id: Idc292c524bc3fea2a8a0e003d1a4cc9ae5799bd1
      14195f42
  3. 24 Oct, 2017 11 commits