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

Commit df71b274 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "mpeg4dec: Add support for Simple Profile Level 6" am: 44a9fc56 am: 6eef165f

parents f64db813 6eef165f
Loading
Loading
Loading
Loading
+48 −17
Original line number Original line Diff line number Diff line
@@ -107,27 +107,58 @@ PV_STATUS DecodeVOLHeader(VideoDecData *video, int layer)
#ifndef PV_TOLERATE_VOL_ERRORS
#ifndef PV_TOLERATE_VOL_ERRORS
        if (layer)                                                      /*    */
        if (layer)                                                      /*    */
        {
        {
            /* support SSPL0-2  */
            switch (tmpvar)
            if (tmpvar != 0x10 && tmpvar != 0x11 && tmpvar != 0x12 &&
            {
                    tmpvar != 0xA1 && tmpvar != 0xA2  && tmpvar != 0xA3/* Core SP@L1-L3 */)
                /* Simple Scalable Profile Levels */
                case 0x10:
                case 0x11:
                case 0x12:
                /* Core Scalable Profile Levels */
                case 0xA1:
                case 0xA2:
                case 0xA3:
                    // Do Nothing, the cases listed above are supported values
                    break;
                default:
                    // Unsupport profile level
                    return PV_FAIL;
                    return PV_FAIL;
              }
              }
        }
        else
        else
        {
        {
            /* support SPL0-3 & SSPL0-2   */
            switch (tmpvar)
            if (tmpvar != 0x01 && tmpvar != 0x02 && tmpvar != 0x03 && tmpvar != 0x08 &&
            {
                    /* While not technically supported, try to decode SPL4&SPL5 files as well. */
                /* Simple Profile Levels */
                    /* We'll fail later if the size is too large.  This is to allow playback of */
                case 0x01:
                    /* some <=CIF files generated by other encoders. */
                case 0x02:
                    tmpvar != 0x04 && tmpvar != 0x05 &&
                case 0x03:
                    tmpvar != 0x10 && tmpvar != 0x11 && tmpvar != 0x12 &&
                case 0x04:
                    tmpvar != 0x21 && tmpvar != 0x22 &&  /* Core Profile Levels */
                case 0x05:
                    tmpvar != 0xA1 && tmpvar != 0xA2 && tmpvar != 0xA3 &&
                case 0x06:
                    tmpvar != 0xF0 && tmpvar != 0xF1 && /* Advanced Simple Profile Levels*/
                case 0x08:
                    tmpvar != 0xF2 && tmpvar != 0xF3 &&
                case 0x10:
                    tmpvar != 0xF4 && tmpvar != 0xF5)
                case 0x11:
                case 0x12:
                /* Core Profile Levels */
                case 0x21:
                case 0x22:
                case 0xA1:
                case 0xA2:
                case 0xA3:
                /* Advanced Simple Profile Levels*/
                case 0xF0:
                case 0xF1:
                case 0xF2:
                case 0xF3:
                case 0xF4:
                case 0xF5:
                    // Do Nothing, the cases listed above are supported values
                    break;
                default:
                    // Unsupport profile level
                    return PV_FAIL;
                    return PV_FAIL;
            }
            }
        }
#else
#else
        profile = tmpvar;
        profile = tmpvar;
#endif
#endif