| 791 | } |
| 792 | |
| 793 | const SLevelLimits* GetLevelLimits (int32_t iLevelIdx, bool bConstraint3) { |
| 794 | switch (iLevelIdx) { |
| 795 | case 9: |
| 796 | return &g_ksLevelLimits[1]; |
| 797 | case 10: |
| 798 | return &g_ksLevelLimits[0]; |
| 799 | case 11: |
| 800 | if (bConstraint3) |
| 801 | return &g_ksLevelLimits[1]; |
| 802 | else |
| 803 | return &g_ksLevelLimits[2]; |
| 804 | case 12: |
| 805 | return &g_ksLevelLimits[3]; |
| 806 | case 13: |
| 807 | return &g_ksLevelLimits[4]; |
| 808 | case 20: |
| 809 | return &g_ksLevelLimits[5]; |
| 810 | case 21: |
| 811 | return &g_ksLevelLimits[6]; |
| 812 | case 22: |
| 813 | return &g_ksLevelLimits[7]; |
| 814 | case 30: |
| 815 | return &g_ksLevelLimits[8]; |
| 816 | case 31: |
| 817 | return &g_ksLevelLimits[9]; |
| 818 | case 32: |
| 819 | return &g_ksLevelLimits[10]; |
| 820 | case 40: |
| 821 | return &g_ksLevelLimits[11]; |
| 822 | case 41: |
| 823 | return &g_ksLevelLimits[12]; |
| 824 | case 42: |
| 825 | return &g_ksLevelLimits[13]; |
| 826 | case 50: |
| 827 | return &g_ksLevelLimits[14]; |
| 828 | case 51: |
| 829 | return &g_ksLevelLimits[15]; |
| 830 | case 52: |
| 831 | return &g_ksLevelLimits[16]; |
| 832 | default: |
| 833 | return NULL; |
| 834 | } |
| 835 | return NULL; |
| 836 | } |
| 837 | |
| 838 | bool CheckSpsActive (PWelsDecoderContext pCtx, PSps pSps, bool bUseSubsetFlag) { |
| 839 | for (int i = 0; i < MAX_LAYER_NUM; i++) { |