Skip to content
  • John Koleszar's avatar
    Convert subpixel filters to use convolve framework · 7a07eea1
    John Koleszar authored
    Update the code to call the new convolution functions to do subpixel
    prediction rather than the existing functions. Remove the old C and
    assembly code, since it is unused. This causes a 50% performance
    reduction on the decoder, but that will be resolved when the asm for
    the new functions is available.
    There is no consensus for whether 6-tap or 2-tap predictors will be
    supported in the final codec, so these filters are implemented in
    terms of the 8-tap code, so that quality testing of these modes
    can continue. Implementing the lower complexity algorithms is a
    simple exercise, should it be necessary.
    This code produces slightly better results in the EIGHTTAP_SMOOTH
    case, since the filter is now applied in only one direction when
    the subpel motion is only in one direction. Like the previous code,
    the filtering is skipped entirely on full-pel MVs. This combination
    seems to give the best quality gains, but this may be indicative of a
    bug in the encoder's filter selection, since the encoder could
    achieve the result of skipping the filtering on full-pel by selecting
    one of the other filters. This should be revisited.
    Quality gains on derf positive on almost all clips. The only clip
    that seemed to be hurt at all datarates was football
    (-0.115% PSNR average, -0.587% min). Overall averages 0.375% PSNR,
    0.347% SSIM.
    Change-Id: I7d469716091b1d89b4b08adde5863999319d69ff