1. 13 Mar, 2017 5 commits
  2. 11 Mar, 2017 4 commits
    • Yaowu Xu's avatar
      change to 32bit read from 64bit read · 57b700a1
      Yaowu Xu authored
      This is to avoid out-of-range memory access.
      
      BUG=aomedia:391
      
      Change-Id: I211ba1992d4f51fcf06cf2961d8cb2606b836207
      57b700a1
    • James Zern's avatar
      av1_rc_update_rate_correction_factors: avoid log(0) · d2c42f03
      James Zern authored
      avoids a floating point error being generated. this doesn't change
      behavior, the -HUGE_VAL return was being ignored due to the min()
      
      BUG=aomedia:388
      
      Change-Id: I698aab248c777b02b60081bb7619e0aa6f3a0ba2
      d2c42f03
    • Fergus Simpson's avatar
      handle_inter_mode: rename opt_args to args · 9f7ca0b7
      Fergus Simpson authored
      The addition of a 2D array to the HandleInterModeArgs struct means there
      is now a non-optional member in the opt_args struct passed to
      handle_inter_mode and its child functions. Since opt_args no longer
      consists solely of optional members I've renamed it args.
      
      Change-Id: I7f3b22188777d8fdac2c244746638c34b5d8636c
      9f7ca0b7
    • Urvang Joshi's avatar
      Correction for ALT_INTRA + EXT_TX combo. · 3a9a5278
      Urvang Joshi authored
      Add extra entries to the 'default_intra_ext_tx_prob' table when
      ALT_INTRA is on.
      
      Change-Id: I1b3d28fa06852b4b7c68b061c44318ec83be77b6
      3a9a5278
  3. 10 Mar, 2017 9 commits
    • Fergus Simpson's avatar
      rdopt: move/remove 2d arrays in pick_inter_mode_sb · 3424c2de
      Fergus Simpson authored
      Two 2D arrays were passed to HandleInterMode and not used elsewhere.
      
      One has been added to the HandleInterModeArgs struct to
      simplify handle_inter_mode's signature and the the calling function.
      
      The other has been unread since commit
      beacb3ff. That patch removed the
      "skip_txfm optimization" but left the single_skippable array in place,
      even though it was no longer read. Since the array's only usage has been
      removed, this patch removes the variable outright.
      
      Change-Id: I6e680a9ddc6f67961153819a62009751252757a8
      3424c2de
    • David Barker's avatar
      Vectorize new highpass filter for loop-restoration · eed824ef
      David Barker authored
      Change-Id: Ibe5d4933f599456cb496f636de244694bc786a4c
      eed824ef
    • Thomas Davies's avatar
      Add a symbol decode call count to accounting. · f7f87ff2
      Thomas Davies authored
      This keeps track of how many calls have been made
      to read symbols or bits. A given syntax element
      may make multiple calls to symbol decoding functions,
      and these variables keep track of the entropy
      decoding engine throughput.
      
      Change-Id: Iab3a720cbfe68f8d5ca3e4c415f7baa683b24268
      f7f87ff2
    • Debargha Mukherjee's avatar
      Replace one self guided filter with highpass · b7bb0976
      Debargha Mukherjee authored
      Adds an option controlled by a macro to replace one of
      the guided filters in the self-guided tool with a simple
      bandpass filtered version generated with a 3x3 kernel.
      By default the macro USE_HIGHPASS_IN_SGRPROJ is 0 (turned
      off), that defaults us to the dual self-guided filter.
      When the macro is turned on, the larger radius guided
      filter is replaced by a simpler filter that is much faster.
      
      Results (if USE_HIGHPASS_IN_SGRPROJ is on vs. off):
      lowres: performance drop by +0.14% (BDRATE)
      midres: performance drop by +0.27% (BDRATE)
      
      Further experiments on this variation of guided filters is
      pending.
      
      Change-Id: I7bbcfcad7ee266cd49a8dc6d96795a454feb1a94
      b7bb0976
    • Yaowu Xu's avatar
      Align a buffer for simd operation · bcf25cda
      Yaowu Xu authored
      BUG=aomedia:387
      
      Change-Id: I11fdc9dbc4b0f4484e82ab1662ac329b8b7f2d6c
      bcf25cda
    • Ryan Lei's avatar
      add 15 tap filter in the parallel_deblocking experiment · 41fc0c66
      Ryan Lei authored
      this change added back the original 15 tap filter from VP9 back into
      the parallel_deblocking experiment. when transform size of both blocks
      along the edge is greater than 16x16, 15 tap filter is used.
      
      Change-Id: Ieae0393b66b1168572292bcebabd2707058b7f1d
      41fc0c66
    • Sebastien Alaiwan's avatar
      Use correct format specifier for 64-bit integers. · 5443ff3a
      Sebastien Alaiwan authored
      Change-Id: I366160220b5f7fe4ea6adb4719c4efeef6a7d6f7
      5443ff3a
    • Sebastien Alaiwan's avatar
      Rename a macro · d16a8365
      Sebastien Alaiwan authored
      Change-Id: I4d6db116692b9a236ae8555e4d4e5d0c403f6c13
      d16a8365
    • Luc Trudeau's avatar
      Uniform way of accessing mbmi in write_tokens_b · 3e32f1ab
      Luc Trudeau authored
      Cosmetic change that moves the declaration of mbmi at the beginning of
      the function. This simplifies access and removes the need for
      (void)mbmi.
      
      Change-Id: Id0f7e1113696200ae6fb98bcc639d1cbdba05a9e
      3e32f1ab
  4. 09 Mar, 2017 6 commits
    • David Barker's avatar
      Add SSE4.1 highbitdepth self-guided filter · 4d2af5db
      David Barker authored
      Performance is very similar to the lowbd path (only 4-5% slower)
      
      Change-Id: Ifdb272c3f6c0e6f41e7046cc49497c72b5a796d9
      4d2af5db
    • Thomas Davies's avatar
      Fix bug with tx_size_coding for EC_ADAPT. · 15580c52
      Thomas Davies authored
      With EC_ADAPT, contexts should be tile-dependent.
      
      Change-Id: I2b714a930ea4661115b1e419d0cb5eefc0ae5362
      15580c52
    • Debargha Mukherjee's avatar
      Clean up unused code in loop-restoration · 4bfd72ee
      Debargha Mukherjee authored
      Removes domain transform recursive filters and non-approximate
      guided filter code.
      
      Change-Id: Ib7ae7a6b6526a0908b3dc1787ab3561442da4e2d
      4bfd72ee
    • Debargha Mukherjee's avatar
      Add restoration tilesize to frame header · 1008c1e7
      Debargha Mukherjee authored
      The restoration tilesize can be now chosen as either 256, 128
      or 64 at the frame header.
      
      Change-Id: I852fc42afedc053484d657bdca522de73aaacd67
      1008c1e7
    • Fergus Simpson's avatar
      rdopt: refactor interpolation_filter_search() · de18e2b5
      Fergus Simpson authored
      The interpolation filter search used to be performed in a code block in
      handle_inter_mode(). This change breaks that code out into its own
      function to reduce the length of handle_inter_mode and ecapsulate its
      functionality, making both functions more readable.
      
      Attention has been paid to make as many arguments constants as can be.
      
      Change-Id: I3fd484137fc0d16a47dba0b18ce0e2b349d24446
      de18e2b5
    • Jingning Han's avatar
      Clean up intra mode writing · f04254ff
      Jingning Han authored
      Refactor the intra mode writing to simplify the interactions
      between cb4x4, ec_adapt, and ec_multisymbol.
      
      Change-Id: I2fd106cd03e4f6d416865893b15292aa42b01281
      f04254ff
  5. 08 Mar, 2017 16 commits
    • Fergus Simpson's avatar
      hbd: remove unused variable "use_hbd" · f80a0581
      Fergus Simpson authored
      The variable "use_hbd" was defined but not used in four places in the
      codebase. The warning that it wasn't used was missed by Jenkins
      because it only tries one experimental flag at a time, but these
      definitions were inside nested experimental flag conditions. Both
      CONFIG_WARPED_MOTION and CONFIG_AOM_HIGHBITDEPTH had to be set for the
      variables to be defined.
      
      This patch deletes the unused definitions to remove the unused variable
      warnings when the AV1 encoder and/or decoder are built with warped
      motion and high bitdepth configured.
      
      Change-Id: I9e80523db05a7a19cebe3ec8085a4a1e4b198c52
      f80a0581
    • Jingning Han's avatar
      Add TODO comments in av1_quantize.c · 5d693481
      Jingning Han authored
      Change-Id: I6db698fc5f9b57071e363c595cb076f6797b722f
      5d693481
    • hui su's avatar
      Code refactoring in adapt-scan · ff0da2b4
      hui su authored
      Change-Id: Ie20bd0b05bbf3128933f10787aade7b63c98b52a
      ff0da2b4
    • Fangwen Fu's avatar
      Remove palette interleave · b3be926a
      Fangwen Fu authored
      * Run 45 degree wavefront coding for palette index
      with palette_throughput experiment.
      * Remove palette index interleave.
      
      Change-Id: Ibb57004401f817dec8b00bc2a941d70a26783ff9
      b3be926a
    • Jingning Han's avatar
      Fix enc/dec mismatch in cb4x4 and ec-multisymbol · 0b7cbe66
      Jingning Han authored
      Change-Id: I75945cd00c71757d06822dd4c11ea800f9218452
      0b7cbe66
    • Yaowu Xu's avatar
      localize the use of CONFIG_DEPENDENT_HORZTILES · 531d6afd
      Yaowu Xu authored
      This commit changes is_inside() function to reduce the code polution
      of CONFIG_DEPENDENT_HORZTILES.
      
      Change-Id: Ic065cc337e0246379d87966a49ddeb48b975c5be
      531d6afd
    • Yaowu Xu's avatar
      Fix an asan failure · 27d158b2
      Yaowu Xu authored
      SIMD convovle functions, such as filter_horiz_v4p_ssse3(), assume that
      10-tap filters are defined using 12 taps with both end taps being 0.
      
      BUG=aomedia:380
      
      Change-Id: Id8a87ae8a1330bed0452441ab8345276857220af
      27d158b2
    • Jingning Han's avatar
      Fix high bd quantization for cb4x4 mode · daf03ee8
      Jingning Han authored
      Use c functions for 2x2 transform block quantization. This fixes
      the enc/dec mismatch issue in cb4x4 mode when high bit-depth is
      turned on.
      
      BUG=aomedia:364
      
      Change-Id: I532db14de9795f04bf296cd9a12c80350350c112
      daf03ee8
    • David Barker's avatar
      Make encoder use vectorized self-guided filter · 506eb723
      David Barker authored
      By rearranging the code in restoration.c, we can allow the
      encoder to use the SSE4.1 version of the self-guided filter
      while picking the loop-restoration filter.
      
      This also helps us prepare for adding a highbitdepth SSE4.1
      version of the self-guided filter.
      
      No effect on encoder output, but gives an end-to-end speedup
      of 1-2%.
      
      Change-Id: Id17ba4a0963ddce9f70a7cae666e212e138d5f2c
      506eb723
    • David Barker's avatar
      Fix a bug in the C selfguided filter · cff43bb2
      David Barker authored
      Patch https://aomedia-review.googlesource.com/c/8321/ introduced
      a bug in the C version of the self-guided filter in the case where
      w = 384 and h > 368 or w > 368 and h = 384. This was due to forgetting
      to adjust the offset between A and B in the C code.
      
      This patch sets the offset correctly, resolving this bug.
      
      Change-Id: I6bdf11aa76c37d0ecae02788b262e7a2e0a11a6e
      cff43bb2
    • David Barker's avatar
      Handle non-multiple-of-4 widths in SSE4.1 self-guided filter · 5765fad5
      David Barker authored
      Adjust the vectorized filter so that it can handle tile widths
      which are not a multiple of 4, so we do not have to fall back
      to the C version of the filter.
      
      Negligible speed impact for tiles with widths which are multiples
      of 4, and greatly improves speed on tiles with non-multiple-of-4
      widths.
      
      Change-Id: Iae9d14f812c52c6f66910d27da1d8e98930df7ba
      5765fad5
    • Sarah Parker's avatar
      Fix compile warnings for ext-tx + ec-adapt · e2e591c7
      Sarah Parker authored
      Change-Id: If45e46d6459cddecca3d11b64fc73ff26c291a13
      e2e591c7
    • Alex Converse's avatar
      loop_restoration: Prevent some wild memory access · 1511ea10
      Alex Converse authored
      On recode frames the encoder will attempt to serialize the bitstream
      before choosing loop filter parameters to get a rough size estimate.
      This can result in wild reads in encode restoration if leftover values
      from the previous frame aren't available.
      
      Even with a realloc instead of free-ing and reallocing all the data,
      wild reads are possible on frame size changes.
      
      Change-Id: I9956d9e11c6ed61999563436051c2fe469718538
      1511ea10
    • Fergus Simpson's avatar
      rdopt: fix wrong #endif · 0b96b479
      Fergus Simpson authored
      The comment after the affected #endif was incorrect. This patch updates
      it so that it reflects the condition that it ends.
      
      Change-Id: Ib5c39a9444e72b2582301d9e4b03d3c56f9cf304
      0b96b479
    • Thomas Daede's avatar
      Fix accounting when PVQ is enabled. · e1227d5f
      Thomas Daede authored
      Change-Id: I87474e058563d737bbad47d14e398c6090b4486c
      e1227d5f
    • Fergus Simpson's avatar
      handle_inter_mode: add handle_newmv() · 4550963b
      Fergus Simpson authored
      Refactors newmv handling code in handle_inter_mode into its own
      function. This makes handle_inter_mode shorter and easier to
      understand.
      
      Change-Id: I152a61ee8a7f323936b4a772f14f8e286724443d
      4550963b