libgpac
Documentation of the core library of GPAC
Constants

Constants. More...

+ Collaboration diagram for Constants:

Macros

#define GF_4CC(a, b, c, d)   ((((u32)a)<<24)|(((u32)b)<<16)|(((u32)c)<<8)|(d))
 
#define GF_AUDIO_CH_SCREEN_EDGE_LEFT   0x2000000000ULL
 
#define GF_AUDIO_CH_SCREEN_EDGE_RIGHT   0x4000000000ULL
 
#define GF_AUDIO_CH_BACK_SURROUND_LEFT   0x20000000000ULL
 
#define GF_AUDIO_CH_BACK_SURROUND_RIGHT   0x40000000000ULL
 
#define GF_HLS_SAMPLE_AES_SCHEME   GF_4CC('s','a','e','s')
 
#define GF_RTP_TX3G_SIDX_OFFSET   129
 
#define RFC6381_CODEC_NAME_SIZE_MAX   100
 
#define GF_ISOM_UDTA_GPAC_SRD   GF_4CC('G','S','R','D')
 
#define GPAC_VERSION
 GPAC Version. More...
 
#define GPAC_VERSION_MAJOR   12
 
#define GPAC_VERSION_MINOR   16
 
#define GPAC_VERSION_MICRO   0
 

Enumerations

enum  {
  GF_STREAM_UNKNOWN = 0 , GF_STREAM_OD = 0x01 , GF_STREAM_OCR = 0x02 , GF_STREAM_SCENE = 0x03 ,
  GF_STREAM_VISUAL = 0x04 , GF_STREAM_AUDIO = 0x05 , GF_STREAM_MPEG7 = 0x06 , GF_STREAM_IPMP = 0x07 ,
  GF_STREAM_OCI = 0x08 , GF_STREAM_MPEGJ = 0x09 , GF_STREAM_INTERACT = 0x0A , GF_STREAM_IPMP_TOOL = 0x0B ,
  GF_STREAM_FONT = 0x0C , GF_STREAM_TEXT = 0x0D , GF_STREAM_ND_SUBPIC = 0x38 , GF_STREAM_PRIVATE_SCENE = 0x20 ,
  GF_STREAM_METADATA = 0x21 , GF_STREAM_ENCRYPTED = 0xE0 , GF_STREAM_FILE = 0xE1
}
 Supported media stream types. More...
 
enum  GF_PixelFormat {
  GF_PIXEL_GREYSCALE = GF_4CC('G','R','E','Y') , GF_PIXEL_ALPHAGREY = GF_4CC('G','R','A','L') , GF_PIXEL_GREYALPHA = GF_4CC('A','L','G','R') , GF_PIXEL_RGB_444 = GF_4CC('R','4','4','4') ,
  GF_PIXEL_RGB_555 = GF_4CC('R','5','5','5') , GF_PIXEL_RGB_565 = GF_4CC('R','5','6','5') , GF_PIXEL_RGB = GF_4CC('R','G','B','3') , GF_PIXEL_BGR = GF_4CC('B','G','R','3') ,
  GF_PIXEL_RGBX = GF_4CC('R','G','B','4') , GF_PIXEL_BGRX = GF_4CC('B','G','R','4') , GF_PIXEL_XRGB = GF_4CC('R','G','B','X') , GF_PIXEL_XBGR = GF_4CC('B','G','R','X') ,
  GF_PIXEL_ARGB = GF_4CC('A','R','G','B') , GF_PIXEL_RGBA = GF_4CC('R','G','B', 'A') , GF_PIXEL_BGRA = GF_4CC('B','G','R','A') , GF_PIXEL_ABGR = GF_4CC('A','B','G','R') ,
  GF_PIXEL_RGBD = GF_4CC('R', 'G', 'B', 'D') , GF_PIXEL_RGBDS = GF_4CC('3', 'C', 'D', 'S') , GF_PIXEL_RGB_DEPTH = GF_4CC('R', 'G', 'B', 'd') , GF_PIXEL_UNCV = GF_4CC('u', 'n', 'c', 'v') ,
  GF_PIXEL_YUYV = GF_4CC('Y','U','Y','V') , GF_PIXEL_YVYU = GF_4CC('Y','V','Y','U') , GF_PIXEL_UYVY = GF_4CC('U','Y','V','Y') , GF_PIXEL_VYUY = GF_4CC('V','Y','U','Y') ,
  GF_PIXEL_YUYV_10 = GF_4CC('Y','U','Y','L') , GF_PIXEL_YVYU_10 = GF_4CC('Y','V','Y','L') , GF_PIXEL_UYVY_10 = GF_4CC('U','Y','V','L') , GF_PIXEL_VYUY_10 = GF_4CC('V','Y','U','L') ,
  GF_PIXEL_YUV = GF_4CC('Y','U','1','2') , GF_PIXEL_YVU = GF_4CC('Y','V','1','2') , GF_PIXEL_YUV_10 = GF_4CC('Y','0','1','0') , GF_PIXEL_YUVA = GF_4CC('Y', 'U', 'V', 'A') ,
  GF_PIXEL_YUVD = GF_4CC('Y', 'U', 'V', 'D') , GF_PIXEL_NV21 = GF_4CC('N','V','2','1') , GF_PIXEL_NV21_10 = GF_4CC('N','2','1','0') , GF_PIXEL_NV12 = GF_4CC('N','V','1','2') ,
  GF_PIXEL_NV12_10 = GF_4CC('N','1','2','0') , GF_PIXEL_YUV422 = GF_4CC('Y','4','4','2') , GF_PIXEL_YUV422_10 = GF_4CC('Y','2','1','0') , GF_PIXEL_YUVA444 = GF_4CC('Y','A','4','4') ,
  GF_PIXEL_YUV444 = GF_4CC('Y','4','4','4') , GF_PIXEL_YUV444_10 = GF_4CC('Y','4','1','0') , GF_PIXEL_YUV444_PACK = GF_4CC('Y','U','V','4') , GF_PIXEL_VYU444_PACK = GF_4CC('V','Y','U','4') ,
  GF_PIXEL_YUVA444_PACK = GF_4CC('Y','A','4','p') , GF_PIXEL_UYVA444_PACK = GF_4CC('U','Y','V','A') , GF_PIXEL_YUV444_10_PACK = GF_4CC('Y','4','1','p') , GF_PIXEL_V210 = GF_4CC('v','2','1','0') ,
  GF_PIXEL_GL_EXTERNAL = GF_4CC('E','X','G','L')
}
 Pixel Formats. More...
 
enum  GF_CodecID {
  GF_CODECID_NONE = 0 , GF_CODECID_BIFS = 0x01 , GF_CODECID_OD_V1 = 0x01 , GF_CODECID_BIFS_V2 = 0x02 ,
  GF_CODECID_OD_V2 = 0x02 , GF_CODECID_INTERACT = 0x03 , GF_CODECID_BIFS_EXTENDED = 0x04 , GF_CODECID_AFX = 0x05 ,
  GF_CODECID_FONT = 0x06 , GF_CODECID_SYNTHESIZED_TEXTURE = 0x07 , GF_CODECID_TEXT_MPEG4 = 0x08 , GF_CODECID_LASER = 0x09 ,
  GF_CODECID_SAF = 0x0A , GF_CODECID_MPEG4_PART2 = 0x20 , GF_CODECID_AVC = 0x21 , GF_CODECID_AVC_PS = 0x22 ,
  GF_CODECID_HEVC = 0x23 , GF_CODECID_SVC = 0x24 , GF_CODECID_LHVC = 0x25 , GF_CODECID_MVC = 0x29 ,
  GF_CODECID_AAC_MPEG4 = 0x40 , GF_CODECID_MPEG2_SIMPLE = 0x60 , GF_CODECID_MPEG2_MAIN = 0x61 , GF_CODECID_MPEG2_SNR = 0x62 ,
  GF_CODECID_MPEG2_SPATIAL = 0x63 , GF_CODECID_MPEG2_HIGH = 0x64 , GF_CODECID_MPEG2_422 = 0x65 , GF_CODECID_AAC_MPEG2_MP = 0x66 ,
  GF_CODECID_AAC_MPEG2_LCP = 0x67 , GF_CODECID_AAC_MPEG2_SSRP = 0x68 , GF_CODECID_MPEG2_PART3 = 0x69 , GF_CODECID_MPEG1 = 0x6A ,
  GF_CODECID_MPEG_AUDIO = 0x6B , GF_CODECID_JPEG = 0x6C , GF_CODECID_PNG = 0x6D , GF_CODECID_LAST_MPEG4_MAPPING = 0xFF ,
  GF_CODECID_J2K = GF_4CC('j','p','2','k') , GF_CODECID_S263 = GF_4CC('s','2','6','3') , GF_CODECID_H263 = GF_4CC('h','2','6','3') , GF_CODECID_HEVC_TILES = GF_4CC( 'h', 'v', 't', '1' ) ,
  GF_CODECID_HEVC_MERGE = GF_4CC( 'h', 'v', 'c', 'm' ) , GF_CODECID_EVRC = GF_4CC('s','e','v','c') , GF_CODECID_SMV = GF_4CC('s','s','m','v') , GF_CODECID_QCELP = GF_4CC('s','q','c','p') ,
  GF_CODECID_AMR = GF_4CC('s','a','m','r') , GF_CODECID_AMR_WB = GF_4CC('s','a','w','b') , GF_CODECID_EVRC_PV = GF_4CC('p','e','v','c') , GF_CODECID_SMPTE_VC1 = GF_4CC('v','c','-','1') ,
  GF_CODECID_DIRAC = GF_4CC('d','r','a','c') , GF_CODECID_AC3 = GF_4CC('a','c','-','3') , GF_CODECID_EAC3 = GF_4CC('e','c','-','3') , GF_CODECID_TRUEHD = GF_4CC('m','l','p','a') ,
  GF_CODECID_DRA = GF_4CC('d','r','a','1') , GF_CODECID_G719 = GF_4CC('g','7','1','9') , GF_CODECID_DTS_EXPRESS_LBR = GF_4CC('d','t','s','e') , GF_CODECID_DTS_CA = GF_4CC('d','t','s','c') ,
  GF_CODECID_DTS_HD_HR_MASTER = GF_4CC('d','t','s','h') , GF_CODECID_DTS_HD_LOSSLESS = GF_4CC('d','t','s','l') , GF_CODECID_DTS_X = GF_4CC('d','t','s','x') , GF_CODECID_DTS_Y = GF_4CC('d','t','s','y') ,
  GF_CODECID_DVB_EIT = GF_4CC('e','i','t',' ') , GF_CODECID_SVG = GF_4CC('s','g','g',' ') , GF_CODECID_SVG_GZ = GF_4CC('s','v','g','z') , GF_CODECID_DIMS = GF_4CC('d','i','m','s') ,
  GF_CODECID_WEBVTT = GF_4CC('w','v','t','t') , GF_CODECID_SIMPLE_TEXT = GF_4CC('s','t','x','t') , GF_CODECID_META_TEXT = GF_4CC('m','e','t','t') , GF_CODECID_META_XML = GF_4CC('m','e','t','x') ,
  GF_CODECID_SUBS_TEXT = GF_4CC('s','b','t','t') , GF_CODECID_SUBS_XML = GF_4CC('s','t','p','p') , GF_CODECID_TX3G = GF_4CC( 't', 'x', '3', 'g' ) , GF_CODECID_SUBS_SSA = GF_4CC( 'a', 's', 's', 'a' ) ,
  GF_CODECID_DVB_SUBS = GF_4CC( 'd', 'v', 'b', 's' ) , GF_CODECID_DVB_TELETEXT = GF_4CC( 'd', 'v', 'b', 't' ) , GF_CODECID_SCTE35 = GF_4CC( 's', 'c', '3', '5' ) , GF_CODECID_THEORA = GF_4CC('t','h','e','u') ,
  GF_CODECID_VORBIS = GF_4CC('v','o','r','b') , GF_CODECID_FLAC = GF_4CC('f','l','a','c') , GF_CODECID_SPEEX = GF_4CC('s','p','e','x') , GF_CODECID_OPUS = GF_4CC('O','p','u','s') ,
  GF_CODECID_SUBPIC = GF_4CC('s','u','b','p') , GF_CODECID_ADPCM = GF_4CC('A','P','C','M') , GF_CODECID_IBM_CVSD = GF_4CC('C','S','V','D') , GF_CODECID_ALAW = GF_4CC('A','L','A','W') ,
  GF_CODECID_MULAW = GF_4CC('M','L','A','W') , GF_CODECID_OKI_ADPCM = GF_4CC('O','P','C','M') , GF_CODECID_DVI_ADPCM = GF_4CC('D','P','C','M') , GF_CODECID_DIGISTD = GF_4CC('D','S','T','D') ,
  GF_CODECID_YAMAHA_ADPCM = GF_4CC('Y','P','C','M') , GF_CODECID_DSP_TRUESPEECH = GF_4CC('T','S','P','E') , GF_CODECID_GSM610 = GF_4CC('G','6','1','0') , GF_CODECID_IBM_MULAW = GF_4CC('I','U','L','W') ,
  GF_CODECID_IBM_ALAW = GF_4CC('I','A','L','W') , GF_CODECID_IBM_ADPCM = GF_4CC('I','P','C','M') , GF_CODECID_FLASH = GF_4CC( 'f', 'l', 's', 'h' ) , GF_CODECID_RAW = GF_4CC('R','A','W','M') ,
  GF_CODECID_RAW_UNCV = GF_4CC('U','N','C','V') , GF_CODECID_AV1 = GF_4CC('A','V','1',' ') , GF_CODECID_VP8 = GF_4CC('V','P','0','8') , GF_CODECID_VP9 = GF_4CC('V','P','0','9') ,
  GF_CODECID_VP10 = GF_4CC('V','P','1','0') , GF_CODECID_MPHA = GF_4CC('m','p','h','a') , GF_CODECID_MHAS = GF_4CC('m','h','a','s') , GF_CODECID_APCH = GF_4CC( 'a', 'p', 'c', 'h' ) ,
  GF_CODECID_APCO = GF_4CC( 'a', 'p', 'c', 'o' ) , GF_CODECID_APCN = GF_4CC( 'a', 'p', 'c', 'n' ) , GF_CODECID_APCS = GF_4CC( 'a', 'p', 'c', 's' ) , GF_CODECID_AP4X = GF_4CC( 'a', 'p', '4', 'x' ) ,
  GF_CODECID_AP4H = GF_4CC( 'a', 'p', '4', 'h' ) , GF_CODECID_TMCD = GF_4CC('t','m','c','d') , GF_CODECID_EVTE = GF_4CC('e','v','t','e') , GF_CODECID_FFV1 = GF_4CC('f','f','v','1') ,
  GF_CODECID_FFMPEG = GF_4CC('F','F','I','D') , GF_CODECID_VVC = GF_4CC('v','v','c',' ') , GF_CODECID_VVC_SUBPIC = GF_4CC('v','v','c','s') , GF_CODECID_USAC = GF_4CC('u','s','a','c') ,
  GF_CODECID_MPEG_AUDIO_L1 = GF_4CC('m','p','a','1') , GF_CODECID_MSPEG4_V3 = GF_4CC('D','I','V','3') , GF_CODECID_ALAC = GF_4CC('A','L','A','C') , GF_CODECID_DNXHD = GF_4CC('D','N','x','H') ,
  GF_CODECID_FAKE_MP2T = GF_4CC('M','P','2','T')
}
 Codec IDs. More...
 
