Skip to content
  • Alexander Voronov's avatar
    Fix invalid memory access on 2x downscale. · 29071a41
    Alexander Voronov authored
    The issue was discovered on bitstream with 2x vertical downscale. For
    zero MVs, y_pad is set to 1 only when vertical convolution is
    required. The original code assumes that for y_step_q4 == 32 we don't
    perform vertical convolution. But vp9_setup_scale_factors_for_frame()
    sets convolve functions so that when x_step and y_step are both not
    equal to 16, convolve in both directions is performed. And convolve()
    unconditionally subtracts one stride from source pointer when calls
    convolve_horiz(). This leads to invalid memory access.
    
    Change-Id: I882dfa6081a58e172b5ffa55842bfcd6727f10bf
    29071a41