• David Barker's avatar
    [NORMATIVE-DECODING, intra-edge] Fix bug in is_smooth() · a883e6ea
    David Barker authored
    Because the mbmi pointer passed into is_smooth comes from the above/left
    block, it might be an inter block. If this happens, we correctly deduce
    that the above/left block does not use a smooth intra mode.
    
    However, inter blocks do not set mbmi->uv_mode, so in the UV case we end up
    reading stale data. This may result in is_smooth() returning the wrong value,
    if (whatever was previously written into) mbmi->uv_mode happens to be a
    smooth intra mode.
    
    Fix this by including an explicit check for inter blocks.
    
    BUG=aomedia:1362
    
    Change-Id: I3ec9faef9b6297e22915176067b5704003bc4664
    a883e6ea
reconintra.c 74.7 KB