enum  {
  GPAC_AFX_3DMC = 0x00 , GPAC_AFX_WAVELET_SUBDIVISION = 0x01 , GPAC_AFX_MESHGRID = 0x02 , GPAC_AFX_COORDINATE_INTERPOLATOR = 0x03 ,
  GPAC_AFX_ORIENTATION_INTERPOLATOR = 0x04 , GPAC_AFX_POSITION_INTERPOLATOR = 0x05 , GPAC_AFX_OCTREE_IMAGE = 0x06 , GPAC_AFX_BBA = 0x07 ,
  GPAC_AFX_POINT_TEXTURE = 0x08 , GPAC_AFX_3DMC_EXT = 0x09 , GPAC_AFX_FOOTPRINT = 0x0A , GPAC_AFX_ANIMATED_MESH = 0x0B ,
  GPAC_AFX_SCALABLE_COMPLEXITY = 0x0C
}
 AFX Object Code. More...
 
enum  {
  GF_AUDIO_CH_FRONT_LEFT = (1) , GF_AUDIO_CH_FRONT_RIGHT = (1<<1) , GF_AUDIO_CH_FRONT_CENTER = (1<<2) , GF_AUDIO_CH_LFE = (1<<3) ,
  GF_AUDIO_CH_SURROUND_LEFT = (1 << 4) , GF_AUDIO_CH_SURROUND_RIGHT = (1 << 5) , GF_AUDIO_CH_FRONT_CENTER_LEFT = (1 << 6) , GF_AUDIO_CH_FRONT_CENTER_RIGHT = (1 << 7) ,
  GF_AUDIO_CH_REAR_SURROUND_LEFT = (1<<8) , GF_AUDIO_CH_REAR_SURROUND_RIGHT = (1<<9) , GF_AUDIO_CH_REAR_CENTER = (1 << 10) , GF_AUDIO_CH_SURROUND_DIRECT_LEFT = (1 << 11) ,
  GF_AUDIO_CH_SURROUND_DIRECT_RIGHT = (1 << 12) , GF_AUDIO_CH_SIDE_SURROUND_LEFT = (1 << 13) , GF_AUDIO_CH_SIDE_SURROUND_RIGHT = (1 << 14) , GF_AUDIO_CH_WIDE_FRONT_LEFT = (1 << 15) ,
  GF_AUDIO_CH_WIDE_FRONT_RIGHT = (1 << 16) , GF_AUDIO_CH_FRONT_TOP_LEFT = (1 << 17) , GF_AUDIO_CH_FRONT_TOP_RIGHT = (1 << 18) , GF_AUDIO_CH_FRONT_TOP_CENTER = (1 << 19) ,
  GF_AUDIO_CH_SURROUND_TOP_LEFT = (1 << 20) , GF_AUDIO_CH_SURROUND_TOP_RIGHT = (1 << 21) , GF_AUDIO_CH_REAR_CENTER_TOP = (1 << 22) , GF_AUDIO_CH_SIDE_SURROUND_TOP_LEFT = (1 << 23) ,
  GF_AUDIO_CH_SIDE_SURROUND_TOP_RIGHT = (1 << 24) , GF_AUDIO_CH_CENTER_SURROUND_TOP = (1 << 25) , GF_AUDIO_CH_LFE2 = (1 << 26) , GF_AUDIO_CH_FRONT_BOTTOM_LEFT = (1 << 27) ,
  GF_AUDIO_CH_FRONT_BOTTOM_RIGHT = (1 << 28) , GF_AUDIO_CH_FRONT_BOTTOM_CENTER = (1 << 29) , GF_AUDIO_CH_SURROUND_BOTTOM_LEFT = (1 << 30) , GF_AUDIO_CH_SURROUND_BOTTOM_RIGHT = 0x80000000
}
 Audio Channel Configuration. More...
 
enum  GF_AudioFormat {
  GF_AUDIO_FMT_U8 = 1 , GF_AUDIO_FMT_S16 , GF_AUDIO_FMT_S16_BE , GF_AUDIO_FMT_S32 ,
  GF_AUDIO_FMT_S32_BE , GF_AUDIO_FMT_FLT , GF_AUDIO_FMT_FLT_BE , GF_AUDIO_FMT_DBL ,
  GF_AUDIO_FMT_DBL_BE , GF_AUDIO_FMT_S24 , GF_AUDIO_FMT_S24_BE , GF_AUDIO_FMT_LAST_PACKED ,
  GF_AUDIO_FMT_U8P , GF_AUDIO_FMT_S16P , GF_AUDIO_FMT_S32P , GF_AUDIO_FMT_FLTP ,
  GF_AUDIO_FMT_DBLP , GF_AUDIO_FMT_S24P
}
 Audio Sample format. More...
 
enum  GF_ColorPrimaries {
  GF_COLOR_PRIM_RESERVED0 = 0 , GF_COLOR_PRIM_BT709 = 1 , GF_COLOR_PRIM_UNSPECIFIED = 2 , GF_COLOR_PRIM_RESERVED = 3 ,
  GF_COLOR_PRIM_BT470M = 4 , GF_COLOR_PRIM_BT470BG = 5 , GF_COLOR_PRIM_SMPTE170M = 6 , GF_COLOR_PRIM_SMPTE240M = 7 ,
  GF_COLOR_PRIM_FILM = 8 , GF_COLOR_PRIM_BT2020 = 9 , GF_COLOR_PRIM_SMPTE428 = 10 , GF_COLOR_PRIM_SMPTE431 = 11 ,
  GF_COLOR_PRIM_SMPTE432 = 12 , GF_COLOR_PRIM_EBU3213 = 22
}
 
enum  GF_ColorTransferCharacteristic {
  GF_COLOR_TRC_RESERVED0 = 0 , GF_COLOR_TRC_BT709 = 1 , GF_COLOR_TRC_UNSPECIFIED = 2 , GF_COLOR_TRC_RESERVED = 3 ,
  GF_COLOR_TRC_GAMMA22 = 4 , GF_COLOR_TRC_GAMMA28 = 5 , GF_COLOR_TRC_SMPTE170M = 6 , GF_COLOR_TRC_SMPTE240M = 7 ,
  GF_COLOR_TRC_LINEAR = 8 , GF_COLOR_TRC_LOG = 9 , GF_COLOR_TRC_LOG_SQRT = 10 , GF_COLOR_TRC_IEC61966_2_4 = 11 ,
  GF_COLOR_TRC_BT1361_ECG = 12 , GF_COLOR_TRC_IEC61966_2_1 = 13 , GF_COLOR_TRC_BT2020_10 = 14 , GF_COLOR_TRC_BT2020_12 = 15 ,
  GF_COLOR_TRC_SMPTE2084 = 16 , GF_COLOR_TRC_SMPTE428 = 17 , GF_COLOR_TRC_ARIB_STD_B67 = 18
}
 
enum  GF_ColorMatrixCoefficients {
  GF_COLOR_MX_RGB = 0 , GF_COLOR_MX_BT709 = 1 , GF_COLOR_MX_UNSPECIFIED = 2 , GF_COLOR_MX_RESERVED = 3 ,
  GF_COLOR_MX_FCC47 = 4 , GF_COLOR_MX_BT470BG = 5 , GF_COLOR_MX_SMPTE170M = 6 , GF_COLOR_MX_SMPTE240M = 7 ,
  GF_COLOR_MX_YCGCO = 8 , GF_COLOR_MX_BT2020_NCL = 9 , GF_COLOR_MX_BT2020_CL = 10 , GF_COLOR_MX_SMPTE2085 = 11
}
 
enum  GF_ChromaLocation {
  GF_CHROMALOC_UNKNOWN =0 , GF_CHROMALOC_LEFT , GF_CHROMALOC_CENTER , GF_CHROMALOC_TOPLEFT ,
  GF_CHROMALOC_TOP , GF_CHROMALOC_BOTTOMLEFT , GF_CHROMALOC_BOTTOM , GF_CHROMALOC_DV420
}
 
enum  {
  GF_DIMS_UNIT_S = 1 , GF_DIMS_UNIT_M = 1<<1 , GF_DIMS_UNIT_I = 1<<2 , GF_DIMS_UNIT_D = 1<<3 ,
  GF_DIMS_UNIT_P = 1<<4 , GF_DIMS_UNIT_C = 1<<5
}
 DIMS Unit header flags. More...
 
enum  {
  GF_AVC_NALU_NON_IDR_SLICE = 1 , GF_AVC_NALU_DP_A_SLICE = 2 , GF_AVC_NALU_DP_B_SLICE = 3 , GF_AVC_NALU_DP_C_SLICE = 4 ,
  GF_AVC_NALU_IDR_SLICE = 5 , GF_AVC_NALU_SEI = 6 , GF_AVC_NALU_SEQ_PARAM = 7 , GF_AVC_NALU_PIC_PARAM = 8 ,
  GF_AVC_NALU_ACCESS_UNIT = 9 , GF_AVC_NALU_END_OF_SEQ = 10 , GF_AVC_NALU_END_OF_STREAM = 11 , GF_AVC_NALU_FILLER_DATA = 12 ,
  GF_AVC_NALU_SEQ_PARAM_EXT = 13 , GF_AVC_NALU_SVC_PREFIX_NALU = 14 , GF_AVC_NALU_SVC_SUBSEQ_PARAM = 15 , GF_AVC_NALU_SLICE_AUX = 19 ,
  GF_AVC_NALU_SVC_SLICE = 20 , GF_AVC_NALU_VDRD = 24 , GF_AVC_NALU_DV_RPU = 28 , GF_AVC_NALU_DV_EL = 30 ,
  GF_AVC_NALU_FF_AGGREGATOR =30 , GF_AVC_NALU_FF_EXTRACTOR =31
}
 
enum  {
  GF_AVC_TYPE_P = 0 , GF_AVC_TYPE_B = 1 , GF_AVC_TYPE_I = 2 , GF_AVC_TYPE_SP = 3 ,
  GF_AVC_TYPE_SI = 4 , GF_AVC_TYPE2_P = 5 , GF_AVC_TYPE2_B = 6 , GF_AVC_TYPE2_I = 7 ,
  GF_AVC_TYPE2_SP = 8 , GF_AVC_TYPE2_SI = 9
}
 
enum  {
  GF_HEVC_NALU_SLICE_TRAIL_N = 0 , GF_HEVC_NALU_SLICE_TRAIL_R = 1 , GF_HEVC_NALU_SLICE_TSA_N = 2 , GF_HEVC_NALU_SLICE_TSA_R = 3 ,
  GF_HEVC_NALU_SLICE_STSA_N = 4 , GF_HEVC_NALU_SLICE_STSA_R = 5 , GF_HEVC_NALU_SLICE_RADL_N = 6 , GF_HEVC_NALU_SLICE_RADL_R = 7 ,
  GF_HEVC_NALU_SLICE_RASL_N = 8 , GF_HEVC_NALU_SLICE_RASL_R = 9 , GF_HEVC_NALU_SLICE_RSV_VCL_N10 = 10 , GF_HEVC_NALU_SLICE_RSV_VCL_N12 = 12 ,
  GF_HEVC_NALU_SLICE_RSV_VCL_N14 = 14 , GF_HEVC_NALU_SLICE_RSV_VCL_R11 = 11 , GF_HEVC_NALU_SLICE_RSV_VCL_R13 = 13 , GF_HEVC_NALU_SLICE_RSV_VCL_R15 = 15 ,
  GF_HEVC_NALU_SLICE_BLA_W_LP = 16 , GF_HEVC_NALU_SLICE_BLA_W_DLP = 17 , GF_HEVC_NALU_SLICE_BLA_N_LP = 18 , GF_HEVC_NALU_SLICE_IDR_W_DLP = 19 ,
  GF_HEVC_NALU_SLICE_IDR_N_LP = 20 , GF_HEVC_NALU_SLICE_CRA = 21 , GF_HEVC_NALU_VID_PARAM = 32 , GF_HEVC_NALU_SEQ_PARAM = 33 ,
  GF_HEVC_NALU_PIC_PARAM = 34 , GF_HEVC_NALU_ACCESS_UNIT = 35 , GF_HEVC_NALU_END_OF_SEQ = 36 , GF_HEVC_NALU_END_OF_STREAM = 37 ,
  GF_HEVC_NALU_FILLER_DATA = 38 , GF_HEVC_NALU_SEI_PREFIX = 39 , GF_HEVC_NALU_SEI_SUFFIX = 40 , GF_HEVC_NALU_FF_AGGREGATOR =48 ,
  GF_HEVC_NALU_FF_EXTRACTOR =49 , GF_HEVC_NALU_DV_RPU = 62 , GF_HEVC_NALU_DV_EL = 63
}
 
enum  {
  GF_VVC_NALU_SLICE_TRAIL = 0 , GF_VVC_NALU_SLICE_STSA = 1 , GF_VVC_NALU_SLICE_RADL = 2 , GF_VVC_NALU_SLICE_RASL = 3 ,
  GF_VVC_NALU_SLICE_IDR_W_RADL = 7 , GF_VVC_NALU_SLICE_IDR_N_LP = 8 , GF_VVC_NALU_SLICE_CRA = 9 , GF_VVC_NALU_SLICE_GDR = 10 ,
  GF_VVC_NALU_OPI = 12 , GF_VVC_NALU_DEC_PARAM = 13 , GF_VVC_NALU_VID_PARAM = 14 , GF_VVC_NALU_SEQ_PARAM = 15 ,
  GF_VVC_NALU_PIC_PARAM = 16 , GF_VVC_NALU_APS_PREFIX = 17 , GF_VVC_NALU_APS_SUFFIX = 18 , GF_VVC_NALU_PIC_HEADER = 19 ,
  GF_VVC_NALU_ACCESS_UNIT = 20 , GF_VVC_NALU_END_OF_SEQ = 21 , GF_VVC_NALU_END_OF_STREAM = 22 , GF_VVC_NALU_SEI_PREFIX = 23 ,
  GF_VVC_NALU_SEI_SUFFIX = 24 , GF_VVC_NALU_FILLER_DATA = 25
}
 
