mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-27 09:52:17 +00:00
38d0d12c46
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
158 lines
8.6 KiB
C
158 lines
8.6 KiB
C
/*
|
|
* 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 */
|