Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2985773c authored by James Dong's avatar James Dong Committed by Android (Google) Code Review
Browse files

Merge "Fix an error to deal with 0-size nal units in some AVC files"

parents 3bd45591 c84b947d
Loading
Loading
Loading
Loading
+8 −15
Original line number Original line Diff line number Diff line
@@ -1337,21 +1337,8 @@ M4OSA_ERR H264MCS_ProcessSPS_PPS( NSWAVC_MCS_t *instance, M4OSA_UInt8 *inbuff,
    M4OSA_DEBUG_IF2((M4OSA_NULL == instance), M4ERR_PARAMETER,
    M4OSA_DEBUG_IF2((M4OSA_NULL == instance), M4ERR_PARAMETER,
        "H264MCS_ProcessSPS_PPS: instance is M4OSA_NULL");
        "H264MCS_ProcessSPS_PPS: instance is M4OSA_NULL");


    switch( instance->m_pDecoderSpecificInfo[4] & 0x3 )
    instance->m_Num_Bytes_NALUnitLength =
    {
            (instance->m_pDecoderSpecificInfo[4] & 0x03) + 1;
        case 0:
            instance->m_Num_Bytes_NALUnitLength = 1;
            break;

        case 1:
            instance->m_Num_Bytes_NALUnitLength = 2;
            break;

        case 3:
            //Note: Current code supports only this...
            instance->m_Num_Bytes_NALUnitLength = 4;
            break;
    }


    instance->m_encoder_SPS_Cnt = instance->m_pDecoderSpecificInfo[5] & 0x1F;
    instance->m_encoder_SPS_Cnt = instance->m_pDecoderSpecificInfo[5] & 0x1F;


@@ -1428,6 +1415,12 @@ M4OSA_ERR H264MCS_ProcessSPS_PPS( NSWAVC_MCS_t *instance, M4OSA_UInt8 *inbuff,
                break;
                break;
        }
        }


        if (nal_size == 0) {
            M4OSA_TRACE1_1("0 size nal unit at line %d", __LINE__);
            frame_size += instance->m_Num_Bytes_NALUnitLength;
            continue;
        }

        p_bs->bitPos = 0;
        p_bs->bitPos = 0;
        p_bs->lastTotalBits = 0;
        p_bs->lastTotalBits = 0;
        p_bs->numBitsInBuffer =
        p_bs->numBitsInBuffer =