enum  GF_ID3v2FrameType {
  GF_ID3V2_FRAME_AENC = GF_4CC('A','E','N','C') , GF_ID3V2_FRAME_APIC = GF_4CC('A','P','I','C') , GF_ID3V2_FRAME_COMM = GF_4CC('C','O','M','M') , GF_ID3V2_FRAME_COMR = GF_4CC('C','O','M','R') ,
  GF_ID3V2_FRAME_ENCR = GF_4CC('E','N','C','R') , GF_ID3V2_FRAME_EQUA = GF_4CC('E','Q','U','A') , GF_ID3V2_FRAME_ETCO = GF_4CC('E','T','C','O') , GF_ID3V2_FRAME_GEOB = GF_4CC('G','E','O','B') ,
  GF_ID3V2_FRAME_GRID = GF_4CC('G','R','I','D') , GF_ID3V2_FRAME_IPLS = GF_4CC('I','P','L','S') , GF_ID3V2_FRAME_LINK = GF_4CC('L','I','N','K') , GF_ID3V2_FRAME_MCDI = GF_4CC('M','C','D','I') ,
  GF_ID3V2_FRAME_MLLT = GF_4CC('M','L','L','T') , GF_ID3V2_FRAME_OWNE = GF_4CC('O','W','N','E') , GF_ID3V2_FRAME_PRIV = GF_4CC('P','R','I','V') , GF_ID3V2_FRAME_PCNT = GF_4CC('P','C','N','T') ,
  GF_ID3V2_FRAME_POPM = GF_4CC('P','O','P','M') , GF_ID3V2_FRAME_POSS = GF_4CC('P','O','S','S') , GF_ID3V2_FRAME_RBUF = GF_4CC('R','B','U','F') , GF_ID3V2_FRAME_RVAD = GF_4CC('R','V','A','D') ,
  GF_ID3V2_FRAME_RVRB = GF_4CC('R','V','R','B') , GF_ID3V2_FRAME_SYLT = GF_4CC('S','Y','L','T') , GF_ID3V2_FRAME_SYTC = GF_4CC('S','Y','T','C') , GF_ID3V2_FRAME_TALB = GF_4CC('T','A','L','B') ,
  GF_ID3V2_FRAME_TBPM = GF_4CC('T','B','P','M') , GF_ID3V2_FRAME_TCAT = GF_4CC('T','C','A','T') , GF_ID3V2_FRAME_TCMP = GF_4CC('T','C','M','P') , GF_ID3V2_FRAME_TCOM = GF_4CC('T','C','O','M') ,
  GF_ID3V2_FRAME_TCON = GF_4CC('T','C','O','N') , GF_ID3V2_FRAME_TCOP = GF_4CC('T','C','O','P') , GF_ID3V2_FRAME_TDAT = GF_4CC('T','D','A','T') , GF_ID3V2_FRAME_TDES = GF_4CC('T','D','E','S') ,
  GF_ID3V2_FRAME_TDLY = GF_4CC('T','D','L','Y') , GF_ID3V2_FRAME_TDRC = GF_4CC('T','D','R','C') , GF_ID3V2_FRAME_TENC = GF_4CC('T','E','N','C') , GF_ID3V2_FRAME_TEXT = GF_4CC('T','E','X','T') ,
  GF_ID3V2_FRAME_TFLT = GF_4CC('T','F','L','T') , GF_ID3V2_FRAME_TIME = GF_4CC('T','I','M','E') , GF_ID3V2_FRAME_TIT1 = GF_4CC('T','I','T','1') , GF_ID3V2_FRAME_TIT2 = GF_4CC('T','I','T','2') ,
  GF_ID3V2_FRAME_TIT3 = GF_4CC('T','I','T','3') , GF_ID3V2_FRAME_TKEY = GF_4CC('T','K','E','Y') , GF_ID3V2_FRAME_TKWD = GF_4CC('T','K','W','D') , GF_ID3V2_FRAME_TLAN = GF_4CC('T','L','A','N') ,
  GF_ID3V2_FRAME_TLEN = GF_4CC('T','L','E','N') , GF_ID3V2_FRAME_TMED = GF_4CC('T','M','E','D') , GF_ID3V2_FRAME_TOAL = GF_4CC('T','O','A','L') , GF_ID3V2_FRAME_TOFN = GF_4CC('T','O','F','N') ,
  GF_ID3V2_FRAME_TOLY = GF_4CC('T','O','L','Y') , GF_ID3V2_FRAME_TOPE = GF_4CC('T','O','P','E') , GF_ID3V2_FRAME_TORY = GF_4CC('T','O','R','Y') , GF_ID3V2_FRAME_TOWN = GF_4CC('T','O','W','N') ,
  GF_ID3V2_FRAME_TPE1 = GF_4CC('T','P','E','1') , GF_ID3V2_FRAME_TPE2 = GF_4CC('T','P','E','2') , GF_ID3V2_FRAME_TPE3 = GF_4CC('T','P','E','3') , GF_ID3V2_FRAME_TPE4 = GF_4CC('T','P','E','4') ,
  GF_ID3V2_FRAME_TPOS = GF_4CC('T','P','E','5') , GF_ID3V2_FRAME_TPUB = GF_4CC('T','P','U','B') , GF_ID3V2_FRAME_TRCK = GF_4CC('T','R','C','K') , GF_ID3V2_FRAME_TRDA = GF_4CC('T','R','D','A') ,
  GF_ID3V2_FRAME_TRSN = GF_4CC('T','R','S','N') , GF_ID3V2_FRAME_TRSO = GF_4CC('T','R','S','O') , GF_ID3V2_FRAME_TSIZ = GF_4CC('T','S','I','Z') , GF_ID3V2_FRAME_TSO2 = GF_4CC('T','S','O','2') ,
  GF_ID3V2_FRAME_TSOA = GF_4CC('T','S','O','A') , GF_ID3V2_FRAME_TSOC = GF_4CC('T','S','O','C') , GF_ID3V2_FRAME_TSOT = GF_4CC('T','S','O','T') , GF_ID3V2_FRAME_TSOP = GF_4CC('T','S','O','P') ,
  GF_ID3V2_FRAME_TSRC = GF_4CC('T','S','R','C') , GF_ID3V2_FRAME_TSSE = GF_4CC('T','S','S','E') , GF_ID3V2_FRAME_TYER = GF_4CC('T','Y','E','R') , GF_ID3V2_FRAME_TXXX = GF_4CC('T','X','X','X') ,
  GF_ID3V2_FRAME_UFID = GF_4CC('U','F','I','D') , GF_ID3V2_FRAME_USER = GF_4CC('U','S','E','R') , GF_ID3V2_FRAME_USLT = GF_4CC('U','S','L','T') , GF_ID3V2_FRAME_WCOM = GF_4CC('W','C','O','M') ,
  GF_ID3V2_FRAME_WCOP = GF_4CC('W','C','O','P') , GF_ID3V2_FRAME_WOAF = GF_4CC('W','O','A','F') , GF_ID3V2_FRAME_WOAR = GF_4CC('W','O','A','R') , GF_ID3V2_FRAME_WOAS = GF_4CC('W','O','A','S') ,
  GF_ID3V2_FRAME_WORS = GF_4CC('W','O','R','S') , GF_ID3V2_FRAME_WPAY = GF_4CC('W','P','A','Y') , GF_ID3V2_FRAME_WPUB = GF_4CC('W','P','U','B') , GF_ID3V2_FRAME_WXXX = GF_4CC('W','X','X','X')
}
 
enum  {
  GF_ITAG_STR =0 , GF_ITAG_INT8 , GF_ITAG_INT16 , GF_ITAG_INT32 ,
  GF_ITAG_INT64 , GF_ITAG_BOOL , GF_ITAG_ID3_GENRE , GF_ITAG_FRAC6 ,
  GF_ITAG_FRAC8 , GF_ITAG_FILE
}
 
enum  {
  GF_META_ITEM_TYPE_MIME = GF_4CC('m', 'i', 'm', 'e') , GF_META_ITEM_TYPE_URI = GF_4CC('u', 'r', 'i', ' ') , GF_META_ITEM_TYPE_PICT = GF_4CC('p', 'i', 'c', 't') , GF_META_TYPE_SVG = GF_4CC('s','v','g',' ') ,
  GF_META_TYPE_SVGZ = GF_4CC('s','v','g','z') , GF_META_TYPE_SMIL = GF_4CC('s','m','i','l') , GF_META_TYPE_SMLZ = GF_4CC('s','m','l','z') , GF_META_TYPE_X3D = GF_4CC('x','3','d',' ') ,
  GF_META_TYPE_X3DZ = GF_4CC('x','3','d','z') , GF_META_TYPE_XMTA = GF_4CC('x','m','t','a') , GF_META_TYPE_XMTZ = GF_4CC('x','m','t','z') , GF_META_TYPE_RVCI = GF_4CC('r','v','c','i')
}
 
enum  { GF_S4CC_MPEG4 = GF_4CC('m', 'p', '4', 's') , GF_S4CC_LASER = GF_4CC('l', 's', 'r', '1') }
 
enum  {
  GF_CICP_PRIM_RESERVED_0 = 0 , GF_CICP_PRIM_BT709 , GF_CICP_PRIM_UNSPECIFIED , GF_CICP_PRIM_RESERVED_3 ,
  GF_CICP_PRIM_BT470M , GF_CICP_PRIM_BT470G , GF_CICP_PRIM_SMPTE170 , GF_CICP_PRIM_SMPTE240 ,
  GF_CICP_PRIM_FILM , GF_CICP_PRIM_BT2020 , GF_CICP_PRIM_SMPTE428 , GF_CICP_PRIM_SMPTE431 ,
  GF_CICP_PRIM_SMPTE432 , GF_CICP_PRIM_EBU3213 =22 , GF_CICP_PRIM_LAST
}
 
enum  {
  GF_CICP_TRANSFER_RESERVED_0 = 0 , GF_CICP_TRANSFER_BT709 , GF_CICP_TRANSFER_UNSPECIFIED , GF_CICP_TRANSFER_RESERVED_3 ,
  GF_CICP_TRANSFER_BT470M , GF_CICP_TRANSFER_BT470BG , GF_CICP_TRANSFER_SMPTE170 , GF_CICP_TRANSFER_SMPTE240 ,
  GF_CICP_TRANSFER_LINEAR , GF_CICP_TRANSFER_LOG100 , GF_CICP_TRANSFER_LOG316 , GF_CICP_TRANSFER_IEC61966 ,
  GF_CICP_TRANSFER_BT1361 , GF_CICP_TRANSFER_SRGB , GF_CICP_TRANSFER_BT2020_10 , GF_CICP_TRANSFER_BT2020_12 ,
  GF_CICP_TRANSFER_SMPTE2084 , GF_CICP_TRANSFER_SMPTE428 , GF_CICP_TRANSFER_STDB67 , GF_CICP_TRANSFER_LAST
}
 
enum  {
  GF_CICP_MX_IDENTITY = 0 , GF_CICP_MX_BT709 , GF_CICP_MX_UNSPECIFIED , GF_CICP_MX_RESERVED_3 ,
  GF_CICP_MX_FCC47 , GF_CICP_MX_BT601_625 , GF_CICP_MX_SMPTE170 , GF_CICP_MX_SMPTE240 ,
  GF_CICP_MX_YCgCo , GF_CICP_MX_BT2020 , GF_CICP_MX_BT2020_CL , GF_CICP_MX_YDzDx ,
  GF_CICP_MX_LAST
}
 
enum  {
  GF_STEREO_NONE = 0 , GF_STEREO_TOP_BOTTOM , GF_STEREO_LEFT_RIGHT , GF_STEREO_CUSTOM ,
  GF_STEREO_RIGHT_LEFT , GF_STEREO_BOTTOM_TOP
}
 
enum  { GF_PROJ360_NONE = 0 , GF_PROJ360_CUBE_MAP , GF_PROJ360_EQR , GF_PROJ360_MESH }
 
enum  { GF_LLHAS_NONE = 0 , GF_LLHAS_BYTERANGES = 1 , GF_LLHAS_PARTS = 2 , GF_LLHAS_SUBSEG = 3 }
 

Functions

const char * gf_stream_type_name (u32 streamType)
 
const char * gf_stream_type_short_name (u32 streamType)
 
u32 gf_stream_type_by_name (const char *name)
 
u32 gf_stream_types_enum (u32 *idx, const char **name, const char **desc)
 
GF_PixelFormat gf_pixel_fmt_parse (const char *pf_name)
 
const char * gf_pixel_fmt_name (GF_PixelFormat pfmt)
 
Bool gf_pixel_fmt_probe (GF_PixelFormat pf_4cc, const char *pf_name)
 
const char * gf_pixel_fmt_sname (GF_PixelFormat pfmt)
 
GF_PixelFormat gf_pixel_fmt_enum (u32 *idx, const char **name, const char **fileext, const char **description)
 
const char * gf_pixel_fmt_all_names ()
 
const char * gf_pixel_fmt_all_shortnames ()
 
Bool gf_pixel_get_size_info (GF_PixelFormat pixfmt, u32 width, u32 height, u32 *out_size, u32 *out_stride, u32 *out_stride_uv, u32 *out_planes, u32 *out_plane_uv_height)
 
u32 gf_pixel_get_bytes_per_pixel (GF_PixelFormat pixfmt)
 
u32 gf_pixel_is_wide_depth (GF_PixelFormat pixfmt)
 
u32 gf_pixel_get_nb_comp (GF_PixelFormat pixfmt)
 
void gf_pixel_get_downsampling (GF_PixelFormat pixfmt, u32 *downsample_w, u32 *downsample_h)
 
Bool gf_pixel_fmt_is_transparent (GF_PixelFormat pixfmt)
 
Bool gf_pixel_fmt_is_yuv (GF_PixelFormat pixfmt)
 
GF_PixelFormat gf_pixel_fmt_from_qt_type (u32 qt_code)
 
u32 gf_pixel_fmt_to_qt_type (GF_PixelFormat pixfmt)
 
Bool gf_pixel_fmt_get_uncc (GF_PixelFormat pixfmt, u32 profile_mode, u8 **dsi, u32 *dsi_size)
 
const char * gf_codecid_name (GF_CodecID codecid)
 
GF_CodecID gf_codecid_enum (u32 idx, const char **short_name, const char **long_name)
 
u32 gf_codecid_type (GF_CodecID codecid)
 
GF_CodecID gf_codecid_alt (GF_CodecID codecid)
 
u8 gf_codecid_oti (GF_CodecID codecid)
 
GF_CodecID gf_codecid_from_oti (u32 stream_type, u32 oti)
 
