| /* | |
| * This file is part of FFmpeg. | |
| * | |
| * FFmpeg is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * FFmpeg is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with FFmpeg; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
| */ | |
| #ifndef AVCODEC_SEI_H | |
| #define AVCODEC_SEI_H | |
| // SEI payload types form a common namespace between the H.264, H.265 | |
| // and H.266 standards. A given payload type always has the same | |
| // meaning, but some names have different payload types in different | |
| // standards (e.g. scalable-nesting is 30 in H.264 but 133 in H.265). | |
| // The content of the payload data depends on the standard, though | |
| // many generic parts have the same interpretation everywhere (such as | |
| // mastering-display-colour-volume and user-data-unregistered). | |
| enum SEIType { | |
| SEI_TYPE_BUFFERING_PERIOD = 0, | |
| SEI_TYPE_PIC_TIMING = 1, | |
| SEI_TYPE_PAN_SCAN_RECT = 2, | |
| SEI_TYPE_FILLER_PAYLOAD = 3, | |
| SEI_TYPE_USER_DATA_REGISTERED_ITU_T_T35 = 4, | |
| SEI_TYPE_USER_DATA_UNREGISTERED = 5, | |
| SEI_TYPE_RECOVERY_POINT = 6, | |
| SEI_TYPE_DEC_REF_PIC_MARKING_REPETITION = 7, | |
| SEI_TYPE_SPARE_PIC = 8, | |
| SEI_TYPE_SCENE_INFO = 9, | |
| SEI_TYPE_SUB_SEQ_INFO = 10, | |
| SEI_TYPE_SUB_SEQ_LAYER_CHARACTERISTICS = 11, | |
| SEI_TYPE_SUB_SEQ_CHARACTERISTICS = 12, | |
| SEI_TYPE_FULL_FRAME_FREEZE = 13, | |
| SEI_TYPE_FULL_FRAME_FREEZE_RELEASE = 14, | |
| SEI_TYPE_FULL_FRAME_SNAPSHOT = 15, | |
| SEI_TYPE_PROGRESSIVE_REFINEMENT_SEGMENT_START = 16, | |
| SEI_TYPE_PROGRESSIVE_REFINEMENT_SEGMENT_END = 17, | |
| SEI_TYPE_MOTION_CONSTRAINED_SLICE_GROUP_SET = 18, | |
| SEI_TYPE_FILM_GRAIN_CHARACTERISTICS = 19, | |
| SEI_TYPE_DEBLOCKING_FILTER_DISPLAY_PREFERENCE = 20, | |
| SEI_TYPE_STEREO_VIDEO_INFO = 21, | |
| SEI_TYPE_POST_FILTER_HINT = 22, | |
| SEI_TYPE_TONE_MAPPING_INFO = 23, | |
| SEI_TYPE_SCALABILITY_INFO = 24, | |
| SEI_TYPE_SUB_PIC_SCALABLE_LAYER = 25, | |
| SEI_TYPE_NON_REQUIRED_LAYER_REP = 26, | |
| SEI_TYPE_PRIORITY_LAYER_INFO = 27, | |
| SEI_TYPE_LAYERS_NOT_PRESENT_4 = 28, | |
| SEI_TYPE_LAYER_DEPENDENCY_CHANGE = 29, | |
| SEI_TYPE_SCALABLE_NESTING_4 = 30, | |
| SEI_TYPE_BASE_LAYER_TEMPORAL_HRD = 31, | |
| SEI_TYPE_QUALITY_LAYER_INTEGRITY_CHECK = 32, | |
| SEI_TYPE_REDUNDANT_PIC_PROPERTY = 33, | |
| SEI_TYPE_TL0_DEP_REP_INDEX = 34, | |
| SEI_TYPE_TL_SWITCHING_POINT = 35, | |
| SEI_TYPE_PARALLEL_DECODING_INFO = 36, | |
| SEI_TYPE_MVC_SCALABLE_NESTING = 37, | |
| SEI_TYPE_VIEW_SCALABILITY_INFO = 38, | |
| SEI_TYPE_MULTIVIEW_SCENE_INFO_4 = 39, | |
| SEI_TYPE_MULTIVIEW_ACQUISITION_INFO_4 = 40, | |
| SEI_TYPE_NON_REQUIRED_VIEW_COMPONENT = 41, | |
| SEI_TYPE_VIEW_DEPENDENCY_CHANGE = 42, | |
| SEI_TYPE_OPERATION_POINTS_NOT_PRESENT = 43, | |
| SEI_TYPE_BASE_VIEW_TEMPORAL_HRD = 44, | |
| SEI_TYPE_FRAME_PACKING_ARRANGEMENT = 45, | |
| SEI_TYPE_MULTIVIEW_VIEW_POSITION_4 = 46, | |
| SEI_TYPE_DISPLAY_ORIENTATION = 47, | |
| SEI_TYPE_MVCD_SCALABLE_NESTING = 48, | |
| SEI_TYPE_MVCD_VIEW_SCALABILITY_INFO = 49, | |
| SEI_TYPE_DEPTH_REPRESENTATION_INFO_4 = 50, | |
| SEI_TYPE_THREE_DIMENSIONAL_REFERENCE_DISPLAYS_INFO_4 = 51, | |
| SEI_TYPE_DEPTH_TIMING = 52, | |
| SEI_TYPE_DEPTH_SAMPLING_INFO = 53, | |
| SEI_TYPE_CONSTRAINED_DEPTH_PARAMETER_SET_IDENTIFIER = 54, | |
| SEI_TYPE_GREEN_METADATA = 56, | |
| SEI_TYPE_STRUCTURE_OF_PICTURES_INFO = 128, | |
| SEI_TYPE_ACTIVE_PARAMETER_SETS = 129, | |
| SEI_TYPE_PARAMETER_SETS_INCLUSION_INDICATION = SEI_TYPE_ACTIVE_PARAMETER_SETS, | |
| SEI_TYPE_DECODING_UNIT_INFO = 130, | |
| SEI_TYPE_TEMPORAL_SUB_LAYER_ZERO_IDX = 131, | |
| SEI_TYPE_DECODED_PICTURE_HASH = 132, | |
| SEI_TYPE_SCALABLE_NESTING_5 = 133, | |
| SEI_TYPE_REGION_REFRESH_INFO = 134, | |
| SEI_TYPE_NO_DISPLAY = 135, | |
| SEI_TYPE_TIME_CODE = 136, | |
| SEI_TYPE_MASTERING_DISPLAY_COLOUR_VOLUME = 137, | |
| SEI_TYPE_SEGMENTED_RECT_FRAME_PACKING_ARRANGEMENT = 138, | |
| SEI_TYPE_TEMPORAL_MOTION_CONSTRAINED_TILE_SETS = 139, | |
| SEI_TYPE_CHROMA_RESAMPLING_FILTER_HINT = 140, | |
| SEI_TYPE_KNEE_FUNCTION_INFO = 141, | |
| SEI_TYPE_COLOUR_REMAPPING_INFO = 142, | |
| SEI_TYPE_DEINTERLACED_FIELD_IDENTIFICATION = 143, | |
| SEI_TYPE_CONTENT_LIGHT_LEVEL_INFO = 144, | |
| SEI_TYPE_DEPENDENT_RAP_INDICATION = 145, | |
| SEI_TYPE_CODED_REGION_COMPLETION = 146, | |
| SEI_TYPE_ALTERNATIVE_TRANSFER_CHARACTERISTICS = 147, | |
| SEI_TYPE_AMBIENT_VIEWING_ENVIRONMENT = 148, | |
| SEI_TYPE_CONTENT_COLOUR_VOLUME = 149, | |
| SEI_TYPE_EQUIRECTANGULAR_PROJECTION = 150, | |
| SEI_TYPE_CUBEMAP_PROJECTION = 151, | |
| SEI_TYPE_FISHEYE_VIDEO_INFO = 152, | |
| SEI_TYPE_SPHERE_ROTATION = 154, | |
| SEI_TYPE_REGIONWISE_PACKING = 155, | |
| SEI_TYPE_OMNI_VIEWPORT = 156, | |
| SEI_TYPE_REGIONAL_NESTING = 157, | |
| SEI_TYPE_MCTS_EXTRACTION_INFO_SETS = 158, | |
| SEI_TYPE_MCTS_EXTRACTION_INFO_NESTING = 159, | |
| SEI_TYPE_LAYERS_NOT_PRESENT_5 = 160, | |
| SEI_TYPE_INTER_LAYER_CONSTRAINED_TILE_SETS = 161, | |
| SEI_TYPE_BSP_NESTING = 162, | |
| SEI_TYPE_BSP_INITIAL_ARRIVAL_TIME = 163, | |
| SEI_TYPE_SUB_BITSTREAM_PROPERTY = 164, | |
| SEI_TYPE_ALPHA_CHANNEL_INFO = 165, | |
| SEI_TYPE_OVERLAY_INFO = 166, | |
| SEI_TYPE_TEMPORAL_MV_PREDICTION_CONSTRAINTS = 167, | |
| SEI_TYPE_FRAME_FIELD_INFO = 168, | |
| SEI_TYPE_THREE_DIMENSIONAL_REFERENCE_DISPLAYS_INFO = 176, | |
| SEI_TYPE_DEPTH_REPRESENTATION_INFO_5 = 177, | |
| SEI_TYPE_MULTIVIEW_SCENE_INFO_5 = 178, | |
| SEI_TYPE_MULTIVIEW_ACQUISITION_INFO_5 = 179, | |
| SEI_TYPE_MULTIVIEW_VIEW_POSITION_5 = 180, | |
| SEI_TYPE_ALTERNATIVE_DEPTH_INFO = 181, | |
| SEI_TYPE_SEI_MANIFEST = 200, | |
| SEI_TYPE_SEI_PREFIX_INDICATION = 201, | |
| SEI_TYPE_ANNOTATED_REGIONS = 202, | |
| SEI_TYPE_SUBPIC_LEVEL_INFO = 203, | |
| SEI_TYPE_SAMPLE_ASPECT_RATIO_INFO = 204, | |
| }; | |
| /** | |
| * frame_packing_arrangement types. H.265 and H.274 use only 3..5 | |
| * with all the other values being reserved. H.264 uses a few more values | |
| * that are prefixed with SEI_FPA_H264 in the enum below. | |
| * | |
| * The semantics of the common values are the same for all standards. | |
| */ | |
| typedef enum { | |
| SEI_FPA_H264_TYPE_CHECKERBOARD = 0, | |
| SEI_FPA_H264_TYPE_INTERLEAVE_COLUMN = 1, | |
| SEI_FPA_H264_TYPE_INTERLEAVE_ROW = 2, | |
| SEI_FPA_TYPE_SIDE_BY_SIDE = 3, | |
| SEI_FPA_TYPE_TOP_BOTTOM = 4, | |
| SEI_FPA_TYPE_INTERLEAVE_TEMPORAL = 5, | |
| SEI_FPA_H264_TYPE_2D = 6, | |
| } SEIFpaType; | |
| #endif /* AVCODEC_SEI_H */ |