package com.iailab.netsdk.lib.enumeration; /** * H264 ç¼–ç 级别 * * @author 47040 * @since Created at 2021/5/26 9:04 */ public enum EM_H264_PROFILE_RANK { /** * æä¾›I/P帧,ä»…æ”¯æŒ progressive(é€è¡Œæ‰«æ)å’Œ CAVLC */ NET_PROFILE_BASELINE(1, "BASELINE"), /** * æä¾›I/P/B帧,æ”¯æŒ progressive å’Œ interlaced,æä¾› CAVLC 或 CABAC */ NET_PROFILE_MAIN(2, "MAIN"), /** * æä¾›I/P/B/SP/SI帧,ä»…æ”¯æŒ progressive (é€è¡Œæ‰«æ)å’Œ CAVLC */ NET_PROFILE_EXTENDED(3, "EXTENDED"), /** * å³ FRExt,Main_Profile基础上新增:8x8 intra prediction(8x8 帧内预测), custom * quaint(自定义é‡åŒ–), lossless video coding(æ— æŸè§†é¢‘ç¼–ç ), 更多的 yuv æ ¼å¼ */ NET_PROFILE_HIGH(4, "HIGH"); private final int value; private final String note; EM_H264_PROFILE_RANK(int givenValue, String note) { this.value = givenValue; this.note = note; } public String getNote() { return note; } public int getValue() { return value; } public static String getNoteByValue(int givenValue) { for (EM_H264_PROFILE_RANK enumType : EM_H264_PROFILE_RANK.values()) { if (givenValue == enumType.getValue()) { return enumType.getNote(); } } return null; } public static int getValueByNote(String givenNote) { for (EM_H264_PROFILE_RANK enumType : EM_H264_PROFILE_RANK.values()) { if (givenNote.equals(enumType.getNote())) { return enumType.getValue(); } } return -1; } public static EM_H264_PROFILE_RANK getEnum(int value) { for (EM_H264_PROFILE_RANK e : EM_H264_PROFILE_RANK.values()) { if (e.getValue() == value) return e; } return EM_H264_PROFILE_RANK.NET_PROFILE_BASELINE; } }