u32 gf_codecid_4cc_type (GF_CodecID codecid)
 
Bool gf_codecid_has_unframer (GF_CodecID codecid)
 
GF_CodecID gf_codecid_parse (const char *cname)
 
const char * gf_codecid_file_ext (GF_CodecID codecid)
 
const char * gf_codecid_mime (GF_CodecID codecid)
 
GF_CodecID gf_codec_id_from_isobmf (u32 isobmftype)
 
const char * gf_stream_type_afx_name (u8 afx_code)
 
GF_AudioFormat gf_audio_fmt_parse (const char *af_name)
 
const char * gf_audio_fmt_name (GF_AudioFormat afmt)
 
const char * gf_audio_fmt_sname (GF_AudioFormat afmt)
 
const char * gf_audio_fmt_all_names ()
 
const char * gf_audio_fmt_all_shortnames ()
 
u32 gf_audio_fmt_bit_depth (GF_AudioFormat afmt)
 
Bool gf_audio_fmt_is_planar (GF_AudioFormat afmt)
 
GF_AudioFormat gf_audio_fmt_from_isobmf (u32 msubtype)
 
u32 gf_audio_fmt_to_isobmf (GF_AudioFormat afmt)
 
GF_AudioFormat gf_audio_fmt_enum (u32 *idx, const char **name, const char **fileext, const char **desc)
 
u32 gf_audio_fmt_get_cicp_layout (u32 nb_chan, u32 nb_surr, u32 nb_lfe)
 
u64 gf_audio_fmt_get_layout_from_cicp (u32 cicp_layout)
 
const char * gf_audio_fmt_get_layout_name_from_cicp (u32 cicp_layout)
 
const char * gf_audio_fmt_get_layout_name (u64 chan_layout)
 
u64 gf_audio_fmt_get_layout_from_name (const char *name)
 
u32 gf_audio_fmt_get_cicp_from_layout (u64 chan_layout)
 
u32 gf_audio_fmt_get_num_channels_from_layout (u64 chan_layout)
 
u16 gf_audio_fmt_get_dolby_chanmap (u32 cicp_layout)
 
u16 gf_audio_fmt_get_dolby_chanmap_from_layout (u64 channel_layout)
 
u32 gf_audio_fmt_cicp_enum (u32 idx, const char **short_name, u64 *ch_mask)
 
u32 gf_audio_fmt_get_cicp_from_name (const char *name)
 
const char * gf_audio_fmt_get_cicp_name (u32 cicp_code)
 
const char * gf_audio_fmt_cicp_all_names ()
 
s32 gf_itags_find_by_id3tag (u32 id3tag)
 
s32 gf_itags_find_by_itag (u32 itag)
 
s32 gf_itags_find_by_name (const char *tag_name)
 
s32 gf_itags_get_type (u32 tag_idx)
 
const char * gf_itags_get_name (u32 tag_idx)
 
const char * gf_itags_get_alt_name (u32 tag_idx)
 
u32 gf_itags_get_itag (u32 tag_idx)
 
u32 gf_itags_get_id3tag (u32 tag_idx)
 
const char * gf_itags_enum_tags (u32 *tag_idx, u32 *itag, u32 *id3tag, u32 *type)
 
const char * gf_id3_get_genre (u32 tag)
 
u32 gf_id3_get_genre_tag (const char *name)
 
u32 gf_cicp_parse_color_primaries (const char *val)
 
const char * gf_cicp_color_primaries_name (u32 cicp_prim)
 
const char * gf_cicp_color_primaries_all_names ()
 
u32 gf_cicp_parse_color_transfer (const char *val)
 
const char * gf_cicp_color_transfer_name (u32 cicp_trans)
 
const char * gf_cicp_color_transfer_all_names ()
 
u32 gf_cicp_parse_color_matrix (const char *val)
 
const char * gf_cicp_color_matrix_name (u32 cicp_mx)
 
const char * gf_cicp_color_matrix_all_names ()
 
const char * gf_gpac_version ()
 
const char * gf_gpac_copyright ()
 
const char * gf_gpac_copyright_cite ()
 
u32 gf_gpac_abi_major ()
 
u32 gf_gpac_abi_minor ()
 
u32 gf_gpac_abi_micro ()
 

Variables

static const unsigned int GF_QCELP_RATE_TO_SIZE_NB = 7
 
static const unsigned int GF_QCELP_RATE_TO_SIZE [] = {0, 1, 1, 4, 2, 8, 3, 17, 4, 35, 5, 8, 14, 1}
 
static const unsigned int GF_SMV_EVRC_RATE_TO_SIZE_NB = 6
 
static const unsigned int GF_SMV_EVRC_RATE_TO_SIZE [] = {0, 1, 1, 3, 2, 6, 3, 11, 4, 23, 5, 1}
 
static const unsigned int GF_AMR_FRAME_SIZE [16] = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, 0 }
 
static const unsigned int GF_AMR_WB_FRAME_SIZE [16] = { 17, 23, 32, 36, 40, 46, 50, 58, 60, 5, 5, 0, 0, 0, 0, 0 }
 

Detailed Description

This section documents some constants used in the GPAC framework which are not related to any specific sub-project.

Macro Definition Documentation

◆ GF_4CC

#define GF_4CC (   a,
  b,
  c,
 
)    ((((u32)a)<<24)|(((u32)b)<<16)|(((u32)c)<<8)|(d))

macro for 4CC

◆ GF_AUDIO_CH_SCREEN_EDGE_LEFT

#define GF_AUDIO_CH_SCREEN_EDGE_LEFT   0x2000000000ULL

Left edge of screen Channel

◆ GF_AUDIO_CH_SCREEN_EDGE_RIGHT

#define GF_AUDIO_CH_SCREEN_EDGE_RIGHT   0x4000000000ULL

Right edge of screen Channel

◆ GF_AUDIO_CH_BACK_SURROUND_LEFT

#define GF_AUDIO_CH_BACK_SURROUND_LEFT   0x20000000000ULL

left back surround Channel

◆ GF_AUDIO_CH_BACK_SURROUND_RIGHT

#define GF_AUDIO_CH_BACK_SURROUND_RIGHT   0x40000000000ULL

right back surround Channel

◆ GF_HLS_SAMPLE_AES_SCHEME

#define GF_HLS_SAMPLE_AES_SCHEME   GF_4CC('s','a','e','s')

Scheme Type only used internally to signal HLS sample AES in TS

◆ GF_RTP_TX3G_SIDX_OFFSET

#define GF_RTP_TX3G_SIDX_OFFSET   129

out-of-band sample description index for 3GPP (128 and 255 reserved in RFC)

◆ RFC6381_CODEC_NAME_SIZE_MAX

#define RFC6381_CODEC_NAME_SIZE_MAX   100

RFC6381 codec name max length

◆ GF_ISOM_UDTA_GPAC_SRD

#define GF_ISOM_UDTA_GPAC_SRD   GF_4CC('G','S','R','D')

user data used by GPAC to store SRD info

◆ GPAC_VERSION

#define GPAC_VERSION

Macro giving GPAC version name expressed as a printable string

◆ GPAC_VERSION_MAJOR

#define GPAC_VERSION_MAJOR   12

ABI Major number of libgpac

◆ GPAC_VERSION_MINOR

#define GPAC_VERSION_MINOR   16

ABI Minor number of libgpac

◆ GPAC_VERSION_MICRO

#define GPAC_VERSION_MICRO   0

ABI Micro number of libgpac

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Supported media stream types for media objects.

Enumerator
GF_STREAM_UNKNOWN 

Unknown stream type

GF_STREAM_OD 

MPEG-4 Object Descriptor Stream

GF_STREAM_OCR 

MPEG-4 Object Clock Reference Stream

GF_STREAM_SCENE 

MPEG-4 Scene Description Stream

GF_STREAM_VISUAL 

Visual Stream (Video, Image or MPEG-4 SNHC Tools)

GF_STREAM_AUDIO 

Audio Stream (Audio, MPEG-4 Structured-Audio Tools)

GF_STREAM_MPEG7 

MPEG-7 Description Stream

GF_STREAM_IPMP 

MPEG-4 Intellectual Property Management and Protection Stream

GF_STREAM_OCI 

MPEG-4 Object Content Information Stream

GF_STREAM_MPEGJ 

MPEG-4 MPEGlet Stream

GF_STREAM_INTERACT 

MPEG-4 User Interaction Stream

GF_STREAM_IPMP_TOOL 

MPEG-4 IPMP Tool Stream

GF_STREAM_FONT 

MPEG-4 Font Data Stream

GF_STREAM_TEXT 

MPEG-4 Streaming Text Stream

GF_STREAM_ND_SUBPIC 

Nero Digital Subpicture Stream

GF_STREAM_PRIVATE_SCENE 

GPAC Private Scene streams

Note
This stream type (MPEG-4 user-private) is reserved for streams used to create a scene decoder handling the scene without input streams, as is the case for file readers (BT/VRML/XML..).
GF_STREAM_METADATA 
GF_STREAM_ENCRYPTED 
GF_STREAM_FILE 

◆ GF_PixelFormat

Supported pixel formats for everything using video

Enumerator
GF_PIXEL_GREYSCALE 

8 bit GREY

GF_PIXEL_ALPHAGREY 

16 bit greyscale, first alpha, then grey

GF_PIXEL_GREYALPHA 

16 bit greyscale, first grey, then alpha

GF_PIXEL_RGB_444 

12 bit RGB on 16 bits (4096 colors)

GF_PIXEL_RGB_555 

15 bit RGB

GF_PIXEL_RGB_565 

16 bit RGB

GF_PIXEL_RGB 

24 bit RGB

GF_PIXEL_BGR 

24 bit BGR

GF_PIXEL_RGBX 

32 bit RGB. Component ordering in bytes is R-G-B-X.

GF_PIXEL_BGRX 

32 bit BGR. Component ordering in bytes is B-G-R-X.

GF_PIXEL_XRGB 

32 bit RGB. Component ordering in bytes is X-R-G-B.

GF_PIXEL_XBGR 

32 bit BGR. Component ordering in bytes is X-B-G-R.

GF_PIXEL_ARGB 

32 bit ARGB. Component ordering in bytes is A-R-G-B.

GF_PIXEL_RGBA 

32 bit RGBA (OpenGL like). Component ordering in bytes is R-G-B-A.

GF_PIXEL_BGRA 

32 bit BGRA. Component ordering in bytes is B-G-R-A.

GF_PIXEL_ABGR 

32 bit ABGR. Component ordering in bytes is A-B-G-R.

GF_PIXEL_RGBD 

RGB24 + depth plane. Component ordering in bytes is R-G-B-D.

GF_PIXEL_RGBDS 

RGB24 + depth plane (7 lower bits) + shape mask. Component ordering in bytes is R-G-B-(S+D).

GF_PIXEL_RGB_DEPTH 
GF_PIXEL_UNCV 
GF_PIXEL_YUYV 

YUV packed 422 format

GF_PIXEL_YVYU 

YUV packed 422 format

GF_PIXEL_UYVY 

YUV packed 422 format

GF_PIXEL_VYUY 

YUV packed 422 format

GF_PIXEL_YUYV_10 

YUV packed 422 format 10 bits, little endian

GF_PIXEL_YVYU_10 

YUV packed 422 format 10 bits, little endian

GF_PIXEL_UYVY_10 

YUV packed 422 format 10 bits, little endian

GF_PIXEL_VYUY_10 

YUV packed 422 format 10 bits, little endian

GF_PIXEL_YUV 

YUV planar format

GF_PIXEL_YVU 

YVU planar format

GF_PIXEL_YUV_10 

YUV420p in 10 bits mode, little endian

GF_PIXEL_YUVA 

YUV420p + Alpha plane

GF_PIXEL_YUVD 

YUV420p + Depth plane

GF_PIXEL_NV21 

420 Y planar UV interleaved

GF_PIXEL_NV21_10 

420 Y planar UV interleaved, 10 bits, little endian

GF_PIXEL_NV12 

420 Y planar VU interleaved (U and V swapped)

GF_PIXEL_NV12_10 

420 Y planar VU interleaved (U and V swapped), 10 bits, little endian

GF_PIXEL_YUV422 

422 YUV

GF_PIXEL_YUV422_10 

422 YUV, 10 bits, little endian

GF_PIXEL_YUVA444 

444 YUV+Alpha

GF_PIXEL_YUV444 

444 YUV

GF_PIXEL_YUV444_10 

444 YUV, 10 bits, little endian

GF_PIXEL_YUV444_PACK 

444 YUV packed

GF_PIXEL_VYU444_PACK 

444 VYU packed (v308)

GF_PIXEL_YUVA444_PACK 

444 YUV+Alpha packed

GF_PIXEL_UYVA444_PACK 

444 UYVA packed (v408)

GF_PIXEL_YUV444_10_PACK 

444 YUV 10 bit packed little endian (v410)

GF_PIXEL_V210 

422 YUV 10 bit packed in v210 format

GF_PIXEL_GL_EXTERNAL 

Unknown format exposed a single OpenGL texture to be consumed using samplerExternalOES

◆ GF_CodecID

enum GF_CodecID

Codec ID identifies the stream coding type. The enum is divided into values less than 255, which are equivalent to MPEG-4 systems ObjectTypeIndication. Other values are 4CCs, usually matching ISOMEDIA sample entry types.

Unless specified otherwise the decoder configuration is:

  • the one specified in MPEG-4 systems if any
  • or the one defined in ISOBMFF and derived specs (3GPP, dolby, etc) if any
  • or NULL
Enumerator
GF_CODECID_NONE 

Never used by PID declarations, but used by filters caps

GF_CODECID_BIFS 

codecid for BIFS v1

GF_CODECID_OD_V1 

codecid for OD v1

GF_CODECID_BIFS_V2 

codecid for BIFS v2

GF_CODECID_OD_V2 

codecid for OD v2

GF_CODECID_INTERACT 

codecid for BIFS InputSensor streams

GF_CODECID_BIFS_EXTENDED 

codecid for streams with extended BIFS config

GF_CODECID_AFX 

codecid for AFX streams with AFXConfig

GF_CODECID_FONT 

codecid for Font data streams

GF_CODECID_SYNTHESIZED_TEXTURE 

codecid for synthesized texture streams

GF_CODECID_TEXT_MPEG4 

codecid for streaming text streams

GF_CODECID_LASER 

codecid for LASeR streams

GF_CODECID_SAF 

codecid for SAF streams when stored in MP4 ...

GF_CODECID_MPEG4_PART2 

codecid for MPEG-4 Video Part 2 streams

GF_CODECID_AVC 

codecid for MPEG-4 Video Part 10 (H.264 | AVC ) streams

GF_CODECID_AVC_PS 

codecid for AVC Parameter sets streams

