tree 5901c5931c1262db3c56b97502938666be6e3e91
parent 85f88f85ec164d89a1494d2468c14f8fed2cbf90
author Wan-Teh Chang <wtc@google.com> 1598400252 -0700
committer Wan-Teh Chang <wtc@google.com> 1598465398 +0000

Make is_obu_in_current_operating_point match spec

Make the is_obu_in_current_operating_point() function match the spec.
The corresponding part of the spec is the following in Section 5.3.1
(General OBU syntax):

    if ( obu_type != OBU_SEQUENCE_HEADER &&
        obu_type != OBU_TEMPORAL_DELIMITER &&
        OperatingPointIdc != 0 &&
        obu_extension_flag == 1 )
    {
        inTemporalLayer = (OperatingPointIdc >> temporal_id ) & 1
        inSpatialLayer = (OperatingPointIdc >> ( spatial_id + 8 ) ) & 1
        if ( !inTemporalLayer || ! inSpatialLayer ) {
            drop_obu( )
            return
        }
    }

Also pass obu_header to is_obu_in_current_operating_point() by reference
instead of by value.

BUG=aomedia:2794

Change-Id: Id4cb85fdc23eed6c1fb6c01b3bdf93cbecff4ceb