GF_CODECID_HEVC 

codecid for HEVC video

GF_CODECID_SVC 

codecid for H264-SVC streams

GF_CODECID_LHVC 

codecid for HEVC layered streams

GF_CODECID_MVC 

codecid for H264-SVC streams

GF_CODECID_AAC_MPEG4 

codecid for MPEG-4 AAC streams

GF_CODECID_MPEG2_SIMPLE 

codecid for MPEG-2 Visual Simple Profile streams

GF_CODECID_MPEG2_MAIN 

codecid for MPEG-2 Visual Main Profile streams

GF_CODECID_MPEG2_SNR 

codecid for MPEG-2 Visual SNR Profile streams

GF_CODECID_MPEG2_SPATIAL 

codecid for MPEG-2 Visual SNR Profile streams

GF_CODECID_MPEG2_HIGH 

codecid for MPEG-2 Visual SNR Profile streams

GF_CODECID_MPEG2_422 

codecid for MPEG-2 Visual SNR Profile streams

GF_CODECID_AAC_MPEG2_MP 

codecid for MPEG-2 AAC Main Profile streams

GF_CODECID_AAC_MPEG2_LCP 

codecid for MPEG-2 AAC Low Complexity Profile streams

GF_CODECID_AAC_MPEG2_SSRP 

codecid for MPEG-2 AAC Scalable Sampling Rate Profile streams

GF_CODECID_MPEG2_PART3 

codecid for MPEG-2 Audio Part 3 streams

GF_CODECID_MPEG1 

codecid for MPEG-1 Video streams

GF_CODECID_MPEG_AUDIO 

codecid for MPEG-1 Audio streams, layer 3

GF_CODECID_JPEG 

codecid for JPEG streams

GF_CODECID_PNG 

codecid for PNG streams

GF_CODECID_LAST_MPEG4_MAPPING 
GF_CODECID_J2K 

codecid for JPEG-2000 streams

GF_CODECID_S263 

H263 visual streams

GF_CODECID_H263 
GF_CODECID_HEVC_TILES 

codecid for HEVC tiles

GF_CODECID_HEVC_MERGE 

codecid for explicitly loading HEVC merger , internal to gpac

GF_CODECID_EVRC 

codecid for EVRC Voice streams

GF_CODECID_SMV 

codecid for SMV Voice streams

GF_CODECID_QCELP 

codecid for 13K Voice / QCELP audio streams

GF_CODECID_AMR 

codecid for AMR

GF_CODECID_AMR_WB 

codecid for AMR-WB

GF_CODECID_EVRC_PV 

codecid for EVRC, PacketVideo MUX

GF_CODECID_SMPTE_VC1 

codecid for SMPTE VC-1 Video streams

GF_CODECID_DIRAC 

codecid for Dirac Video streams

GF_CODECID_AC3 

codecid for AC-3 audio streams

GF_CODECID_EAC3 

codecid for enhanced AC-3 audio streams

GF_CODECID_TRUEHD 

codecid for Dolby TrueHS audio streams

GF_CODECID_DRA 

codecid for DRA audio streams

GF_CODECID_G719 

codecid for ITU G719 audio streams

GF_CODECID_DTS_EXPRESS_LBR 

codecid for DTS Express low bit rate audio

GF_CODECID_DTS_CA 

codecid for DTS Coherent Acoustics audio streams

GF_CODECID_DTS_HD_HR_MASTER 

codecid for DTS-HD High Resolution and Master audio streams

GF_CODECID_DTS_HD_LOSSLESS 

codecid for DTS-HD Lossless (no core)

GF_CODECID_DTS_X 

codecid for DTS-X UHD Profile 2 audio streams

GF_CODECID_DTS_Y 

codecid for DTS-X UHD Profile 3 audio streams

GF_CODECID_DVB_EIT 

codecid for DVB EPG

GF_CODECID_SVG 

codecid for streaming SVG

GF_CODECID_SVG_GZ 

codecid for streaming SVG + gz

GF_CODECID_DIMS 

codecid for DIMS (dsi = 3GPP DIMS configuration)

GF_CODECID_WEBVTT 

codecid for streaming VTT

GF_CODECID_SIMPLE_TEXT 

codecid for streaming simple text

GF_CODECID_META_TEXT 

codecid for meta data streams in text format

GF_CODECID_META_XML 

codecid for meta data streams in XML format

GF_CODECID_SUBS_TEXT 

codecid for subtitle streams in text format

GF_CODECID_SUBS_XML 

codecid for subtitle streams in xml format

GF_CODECID_TX3G 

codecid for subtitle/text streams in tx3g / apple text format

GF_CODECID_SUBS_SSA 

codecid for SSA / ASS text streams (only demux -> tx3f conv)

GF_CODECID_DVB_SUBS 
GF_CODECID_DVB_TELETEXT 
GF_CODECID_SCTE35 
GF_CODECID_THEORA 
   \brief OGG DecoderConfig

The DecoderConfig for theora, vorbis and speek contains all initialization ogg packets for the codec and is formatted as follows:

while (dsi_size) {
bit(16) packet_size;
char packet[packet_size];
dsi_size -= packet_size;
}

The DecoderConfig for FLAC is the full flac header without "fLaC" magic

The DecoderConfig for OPUS is the full opus header without "OpusHead" magic

codecid for theora video streams

GF_CODECID_VORBIS 

codecid for vorbis audio streams

GF_CODECID_FLAC 

codecid for flac audio streams

GF_CODECID_SPEEX 

codecid for speex audio streams

GF_CODECID_OPUS 

codecid for opus audio streams

GF_CODECID_SUBPIC 

codecid for subpic DVD subtittles - the associated stream type is text

GF_CODECID_ADPCM 

codecid for ADPCM audio, as used in AVI

GF_CODECID_IBM_CVSD 

codecid for IBM CVSD audio, as used in AVI

GF_CODECID_ALAW 

codecid for ALAW audio, as used in AVI

GF_CODECID_MULAW 

codecid for MULAW audio, as used in AVI

GF_CODECID_OKI_ADPCM 

codecid for OKI ADPCM audio, as used in AVI

GF_CODECID_DVI_ADPCM 

codecid for DVI ADPCM audio, as used in AVI

GF_CODECID_DIGISTD 

codecid for DIGISTD audio, as used in AVI

GF_CODECID_YAMAHA_ADPCM 

codecid for Yamaha ADPCM audio, as used in AVI

GF_CODECID_DSP_TRUESPEECH 

codecid for TrueSpeech audio, as used in AVI

GF_CODECID_GSM610 

codecid for GSM 610 audio, as used in AVI

GF_CODECID_IBM_MULAW 

codecid for IBM MULAW audio, as used in AVI

GF_CODECID_IBM_ALAW 

codecid for IBM ALAW audio, as used in AVI

GF_CODECID_IBM_ADPCM 

codecid for IBM ADPCM audio, as used in AVI

GF_CODECID_FLASH 

codecid for Flash/ShockWave streams

GF_CODECID_RAW 

codecid for RAW media streams. No decoder config associated (config through PID properties)

GF_CODECID_RAW_UNCV 

codecid for RAW media streams using UNCV decoder config

GF_CODECID_AV1 
GF_CODECID_VP8 
GF_CODECID_VP9 
GF_CODECID_VP10 
GF_CODECID_MPHA 
GF_CODECID_MHAS 
GF_CODECID_APCH 
GF_CODECID_APCO 
GF_CODECID_APCN 
GF_CODECID_APCS 
GF_CODECID_AP4X 
GF_CODECID_AP4H 
GF_CODECID_TMCD 
GF_CODECID_EVTE 
GF_CODECID_FFV1 

codecid for FFV1

GF_CODECID_FFMPEG 
GF_CODECID_VVC 

codecid for VVC video

GF_CODECID_VVC_SUBPIC 
GF_CODECID_USAC 

codecid for USAC / xHE-AACv2 audio

GF_CODECID_MPEG_AUDIO_L1 

codecid for MPEG-1 Audio streams, layer 1

GF_CODECID_MSPEG4_V3 
GF_CODECID_ALAC 
GF_CODECID_DNXHD 
GF_CODECID_FAKE_MP2T 

◆ anonymous enum

anonymous enum
Enumerator
GPAC_AFX_3DMC 

3D Mesh Compression

GPAC_AFX_WAVELET_SUBDIVISION 

Wavelet Subdivision Surface

GPAC_AFX_MESHGRID 

MeshGrid

GPAC_AFX_COORDINATE_INTERPOLATOR 

Coordinate Interpolator

GPAC_AFX_ORIENTATION_INTERPOLATOR 

Orientation Interpolator

GPAC_AFX_POSITION_INTERPOLATOR 

Position Interpolator

GPAC_AFX_OCTREE_IMAGE 

Octree Image

GPAC_AFX_BBA 

BBA

GPAC_AFX_POINT_TEXTURE 

PointTexture

GPAC_AFX_3DMC_EXT 

3DMC Extension

GPAC_AFX_FOOTPRINT 

FootPrint representation

GPAC_AFX_ANIMATED_MESH 

Animated Mesh Compression

GPAC_AFX_SCALABLE_COMPLEXITY 

Scalable Complexity

◆ anonymous enum

anonymous enum

Audio channel flags for spatialization.

Note
Decoders must output stereo/multichannel audio channels in this order in the decoded audio frame.
Enumerator
GF_AUDIO_CH_FRONT_LEFT 

Left Audio Channel

GF_AUDIO_CH_FRONT_RIGHT 

Right Audio Channel

GF_AUDIO_CH_FRONT_CENTER 

Center Audio Channel - may also be used to signal monophonic audio

GF_AUDIO_CH_LFE 

LFE Audio Channel

GF_AUDIO_CH_SURROUND_LEFT 

Back Left Audio Channel

GF_AUDIO_CH_SURROUND_RIGHT 

Back Right Audio Channel

GF_AUDIO_CH_FRONT_CENTER_LEFT 
GF_AUDIO_CH_FRONT_CENTER_RIGHT 
GF_AUDIO_CH_REAR_SURROUND_LEFT 

Side Left Audio Channel

GF_AUDIO_CH_REAR_SURROUND_RIGHT 

Side Right Audio Channel

GF_AUDIO_CH_REAR_CENTER 

Back Center Audio Channel

GF_AUDIO_CH_SURROUND_DIRECT_LEFT 

Left surround direct Channel

GF_AUDIO_CH_SURROUND_DIRECT_RIGHT 

Right surround direct Channel

GF_AUDIO_CH_SIDE_SURROUND_LEFT 

Left side surround Channel

GF_AUDIO_CH_SIDE_SURROUND_RIGHT 

Right side surround Channel

GF_AUDIO_CH_WIDE_FRONT_LEFT 

Left wide front Channel

GF_AUDIO_CH_WIDE_FRONT_RIGHT 

Right wide front Channel

GF_AUDIO_CH_FRONT_TOP_LEFT 

Left front top Channel

GF_AUDIO_CH_FRONT_TOP_RIGHT 

Right front top Channel

GF_AUDIO_CH_FRONT_TOP_CENTER 

Center front top Channel

GF_AUDIO_CH_SURROUND_TOP_LEFT 

Left surround top Channel

GF_AUDIO_CH_SURROUND_TOP_RIGHT 

Right surround top Channel

GF_AUDIO_CH_REAR_CENTER_TOP 

Center surround top Channel

GF_AUDIO_CH_SIDE_SURROUND_TOP_LEFT 

Left side surround top Channel

GF_AUDIO_CH_SIDE_SURROUND_TOP_RIGHT 

Left side surround top Channel

GF_AUDIO_CH_CENTER_SURROUND_TOP 

Center surround top Channel

GF_AUDIO_CH_LFE2 

LFE 2 Channel

GF_AUDIO_CH_FRONT_BOTTOM_LEFT 

Left front bottom Channel

GF_AUDIO_CH_FRONT_BOTTOM_RIGHT 

Right front bottom Channel

GF_AUDIO_CH_FRONT_BOTTOM_CENTER 

Center front bottom Channel

GF_AUDIO_CH_SURROUND_BOTTOM_LEFT 

Left surround bottom Channel

GF_AUDIO_CH_SURROUND_BOTTOM_RIGHT 

Right surround bottom Channel

◆ GF_AudioFormat

Audio sample bit format.

Enumerator
GF_AUDIO_FMT_U8 

sample = unsigned byte, interleaved channels

GF_AUDIO_FMT_S16 

sample = signed short Little Endian, interleaved channels

GF_AUDIO_FMT_S16_BE 

sample = signed short Big Endian, interleaved channels

GF_AUDIO_FMT_S32 

sample = signed integer, interleaved channels

GF_AUDIO_FMT_S32_BE 

sample = signed integer big-endian, interleaved channels

GF_AUDIO_FMT_FLT 

sample = 1 float, interleaved channels

GF_AUDIO_FMT_FLT_BE 

sample = 1 float bytes in big endian, interleaved channels

GF_AUDIO_FMT_DBL 

sample = 1 double, interleaved channels

GF_AUDIO_FMT_DBL_BE 

sample = 1 double bytes in big-endian order, interleaved channels

GF_AUDIO_FMT_S24 

sample = signed integer, interleaved channels

GF_AUDIO_FMT_S24_BE 

sample = signed integer gig-endian, interleaved channels

GF_AUDIO_FMT_LAST_PACKED 

not a format, indicates the value of last packed format

GF_AUDIO_FMT_U8P 

sample = unsigned byte, planar channels

GF_AUDIO_FMT_S16P 

sample = signed short, planar channels

GF_AUDIO_FMT_S32P 

sample = signed integer, planar channels

GF_AUDIO_FMT_FLTP 

sample = 1 float, planar channels

GF_AUDIO_FMT_DBLP 

sample = 1 double, planar channels

GF_AUDIO_FMT_S24P 

sample = signed integer, planar channels

◆ GF_ColorPrimaries

Color primaries as defined by ISO/IEC 23001-8 / 23091-2

Enumerator
GF_COLOR_PRIM_RESERVED0 
GF_COLOR_PRIM_BT709 
GF_COLOR_PRIM_UNSPECIFIED 
GF_COLOR_PRIM_RESERVED 
GF_COLOR_PRIM_BT470M 
GF_COLOR_PRIM_BT470BG 
GF_COLOR_PRIM_SMPTE170M 
GF_COLOR_PRIM_SMPTE240M 
GF_COLOR_PRIM_FILM 
GF_COLOR_PRIM_BT2020 
GF_COLOR_PRIM_SMPTE428 
GF_COLOR_PRIM_SMPTE431 
GF_COLOR_PRIM_SMPTE432 
GF_COLOR_PRIM_EBU3213 

◆ GF_ColorTransferCharacteristic

Color Transfer Characteristics as defined by ISO/IEC 23001-8 / 23091-2

Enumerator
GF_COLOR_TRC_RESERVED0 
GF_COLOR_TRC_BT709 
GF_COLOR_TRC_UNSPECIFIED 
GF_COLOR_TRC_RESERVED 
GF_COLOR_TRC_GAMMA22 
GF_COLOR_TRC_GAMMA28 
GF_COLOR_TRC_SMPTE170M 
GF_COLOR_TRC_SMPTE240M 
GF_COLOR_TRC_LINEAR 
GF_COLOR_TRC_LOG 
GF_COLOR_TRC_LOG_SQRT 
GF_COLOR_TRC_IEC61966_2_4 
GF_COLOR_TRC_BT1361_ECG 
GF_COLOR_TRC_IEC61966_2_1 
GF_COLOR_TRC_BT2020_10 
GF_COLOR_TRC_BT2020_12 
GF_COLOR_TRC_SMPTE2084 
GF_COLOR_TRC_SMPTE428 
GF_COLOR_TRC_ARIB_STD_B67 

◆ GF_ColorMatrixCoefficients

MatrixCoefficients as defined by ISO/IEC 23001-8 / 23091-2

Enumerator
GF_COLOR_MX_RGB 
GF_COLOR_MX_BT709 
GF_COLOR_MX_UNSPECIFIED 
GF_COLOR_MX_RESERVED 
GF_COLOR_MX_FCC47 
GF_COLOR_MX_BT470BG 
GF_COLOR_MX_SMPTE170M 
GF_COLOR_MX_SMPTE240M 
GF_COLOR_MX_YCGCO 
GF_COLOR_MX_BT2020_NCL 
GF_COLOR_MX_BT2020_CL 
GF_COLOR_MX_SMPTE2085 

◆ GF_ChromaLocation

Chroma location values, semantics from CoreVideo - direct match of values to FFmpeg

Enumerator
GF_CHROMALOC_UNKNOWN 

Chroma location is not known

GF_CHROMALOC_LEFT 

Chroma sample is horizontally co-sited with the left column of luma samples, but centered vertically (MPEG-2/4 4:2:0, H.264 default for 4:2:0)

GF_CHROMALOC_CENTER 

The chroma sample is fully centered ( MPEG-1 4:2:0, JPEG 4:2:0, H.263 4:2:0)

GF_CHROMALOC_TOPLEFT 

The chroma sample is co-sited with the top-left luma sample (ITU-R 601, SMPTE 274M 296M S314M(DV 4:1:1), mpeg2 4:2:2)

GF_CHROMALOC_TOP 

The chroma sample is horizontally centered, but is co-sited with the top row of luma samples

GF_CHROMALOC_BOTTOMLEFT 

The chroma sample is co-sited with the bottom-left luma sample

GF_CHROMALOC_BOTTOM 

The chroma sample is horizontally centered, but is co-sited with the bottom row of luma samples

GF_CHROMALOC_DV420 

The Cr and Cb samples are alternatingly co-sited with the left luma samples of the same field

◆ anonymous enum

anonymous enum

DIMS Unit header flags as 3GPP TS 26.142.

Enumerator
GF_DIMS_UNIT_S 

S: is-Scene: DIMS unit contains a complete document (svg)

GF_DIMS_UNIT_M 

M: is-RAP: DIMS unit is a random access point

GF_DIMS_UNIT_I 

I: is-Redundant: DIMS unit is made of redundant data

GF_DIMS_UNIT_D 

D: redundant-exit: DIMS unit is the end of redundant data

GF_DIMS_UNIT_P 

P: priority: DIMS unit is high priority

GF_DIMS_UNIT_C 

C: compressed: DIMS unit is compressed

◆ anonymous enum

anonymous enum

AVC NAL unit types

Enumerator
GF_AVC_NALU_NON_IDR_SLICE 

Non IDR AVC slice

GF_AVC_NALU_DP_A_SLICE 

DP_A AVC slice

GF_AVC_NALU_DP_B_SLICE 

DP_B AVC slice

GF_AVC_NALU_DP_C_SLICE 

DP_C AVC slice

GF_AVC_NALU_IDR_SLICE 

IDR AVC slice

GF_AVC_NALU_SEI 

SEI Message

GF_AVC_NALU_SEQ_PARAM 

Sequence Parameter Set

GF_AVC_NALU_PIC_PARAM 

Picture Parameter Set

GF_AVC_NALU_ACCESS_UNIT 

Access Unit delimiter

GF_AVC_NALU_END_OF_SEQ 

End of Sequence

GF_AVC_NALU_END_OF_STREAM 

End of stream

GF_AVC_NALU_FILLER_DATA 

Filler data

GF_AVC_NALU_SEQ_PARAM_EXT 

Sequence Parameter Set Extension

GF_AVC_NALU_SVC_PREFIX_NALU 

SVC preffix

GF_AVC_NALU_SVC_SUBSEQ_PARAM 

SVC subsequence parameter set

GF_AVC_NALU_SLICE_AUX 

Auxiliary slice

GF_AVC_NALU_SVC_SLICE 

SVC slice

GF_AVC_NALU_VDRD 

View and dependency representation delimiter

GF_AVC_NALU_DV_RPU 

Dolby Vision RPU

GF_AVC_NALU_DV_EL 

Dolby Vision EL

GF_AVC_NALU_FF_AGGREGATOR 

NALU-FF extractor

GF_AVC_NALU_FF_EXTRACTOR 

NALU-FF aggregator

◆ anonymous enum

anonymous enum

AVC slice types

Enumerator
GF_AVC_TYPE_P 

P slice

GF_AVC_TYPE_B 

B slice

GF_AVC_TYPE_I 

I slice

GF_AVC_TYPE_SP 

SP slice

GF_AVC_TYPE_SI 

SI slice

GF_AVC_TYPE2_P 

Type2 P slice

GF_AVC_TYPE2_B 

Type2 B slice

GF_AVC_TYPE2_I 

Type2 I slice

GF_AVC_TYPE2_SP 

Type2 SP slice

GF_AVC_TYPE2_SI 

Type2 SI slice

◆ anonymous enum

anonymous enum

HEVC NAL unit types

Enumerator
GF_HEVC_NALU_SLICE_TRAIL_N 

Trail N HEVC slice

GF_HEVC_NALU_SLICE_TRAIL_R 

Trail R HEVC slice

GF_HEVC_NALU_SLICE_TSA_N 

TSA N HEVC slice

GF_HEVC_NALU_SLICE_TSA_R 

TSA R HEVC slice

GF_HEVC_NALU_SLICE_STSA_N 

STSA N HEVC slice

GF_HEVC_NALU_SLICE_STSA_R 

STSA R HEVC slice

GF_HEVC_NALU_SLICE_RADL_N 

RADL N HEVC slice

GF_HEVC_NALU_SLICE_RADL_R 

RADL R HEVC slice

GF_HEVC_NALU_SLICE_RASL_N 

RASL N HEVC slice

GF_HEVC_NALU_SLICE_RASL_R 

RASL R HEVC slice

GF_HEVC_NALU_SLICE_RSV_VCL_N10 

Reserved non-IRAP SLNR VCL NAL unit types

GF_HEVC_NALU_SLICE_RSV_VCL_N12 
GF_HEVC_NALU_SLICE_RSV_VCL_N14 
GF_HEVC_NALU_SLICE_RSV_VCL_R11 

Reserved non-IRAP sub-layer reference VCL NAL unit types

GF_HEVC_NALU_SLICE_RSV_VCL_R13 
GF_HEVC_NALU_SLICE_RSV_VCL_R15 
GF_HEVC_NALU_SLICE_BLA_W_LP 

BLA LP HEVC slice

GF_HEVC_NALU_SLICE_BLA_W_DLP 

BLA DLP HEVC slice

GF_HEVC_NALU_SLICE_BLA_N_LP 

BLA no LP HEVC slice

GF_HEVC_NALU_SLICE_IDR_W_DLP 

IDR DLP HEVC slice

GF_HEVC_NALU_SLICE_IDR_N_LP 

IDR HEVC slice

GF_HEVC_NALU_SLICE_CRA 

CRA HEVC slice

GF_HEVC_NALU_VID_PARAM 

Video Parameter Set

GF_HEVC_NALU_SEQ_PARAM 

Sequence Parameter Set

GF_HEVC_NALU_PIC_PARAM 

Picture Parameter Set

GF_HEVC_NALU_ACCESS_UNIT 

AU delimiter

GF_HEVC_NALU_END_OF_SEQ 

End of sequence

GF_HEVC_NALU_END_OF_STREAM 

End of stream

GF_HEVC_NALU_FILLER_DATA 

Filler Data

GF_HEVC_NALU_SEI_PREFIX 

prefix SEI message

GF_HEVC_NALU_SEI_SUFFIX 

suffix SEI message

GF_HEVC_NALU_FF_AGGREGATOR 

NALU-FF aggregator

GF_HEVC_NALU_FF_EXTRACTOR 

NALU-FF extractor

GF_HEVC_NALU_DV_RPU 

Dolby Vision RPU

GF_HEVC_NALU_DV_EL 

Dolby Vision EL

◆ anonymous enum

anonymous enum

VVC NAL unit types - vtm10)

Enumerator
GF_VVC_NALU_SLICE_TRAIL 

Trail N VVC slice

GF_VVC_NALU_SLICE_STSA 

STSA N VVC slice

GF_VVC_NALU_SLICE_RADL 

STSA N VVC slice

GF_VVC_NALU_SLICE_RASL 

STSA N VVC slice

GF_VVC_NALU_SLICE_IDR_W_RADL 

IDR with RADL VVC slice

GF_VVC_NALU_SLICE_IDR_N_LP 

IDR DLP VVC slice

GF_VVC_NALU_SLICE_CRA 

CRA VVC slice

GF_VVC_NALU_SLICE_GDR 

CRA VVC slice

GF_VVC_NALU_OPI 

Operation Point Info

GF_VVC_NALU_DEC_PARAM 

Decode Parameter Set

GF_VVC_NALU_VID_PARAM 

Video Parameter Set

GF_VVC_NALU_SEQ_PARAM 

Sequence Parameter Set

GF_VVC_NALU_PIC_PARAM 

Picture Parameter Set

GF_VVC_NALU_APS_PREFIX 

APS prefix

GF_VVC_NALU_APS_SUFFIX 

APS suffix

GF_VVC_NALU_PIC_HEADER 

Picture Header

GF_VVC_NALU_ACCESS_UNIT 

AU delimiter

GF_VVC_NALU_END_OF_SEQ 

End of sequence

GF_VVC_NALU_END_OF_STREAM 

End of stream

GF_VVC_NALU_SEI_PREFIX 

prefix SEI message

GF_VVC_NALU_SEI_SUFFIX 

suffix SEI message

GF_VVC_NALU_FILLER_DATA 

Filler Data

◆ GF_ID3v2FrameType

ID3v2 tags

Enumerator
GF_ID3V2_FRAME_AENC 
GF_ID3V2_FRAME_APIC 
GF_ID3V2_FRAME_COMM 
GF_ID3V2_FRAME_COMR 
GF_ID3V2_FRAME_ENCR 
GF_ID3V2_FRAME_EQUA 
GF_ID3V2_FRAME_ETCO 
GF_ID3V2_FRAME_GEOB 
GF_ID3V2_FRAME_GRID 
GF_ID3V2_FRAME_IPLS 
GF_ID3V2_FRAME_LINK 
GF_ID3V2_FRAME_MCDI 
GF_ID3V2_FRAME_MLLT 
GF_ID3V2_FRAME_OWNE 
GF_ID3V2_FRAME_PRIV 
GF_ID3V2_FRAME_PCNT 
GF_ID3V2_FRAME_POPM 
GF_ID3V2_FRAME_POSS 
GF_ID3V2_FRAME_RBUF 
GF_ID3V2_FRAME_RVAD 
GF_ID3V2_FRAME_RVRB 
GF_ID3V2_FRAME_SYLT 
GF_ID3V2_FRAME_SYTC 
GF_ID3V2_FRAME_TALB 
GF_ID3V2_FRAME_TBPM 
GF_ID3V2_FRAME_TCAT 
GF_ID3V2_FRAME_TCMP 
GF_ID3V2_FRAME_TCOM 
GF_ID3V2_FRAME_TCON 
GF_ID3V2_FRAME_TCOP 
GF_ID3V2_FRAME_TDAT 
GF_ID3V2_FRAME_TDES 
GF_ID3V2_FRAME_TDLY 
GF_ID3V2_FRAME_TDRC 
GF_ID3V2_FRAME_TENC 
GF_ID3V2_FRAME_TEXT 
GF_ID3V2_FRAME_TFLT 
GF_ID3V2_FRAME_TIME 
GF_ID3V2_FRAME_TIT1 
GF_ID3V2_FRAME_TIT2 
GF_ID3V2_FRAME_TIT3 
GF_ID3V2_FRAME_TKEY 
GF_ID3V2_FRAME_TKWD 
GF_ID3V2_FRAME_TLAN 
GF_ID3V2_FRAME_TLEN 
GF_ID3V2_FRAME_TMED 
GF_ID3V2_FRAME_TOAL 
GF_ID3V2_FRAME_TOFN 
GF_ID3V2_FRAME_TOLY 
GF_ID3V2_FRAME_TOPE 
GF_ID3V2_FRAME_TORY 
GF_ID3V2_FRAME_TOWN 
GF_ID3V2_FRAME_TPE1 
GF_ID3V2_FRAME_TPE2 
GF_ID3V2_FRAME_TPE3 
GF_ID3V2_FRAME_TPE4 
GF_ID3V2_FRAME_TPOS 
GF_ID3V2_FRAME_TPUB 
GF_ID3V2_FRAME_TRCK 
GF_ID3V2_FRAME_TRDA 
GF_ID3V2_FRAME_TRSN 
GF_ID3V2_FRAME_TRSO 
GF_ID3V2_FRAME_TSIZ 
GF_ID3V2_FRAME_TSO2 
GF_ID3V2_FRAME_TSOA 
GF_ID3V2_FRAME_TSOC 
GF_ID3V2_FRAME_TSOT 
GF_ID3V2_FRAME_TSOP 
GF_ID3V2_FRAME_TSRC 
GF_ID3V2_FRAME_TSSE 
GF_ID3V2_FRAME_TYER 
GF_ID3V2_FRAME_TXXX 
GF_ID3V2_FRAME_UFID 
GF_ID3V2_FRAME_USER 
GF_ID3V2_FRAME_USLT 
GF_ID3V2_FRAME_WCOM 
GF_ID3V2_FRAME_WCOP 
GF_ID3V2_FRAME_WOAF 
GF_ID3V2_FRAME_WOAR 
GF_ID3V2_FRAME_WOAS 
GF_ID3V2_FRAME_WORS 
GF_ID3V2_FRAME_WPAY 
GF_ID3V2_FRAME_WPUB 
GF_ID3V2_FRAME_WXXX 

◆ anonymous enum

anonymous enum

tag base types

Enumerator
GF_ITAG_STR 

tag is a string

GF_ITAG_INT8 

tag is an 8 bit int

GF_ITAG_INT16 

tag is a 16 bit int

GF_ITAG_INT32 

tag is a 32 bit int

GF_ITAG_INT64 

tag is an 64 bits int

GF_ITAG_BOOL 

tag is a boolean (8bit)

GF_ITAG_ID3_GENRE 

tag is ID3 genre tag, either 32 bit int or string

GF_ITAG_FRAC6 

tag is an fraction on 6 bytes (first 2 unused)

GF_ITAG_FRAC8 

tag is an fraction on 8 bytes (first 2 and last 2 unused)

GF_ITAG_FILE 

tag is a file

◆ anonymous enum

anonymous enum

meta types from box_code_meta.c - fileimport.c

Enumerator
GF_META_ITEM_TYPE_MIME 
GF_META_ITEM_TYPE_URI 
GF_META_ITEM_TYPE_PICT 
GF_META_TYPE_SVG 
GF_META_TYPE_SVGZ 
GF_META_TYPE_SMIL 
GF_META_TYPE_SMLZ 
GF_META_TYPE_X3D 
GF_META_TYPE_X3DZ 
GF_META_TYPE_XMTA 
GF_META_TYPE_XMTZ 
GF_META_TYPE_RVCI 

◆ anonymous enum

anonymous enum

meta types from box_code_meta.c - fileimport.c

Enumerator
GF_S4CC_MPEG4 
GF_S4CC_LASER 

◆ anonymous enum

anonymous enum

CICP code points for color primaries

Enumerator
GF_CICP_PRIM_RESERVED_0 
GF_CICP_PRIM_BT709 
GF_CICP_PRIM_UNSPECIFIED 
GF_CICP_PRIM_RESERVED_3 
GF_CICP_PRIM_BT470M 
GF_CICP_PRIM_BT470G 
GF_CICP_PRIM_SMPTE170 
GF_CICP_PRIM_SMPTE240 
GF_CICP_PRIM_FILM 
GF_CICP_PRIM_BT2020 
GF_CICP_PRIM_SMPTE428 
GF_CICP_PRIM_SMPTE431 
GF_CICP_PRIM_SMPTE432 
GF_CICP_PRIM_EBU3213 
GF_CICP_PRIM_LAST 

◆ anonymous enum

anonymous enum

CICP code points for color transfer

Enumerator
GF_CICP_TRANSFER_RESERVED_0 
GF_CICP_TRANSFER_BT709 
GF_CICP_TRANSFER_UNSPECIFIED 
GF_CICP_TRANSFER_RESERVED_3 
GF_CICP_TRANSFER_BT470M 
GF_CICP_TRANSFER_BT470BG 
GF_CICP_TRANSFER_SMPTE170 
GF_CICP_TRANSFER_SMPTE240 
GF_CICP_TRANSFER_LINEAR 
GF_CICP_TRANSFER_LOG100 
GF_CICP_TRANSFER_LOG316 
GF_CICP_TRANSFER_IEC61966 
GF_CICP_TRANSFER_BT1361 
GF_CICP_TRANSFER_SRGB 
GF_CICP_TRANSFER_BT2020_10 
GF_CICP_TRANSFER_BT2020_12 
GF_CICP_TRANSFER_SMPTE2084 
GF_CICP_TRANSFER_SMPTE428 
GF_CICP_TRANSFER_STDB67 
GF_CICP_TRANSFER_LAST 

◆ anonymous enum

anonymous enum

CICP code points for matrix coefficients

Enumerator
GF_CICP_MX_IDENTITY 
GF_CICP_MX_BT709 
GF_CICP_MX_UNSPECIFIED 
GF_CICP_MX_RESERVED_3 
GF_CICP_MX_FCC47 
GF_CICP_MX_BT601_625 
GF_CICP_MX_SMPTE170 
GF_CICP_MX_SMPTE240 
GF_CICP_MX_YCgCo 
GF_CICP_MX_BT2020 
GF_CICP_MX_BT2020_CL 
GF_CICP_MX_YDzDx 
GF_CICP_MX_LAST 

◆ anonymous enum

anonymous enum

stereo frame packing types

Enumerator
GF_STEREO_NONE 

monoscopic video

GF_STEREO_TOP_BOTTOM 

left eye in top half of video, right eye in bottom half of video

GF_STEREO_LEFT_RIGHT 

left eye in left half of video, right eye in right half of video

GF_STEREO_CUSTOM 

stereo mapped through mesh

GF_STEREO_RIGHT_LEFT 

left eye in right half of video, right eye in left half of video

GF_STEREO_BOTTOM_TOP 

left eye in bottom half of video, right eye in top half of video

◆ anonymous enum

anonymous enum

360 projection types

Enumerator
GF_PROJ360_NONE 

flat video

GF_PROJ360_CUBE_MAP 

cube map projection video is upper half: right, left, up, lower half: down, front, back

GF_PROJ360_EQR 

Equirectangular projection / video

GF_PROJ360_MESH 

Mesh projection (not supported yet)

◆ anonymous enum

anonymous enum

Low latency HTTP adaptive streaming mode, set by dasher filter and used by other filter

Enumerator
GF_LLHAS_NONE 

no low-latency profile

GF_LLHAS_BYTERANGES 

LL-HLS using byte ranges

GF_LLHAS_PARTS 

LL-HLS using seperate parts

GF_LLHAS_SUBSEG 

DASH SSR mode (only sub-parts are generated

Function Documentation

◆ gf_stream_type_name()

const char* gf_stream_type_name ( u32  streamType)

Gets the stream type name based on stream type

Parameters
streamTypestream type GF_STREAM_XXX as defined in constants.h
Returns
NULL if unknown, otherwise value
+ Here is the caller graph for this function:

◆ gf_stream_type_short_name()

const char* gf_stream_type_short_name ( u32  streamType)

Gets the stream type short name based on stream type (usually the lower case value of the stream name)

Parameters
streamTypestream type GF_STREAM_XXX as defined in constants.h
Returns
NULL if unknown, otherwise value
+ Here is the caller graph for this function:

◆ gf_stream_type_by_name()

u32 gf_stream_type_by_name ( const char *  name)

Gets the stream type by name

Parameters
namename of the stream type to query
Returns
GF_STREAM_UNKNOWN if unknown, otherwise GF_STREAM_XXX value
+ Here is the caller graph for this function:

◆ gf_stream_types_enum()

u32 gf_stream_types_enum ( u32 idx,
const char **  name,
const char **  desc 
)

Enumerates defined stream types

Parameters
idxindex of the stream type, 0-based
namename of the stream type (used when parsing stream type from textual definition)
descdescription of the stream type
Returns
stream type, or GF_STREAM_UNKNOWN if no more stream types
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_parse()

GF_PixelFormat gf_pixel_fmt_parse ( const char *  pf_name)

enumerates GPAC pixel formats

Parameters
pf_namename of the pixel format
Returns
pixel format code
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_name()

const char* gf_pixel_fmt_name ( GF_PixelFormat  pfmt)

gets name of pixel formats

Parameters
pfmtpixel format code
Returns
pixel format name
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_probe()

Bool gf_pixel_fmt_probe ( GF_PixelFormat  pf_4cc,
const char *  pf_name 
)

checks if pixel format is known, does not throw error message

Parameters
pf_4ccpixel format code or 0
pf_namepixel format name or short name or NULL
Returns
GF_TRUE is format is known, GF_FALSE otherwise
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_sname()

const char* gf_pixel_fmt_sname ( GF_PixelFormat  pfmt)

gets short name of pixel formats, as used for file extensions

Parameters
pfmtpixel format code
Returns
pixel format short name, "unknown" if not found
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_enum()

GF_PixelFormat gf_pixel_fmt_enum ( u32 idx,
const char **  name,
const char **  fileext,
const char **  description 
)

enumerates pixel formats

Parameters
idxindex of the pixel format, 0-based
namename of the pixel format
fileextfile extension of the pixel format
descriptiondescription of the pixel format
Returns
pixel format code, 0 if no more pixel formats are available
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_all_names()

const char* gf_pixel_fmt_all_names ( )

gets the list of all supported pixel format names

Returns
list of supported pixel format names
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_all_shortnames()

const char* gf_pixel_fmt_all_shortnames ( )

gets the list of all supported pixel format names

Returns
list of supported pixel format short names
+ Here is the caller graph for this function:

◆ gf_pixel_get_size_info()

Bool gf_pixel_get_size_info ( GF_PixelFormat  pixfmt,
u32  width,
u32  height,
u32 out_size,
u32 out_stride,
u32 out_stride_uv,
u32 out_planes,
u32 out_plane_uv_height 
)

returns size and stride characteristics for the pixel format. If the stride or stride_uv value are not 0, they are used to compute the size. Otherwise no padding at end of line is assumed.

Parameters
pixfmtpixfmt format code
widthtarget frame width
heighttarget frame height
[out]out_sizeoutput frame size
[in,out]out_strideoutput frame stride for single plane or plane 0
[in,out]out_stride_uvoutput frame stride for UV planes
[out]out_planesoutput frame plane numbers
[out]out_plane_uv_heightheight of UV planes
Returns
error code if any
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_pixel_get_bytes_per_pixel()

u32 gf_pixel_get_bytes_per_pixel ( GF_PixelFormat  pixfmt)

Gets the number of bytes per pixel on first plane

Parameters
pixfmtpixel format code
Returns
number of bytes per pixel
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_pixel_is_wide_depth()

u32 gf_pixel_is_wide_depth ( GF_PixelFormat  pixfmt)

Gets the number of bits per component

Parameters
pixfmtpixel format code
Returns
number of bits per component
+ Here is the caller graph for this function:

◆ gf_pixel_get_nb_comp()

u32 gf_pixel_get_nb_comp ( GF_PixelFormat  pixfmt)

Gets the number of component per pixel

Parameters
pixfmtpixel format code
Returns
number of bytes per pixel
+ Here is the call graph for this function:

◆ gf_pixel_get_downsampling()

void gf_pixel_get_downsampling ( GF_PixelFormat  pixfmt,
u32 downsample_w,
u32 downsample_h 
)

Gets the downsampling factor for this format

Parameters
pixfmtpixel format code
downsample_wset to horizontal downsampling, 1 if none
downsample_hset to vertical downsampling, 1 if none

◆ gf_pixel_fmt_is_transparent()

Bool gf_pixel_fmt_is_transparent ( GF_PixelFormat  pixfmt)

Checks if pixel format is transparent

Parameters
pixfmtpixel format code
Returns
GF_TRUE if alpha channel is present, GF_FALSE otherwise
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_is_yuv()

Bool gf_pixel_fmt_is_yuv ( GF_PixelFormat  pixfmt)

Checks if format is YUV

Parameters
pixfmtpixel format code
Returns
GF_TRUE is YUV format, GF_FALSE otherwise (greyscale or RGB)
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_from_qt_type()

GF_PixelFormat gf_pixel_fmt_from_qt_type ( u32  qt_code)

gets pixel format associated with a given uncompressed video QT code

Parameters
qt_codethe desired QT/ISOBMFF uncompressed video code
Returns
the corresponding pixel format, or 0 if unknown code
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_to_qt_type()

u32 gf_pixel_fmt_to_qt_type ( GF_PixelFormat  pixfmt)

gets QY code associated with a given pixel format

Parameters
pixfmtthe desired pixel format
Returns
the corresponding QT code, or 0 if no asociation
+ Here is the caller graph for this function:

◆ gf_pixel_fmt_get_uncc()

Bool gf_pixel_fmt_get_uncc ( GF_PixelFormat  pixfmt,
u32  profile_mode,
u8 **  dsi,
u32 dsi_size 
)

gets uncC configuration (ISO 23001-17) of pixel format. The configuration is made of the boxes uncC and cmpd in full mode, and uncC only in restricted mode

Parameters
pixfmtthe desired pixel format
profile_modeif 1, sets profile if known. If 2 and profile is known, use reduced version
dsiset to the generated configuration, must be freed by user
dsi_sizeset to the generated configuration size
Returns
GF_TRU if success, GF_FALSE otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_codecid_name()

const char* gf_codecid_name ( GF_CodecID  codecid)

Gets a textual description for the given codecID

Parameters
codecidtarget codec ID
Returns
textual description of the stream
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_codecid_enum()

GF_CodecID gf_codecid_enum ( u32  idx,
const char **  short_name,
const char **  long_name 
)

Enumerates supported codec format

Parameters
idx0-based index, to incremented at each call
short_namepointer for codec name
long_namepointer for codec description
Returns
codec ID
+ Here is the caller graph for this function:

◆ gf_codecid_type()

u32 gf_codecid_type ( GF_CodecID  codecid)

Gets the associated streamtype for the given codecID

Parameters
codecidtarget codec ID
Returns
stream type if known, GF_STREAM_UNKNOWN otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_codecid_alt()

GF_CodecID gf_codecid_alt ( GF_CodecID  codecid)

Gets alternate ID of codec if any

Parameters
codecidtarget codec ID
Returns
alternate codec ID if known, GF_CODECID_NONE otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_codecid_oti()

u8 gf_codecid_oti ( GF_CodecID  codecid)

Gets the associated ObjectTypeIndication if any for the given codecID

Parameters
codecidtarget codec ID
Returns
ObjectTypeIndication if defined, 0 otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_codecid_from_oti()

GF_CodecID gf_codecid_from_oti ( u32  stream_type,
u32  oti 
)

Gets the codecID from a given ObjectTypeIndication

Parameters
stream_typestream type of the stream
otiObjectTypeIndication of the stream
Returns
the codecID for this OTI
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_codecid_4cc_type()

u32 gf_codecid_4cc_type ( GF_CodecID  codecid)

Gets the associated 4CC used by isomedia or RFC6381

Parameters
codecidtarget codec ID
Returns
RFC 4CC of codec, 0 if not mapped/known
+ Here is the caller graph for this function:

◆ gf_codecid_has_unframer()

Bool gf_codecid_has_unframer ( GF_CodecID  codecid)

Checks if reframer/unframer exists for this codec in gpac

Parameters
codecidtarget codec ID
Returns
GF_TRUE if reframer/unframer exist (bitstream reparse is possible), GF_FALSE otherwise
+ Here is the caller graph for this function:

◆ gf_codecid_parse()

GF_CodecID gf_codecid_parse ( const char *  cname)

Gets the codecid given the associated short name

Parameters
cnametarget codec short name
Returns
codecid codec ID
+ Here is the caller graph for this function:

◆ gf_codecid_file_ext()

const char* gf_codecid_file_ext ( GF_CodecID  codecid)

Gets the raw file ext (one or more, | separated) for the given codecid

Parameters
codecidcodec ID
Returns
returns file extension
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_codecid_mime()

const char* gf_codecid_mime ( GF_CodecID  codecid)

Gets the raw file mime type for the given codecid

Parameters
codecidcodec ID
Returns
returns file mime type
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_codec_id_from_isobmf()

GF_CodecID gf_codec_id_from_isobmf ( u32  isobmftype)

Gets the codecid from isomedia code point

Parameters
isobmftypeisomedia code point
Returns
codec ID, 0 if not mapped/known
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_stream_type_afx_name()

const char* gf_stream_type_afx_name ( u8  afx_code)

Gets a textual description of an AFX stream type

Parameters
afx_codetarget stream type descriptor
Returns
textural description of the AFX stream
+ Here is the caller graph for this function:

◆ gf_audio_fmt_parse()

GF_AudioFormat gf_audio_fmt_parse ( const char *  af_name)

enumerates GPAC audio formats

Parameters
af_namename of the audio format
Returns
audio format code
+ Here is the caller graph for this function:

◆ gf_audio_fmt_name()

const char* gf_audio_fmt_name ( GF_AudioFormat  afmt)

gets name of audio formats

Parameters
afmtaudio format code
Returns
audio format name
+ Here is the caller graph for this function:

◆ gf_audio_fmt_sname()

const char* gf_audio_fmt_sname ( GF_AudioFormat  afmt)

gets short name of audio formats, as used for file extensions

Parameters
afmtaudio format code
Returns
audio format short name
+ Here is the caller graph for this function:

◆ gf_audio_fmt_all_names()

const char* gf_audio_fmt_all_names ( )

gets the list of all supported audio format names

Returns
list of supported audio format names
+ Here is the caller graph for this function:

◆ gf_audio_fmt_all_shortnames()

const char* gf_audio_fmt_all_shortnames ( )

gets the list of all supported audio format names

Returns
list of supported audio format short names
+ Here is the caller graph for this function:

◆ gf_audio_fmt_bit_depth()

u32 gf_audio_fmt_bit_depth ( GF_AudioFormat  afmt)

returns number of bits per sample for the given format

Parameters
afmtdesired audio format
Returns
bit depth of format
+ Here is the caller graph for this function:

◆ gf_audio_fmt_is_planar()

Bool gf_audio_fmt_is_planar ( GF_AudioFormat  afmt)

Check if a given audio format is planar

Parameters
afmtdesired audio format
Returns
GF_TRUE if the format is planar, false otherwise
+ Here is the caller graph for this function:

◆ gf_audio_fmt_from_isobmf()

GF_AudioFormat gf_audio_fmt_from_isobmf ( u32  msubtype)

Returns audio format for raw audio ISOBMFF sample description type

Parameters
msubtypeISOBMFF sample description type
Returns
the associated audio format or 0 if not known
+ Here is the caller graph for this function:

◆ gf_audio_fmt_to_isobmf()

u32 gf_audio_fmt_to_isobmf ( GF_AudioFormat  afmt)

Returns QTFF/ISOBMFF sample description 4CC of an audio format

Parameters
afmtaudio format to query
Returns
the associated 4CC or 0 if not known
+ Here is the caller graph for this function:

◆ gf_audio_fmt_enum()

GF_AudioFormat gf_audio_fmt_enum ( u32 idx,
const char **  name,
const char **  fileext,
const char **  desc 
)

enumerates audio formats

Parameters
idxindex of the audio format, 0-based
namename of the audio format
fileextfile extension of the pixel format
descaudio format description
Returns
audio format or 0 if no more audio formats are available
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_cicp_layout()

u32 gf_audio_fmt_get_cicp_layout ( u32  nb_chan,
u32  nb_surr,
u32  nb_lfe 
)

get CICP layout code point from audio configuration

Parameters
nb_chantotal number of channels
nb_surrnumber of surround channels
nb_lfenumber of LFE channels
Returns
CICP layout code point format or 0 if unknown
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_layout_from_cicp()

u64 gf_audio_fmt_get_layout_from_cicp ( u32  cicp_layout)

get channel layout mask from CICP layout

Parameters
cicp_layoutchannel layout CICP code point
Returns
layout mask or 0 if unknown
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_layout_name_from_cicp()

const char* gf_audio_fmt_get_layout_name_from_cicp ( u32  cicp_layout)

get CICP layout name

Parameters
cicp_layoutchannel layout CICP code point
Returns
name of layout of "unknown" if unknown
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_layout_name()

const char* gf_audio_fmt_get_layout_name ( u64  chan_layout)

get channel layout name

Parameters
chan_layoutchannel layout mask
Returns
name of layout of "unknown" if unknown
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_layout_from_name()

u64 gf_audio_fmt_get_layout_from_name ( const char *  name)

get channel layout from name

Parameters
namechannel layout name
Returns
channel layout mask
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_cicp_from_layout()

u32 gf_audio_fmt_get_cicp_from_layout ( u64  chan_layout)

get CICP layout value from channel layout mask

Parameters
chan_layoutchannel layout mask
Returns
CICP code point or 255 if unknown
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_num_channels_from_layout()

u32 gf_audio_fmt_get_num_channels_from_layout ( u64  chan_layout)

get channel count from channel layout

Parameters
chan_layoutchannel layout mask
Returns
number of channels in this layout
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_dolby_chanmap()

u16 gf_audio_fmt_get_dolby_chanmap ( u32  cicp_layout)

get dloby chanmap value from cicp layout

Parameters
cicp_layoutchannel CICP layout
Returns
dolby chanmap
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_dolby_chanmap_from_layout()

u16 gf_audio_fmt_get_dolby_chanmap_from_layout ( u64  channel_layout)

get dloby chanmap value from channel layout

Parameters
channel_layoutchannel layout mask
Returns
dolby chanmap
+ Here is the caller graph for this function:

◆ gf_audio_fmt_cicp_enum()

u32 gf_audio_fmt_cicp_enum ( u32  idx,
const char **  short_name,
u64 ch_mask 
)

enumerates CICP channel layout

Parameters
idxindex of cicp layout value to query
short_nameset t o CICP name as used in GPAC - may be NULL
ch_maskset t o audio channel mask, as used in GPAC - may be NULL
Returns
CICP code point, or 0 if no more to enumerate
+ Here is the caller graph for this function:

◆ gf_audio_fmt_get_cicp_from_name()

u32 gf_audio_fmt_get_cicp_from_name ( const char *  name)

get CICP code from name

Parameters
namechannel layout name
Returns
channel CICP code

◆ gf_audio_fmt_get_cicp_name()

const char* gf_audio_fmt_get_cicp_name ( u32  cicp_code)

get CICP name from code

Parameters
cicp_codechannel cicp code
Returns
channel CICP name
+ Here is the caller graph for this function:

◆ gf_audio_fmt_cicp_all_names()

const char* gf_audio_fmt_cicp_all_names ( )

get all CICP layout names

Returns
CICP names separated with '|'
+ Here is the caller graph for this function:

◆ gf_itags_find_by_id3tag()

s32 gf_itags_find_by_id3tag ( u32  id3tag)

finds a tag by its ID3 value

Parameters
id3tagID3 tag value
Returns
corresponding tag index, -1 if not found
+ Here is the caller graph for this function:

◆ gf_itags_find_by_itag()

s32 gf_itags_find_by_itag ( u32  itag)

finds a tag by its itunes value

Parameters
itagitunes tag value
Returns
corresponding tag index, -1 if not found
+ Here is the caller graph for this function:

◆ gf_itags_find_by_name()

s32 gf_itags_find_by_name ( const char *  tag_name)

finds a tag by its name

Parameters
tag_nametag name
Returns
corresponding tag index, -1 if not found
+ Here is the caller graph for this function:

◆ gf_itags_get_type()

s32 gf_itags_get_type ( u32  tag_idx)

gets tag associated type

Parameters
tag_idxtag index
Returns
corresponding tag type, -1 if error
+ Here is the caller graph for this function:

◆ gf_itags_get_name()

const char* gf_itags_get_name ( u32  tag_idx)

gets tag associated name

Parameters
tag_idxtag index
Returns
corresponding tag name, NULL if error
+ Here is the caller graph for this function:

◆ gf_itags_get_alt_name()

const char* gf_itags_get_alt_name ( u32  tag_idx)

gets tag associated alternative names

Parameters
tag_idxtag index
Returns
corresponding tag name, NULL if none
+ Here is the caller graph for this function:

◆ gf_itags_get_itag()

u32 gf_itags_get_itag ( u32  tag_idx)

gets tag associated itunes tag

Parameters
tag_idxtag index
Returns
corresponding itunes tag, 0 if error
+ Here is the caller graph for this function:

◆ gf_itags_get_id3tag()

u32 gf_itags_get_id3tag ( u32  tag_idx)

gets tag associated id3 tag

Parameters
tag_idxtag index
Returns
corresponding id3 tag, 0 if error
+ Here is the caller graph for this function:

◆ gf_itags_enum_tags()

const char* gf_itags_enum_tags ( u32 tag_idx,
u32 itag,
u32 id3tag,
u32 type 
)

enumerates tags

Parameters
tag_idxtag index, increased at each call
itagset to itunes tag value - may be NULL
id3tagset to ID3 tag value - may be NULL
typeset to tag type - may be NULL
Returns
tag name, NULL if error
+ Here is the caller graph for this function:

◆ gf_id3_get_genre()

const char* gf_id3_get_genre ( u32  tag)

gets genre name by genre tag

Parameters
taggenre tag (from 1 to max number of ID3 genres)
Returns
genre name, NULL if not found
+ Here is the caller graph for this function:

◆ gf_id3_get_genre_tag()

u32 gf_id3_get_genre_tag ( const char *  name)

gets genre tag by genre name

Parameters
namegenre name
Returns
genre tag, 0 if not found
+ Here is the caller graph for this function:

◆ gf_cicp_parse_color_primaries()

u32 gf_cicp_parse_color_primaries ( const char *  val)

parse CICP color primaries

Parameters
valCICP color primaries name
Returns
0xFFFFFFFF if error , value otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_cicp_color_primaries_name()

const char* gf_cicp_color_primaries_name ( u32  cicp_prim)

get CICP color primaries name

Parameters
cicp_primCICP color primaries code
Returns
name or "unknown"" if error
+ Here is the caller graph for this function:

◆ gf_cicp_color_primaries_all_names()

const char* gf_cicp_color_primaries_all_names ( )

get CICP color primaries names

Returns
coma-separated list of GPAC names for CICP color primaries
+ Here is the caller graph for this function:

◆ gf_cicp_parse_color_transfer()

u32 gf_cicp_parse_color_transfer ( const char *  val)

parse CICP color transfer

Parameters
valCICP color transfer name
Returns
0xFFFFFFFF if error , value otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_cicp_color_transfer_name()

const char* gf_cicp_color_transfer_name ( u32  cicp_trans)

get CICP color transfer name

Parameters
cicp_transCICP color transfer code
Returns
name or "unknown"" if error
+ Here is the caller graph for this function:

◆ gf_cicp_color_transfer_all_names()

const char* gf_cicp_color_transfer_all_names ( )

get CICP color transfer names

Returns
coma-separated list of GPAC names for CICP color transfer
+ Here is the caller graph for this function:

◆ gf_cicp_parse_color_matrix()

u32 gf_cicp_parse_color_matrix ( const char *  val)

parse CICP color matrix coefficients

Parameters
valCICP color matrix coefficients name
Returns
0xFFFFFFFF if error , value otherwise
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_cicp_color_matrix_name()

const char* gf_cicp_color_matrix_name ( u32  cicp_mx)

get CICP color matrix coefficients name

Parameters
cicp_mxCICP color matrix coefficients code
Returns
name or "unknown"" if error
+ Here is the caller graph for this function:

◆ gf_cicp_color_matrix_all_names()

const char* gf_cicp_color_matrix_all_names ( )

get CICP color matrix names

Returns
coma-separated list of GPAC names for CICP color matrix
+ Here is the caller graph for this function:

◆ gf_gpac_version()

const char* gf_gpac_version ( )

gets GPAC full version including GIT revision

Returns
GPAC full version
+ Here is the caller graph for this function:

◆ gf_gpac_copyright()

const char* gf_gpac_copyright ( )

gets GPAC copyright

Returns
GPAC copyright
+ Here is the caller graph for this function:

◆ gf_gpac_copyright_cite()

const char* gf_gpac_copyright_cite ( )

gets GPAC copyright + citations DOI

Returns
GPAC copyright
+ Here is the caller graph for this function:

◆ gf_gpac_abi_major()

u32 gf_gpac_abi_major ( )

gets libgpac ABI major version

Returns
major number of libgpac ABI version

◆ gf_gpac_abi_minor()

u32 gf_gpac_abi_minor ( )

gets libgpac ABI minor version

Returns
minor number of libgpac ABI version

◆ gf_gpac_abi_micro()

u32 gf_gpac_abi_micro ( )

gets libgpac ABI major version

Returns
micro number of libgpac ABI version
+ Here is the caller graph for this function:

Variable Documentation

◆ GF_QCELP_RATE_TO_SIZE_NB

const unsigned int GF_QCELP_RATE_TO_SIZE_NB = 7
static

Number of defined QCELP rate sizes

◆ GF_QCELP_RATE_TO_SIZE

const unsigned int GF_QCELP_RATE_TO_SIZE[] = {0, 1, 1, 4, 2, 8, 3, 17, 4, 35, 5, 8, 14, 1}
static

QCELP rate sizes - note that these sizes INCLUDE the rate_type header byte

◆ GF_SMV_EVRC_RATE_TO_SIZE_NB

const unsigned int GF_SMV_EVRC_RATE_TO_SIZE_NB = 6
static

Number of defined EVRC rate sizes

◆ GF_SMV_EVRC_RATE_TO_SIZE

const unsigned int GF_SMV_EVRC_RATE_TO_SIZE[] = {0, 1, 1, 3, 2, 6, 3, 11, 4, 23, 5, 1}
static

EVRC rate sizes - note that these sizes INCLUDE the rate_type header byte

◆ GF_AMR_FRAME_SIZE

const unsigned int GF_AMR_FRAME_SIZE[16] = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, 0 }
static

AMR frame sizes

◆ GF_AMR_WB_FRAME_SIZE

const unsigned int GF_AMR_WB_FRAME_SIZE[16] = { 17, 23, 32, 36, 40, 46, 50, 58, 60, 5, 5, 0, 0, 0, 0, 0 }
static

AMR WB frame sizes