40 #define VIDEO_PALETTE_COLORS_MAX 256 51 #define AUDIO_REPLAY_GAIN_MAX (2) 52 #define AUDIO_REPLAY_GAIN_TRACK (0) 53 #define AUDIO_REPLAY_GAIN_ALBUM (1) 87 uint16_t i_physical_channels;
99 unsigned int i_bytes_per_frame;
102 unsigned int i_frame_length;
110 unsigned i_bitspersample;
111 unsigned i_blockalign;
116 #define AOUT_CHAN_CENTER 0x1 117 #define AOUT_CHAN_LEFT 0x2 118 #define AOUT_CHAN_RIGHT 0x4 119 #define AOUT_CHAN_REARCENTER 0x10 120 #define AOUT_CHAN_REARLEFT 0x20 121 #define AOUT_CHAN_REARRIGHT 0x40 122 #define AOUT_CHAN_MIDDLELEFT 0x100 123 #define AOUT_CHAN_MIDDLERIGHT 0x200 124 #define AOUT_CHAN_LFE 0x1000 126 #define AOUT_CHANS_FRONT (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT) 127 #define AOUT_CHANS_MIDDLE (AOUT_CHAN_MIDDLELEFT | AOUT_CHAN_MIDDLERIGHT) 128 #define AOUT_CHANS_REAR (AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT) 129 #define AOUT_CHANS_CENTER (AOUT_CHAN_CENTER | AOUT_CHAN_REARCENTER) 131 #define AOUT_CHANS_STEREO AOUT_CHANS_2_0 132 #define AOUT_CHANS_2_0 (AOUT_CHANS_FRONT) 133 #define AOUT_CHANS_2_1 (AOUT_CHANS_FRONT | AOUT_CHAN_LFE) 134 #define AOUT_CHANS_3_0 (AOUT_CHANS_FRONT | AOUT_CHAN_CENTER) 135 #define AOUT_CHANS_3_1 (AOUT_CHANS_3_0 | AOUT_CHAN_LFE) 136 #define AOUT_CHANS_4_0 (AOUT_CHANS_FRONT | AOUT_CHANS_REAR) 137 #define AOUT_CHANS_4_1 (AOUT_CHANS_4_0 | AOUT_CHAN_LFE) 138 #define AOUT_CHANS_5_0 (AOUT_CHANS_4_0 | AOUT_CHAN_CENTER) 139 #define AOUT_CHANS_5_1 (AOUT_CHANS_5_0 | AOUT_CHAN_LFE) 140 #define AOUT_CHANS_6_0 (AOUT_CHANS_4_0 | AOUT_CHANS_MIDDLE) 141 #define AOUT_CHANS_7_0 (AOUT_CHANS_6_0 | AOUT_CHAN_CENTER) 142 #define AOUT_CHANS_7_1 (AOUT_CHANS_5_1 | AOUT_CHANS_MIDDLE) 143 #define AOUT_CHANS_8_1 (AOUT_CHANS_7_1 | AOUT_CHAN_REARCENTER) 145 #define AOUT_CHANS_4_0_MIDDLE (AOUT_CHANS_FRONT | AOUT_CHANS_MIDDLE) 146 #define AOUT_CHANS_4_CENTER_REAR (AOUT_CHANS_FRONT | AOUT_CHANS_CENTER) 147 #define AOUT_CHANS_5_0_MIDDLE (AOUT_CHANS_4_0_MIDDLE | AOUT_CHAN_CENTER) 148 #define AOUT_CHANS_6_1_MIDDLE (AOUT_CHANS_5_0_MIDDLE | AOUT_CHAN_REARCENTER | AOUT_CHAN_LFE) 152 #define AOUT_CHAN_MAX 9 154 #define INPUT_CHAN_MAX 64 171 #define AOUT_CHANMODE_DUALMONO 0x1 172 #define AOUT_CHANMODE_DOLBYSTEREO 0x2 198 #define ORIENT_FROM_EXIF(exif) ((0x57642310U >> (4 * ((exif) - 1))) & 7) 200 #define ORIENT_TO_EXIF(orient) ((0x76853421U >> (4 * (orient))) & 15) 202 #define ORIENT_IS_MIRROR(orient) parity(orient) 204 #define ORIENT_IS_SWAP(orient) (((orient) & 4) != 0) 206 #define ORIENT_HFLIP(orient) ((orient) ^ 1) 208 #define ORIENT_VFLIP(orient) ((orient) ^ 2) 210 #define ORIENT_ROTATE_180(orient) ((orient) ^ 3) 247 #define MULTIVIEW_STEREO_MAX MULTIVIEW_STEREO_CHECKERBOARD 273 #define COLOR_PRIMARIES_SRGB COLOR_PRIMARIES_BT709 274 #define COLOR_PRIMARIES_SMTPE_170 COLOR_PRIMARIES_BT601_525 275 #define COLOR_PRIMARIES_SMTPE_240 COLOR_PRIMARIES_BT601_525 276 #define COLOR_PRIMARIES_SMTPE_RP145 COLOR_PRIMARIES_BT601_525 277 #define COLOR_PRIMARIES_EBU_3213 COLOR_PRIMARIES_BT601_625 278 #define COLOR_PRIMARIES_BT470_BG COLOR_PRIMARIES_BT601_625 279 #define COLOR_PRIMARIES_BT470_M COLOR_PRIMARIES_FCC1953 280 #define COLOR_PRIMARIES_MAX COLOR_PRIMARIES_FCC1953 297 #define TRANSFER_FUNC_BT2020 TRANSFER_FUNC_BT709 298 #define TRANSFER_FUNC_SMPTE_170 TRANSFER_FUNC_BT709 299 #define TRANSFER_FUNC_SMPTE_274 TRANSFER_FUNC_BT709 300 #define TRANSFER_FUNC_SMPTE_293 TRANSFER_FUNC_BT709 301 #define TRANSFER_FUNC_SMPTE_296 TRANSFER_FUNC_BT709 302 #define TRANSFER_FUNC_ARIB_B67 TRANSFER_FUNC_HLG 303 #define TRANSFER_FUNC_MAX TRANSFER_FUNC_HLG 315 #define COLOR_SPACE_SRGB COLOR_SPACE_BT709 316 #define COLOR_SPACE_SMPTE_170 COLOR_SPACE_BT601 317 #define COLOR_SPACE_SMPTE_240 COLOR_SPACE_SMPTE_170 318 #define COLOR_SPACE_MAX COLOR_SPACE_BT2020 333 #define CHROMA_LOCATION_MAX CHROMA_LOCATION_BOTTOM_CENTER 341 #define COLOR_RANGE_STUDIO COLOR_RANGE_LIMITED 342 #define COLOR_RANGE_MAX COLOR_RANGE_LIMITED 352 unsigned int i_width;
353 unsigned int i_height;
354 unsigned int i_x_offset;
355 unsigned int i_y_offset;
356 unsigned int i_visible_width;
357 unsigned int i_visible_height;
359 unsigned int i_bits_per_pixel;
361 unsigned int i_sar_num;
362 unsigned int i_sar_den;
364 unsigned int i_frame_rate;
365 unsigned int i_frame_rate_base;
367 uint32_t i_rmask, i_gmask, i_bmask;
377 bool b_multiview_right_eye_first;
378 bool b_multiview_left_eye;
384 uint16_t primaries[3*2];
385 uint16_t white_point[2];
386 uint32_t max_luminance;
387 uint32_t min_luminance;
394 uint32_t i_cubemap_padding;
416 memcpy( p_dst, p_src,
sizeof( *p_dst ) );
479 int i_width,
int i_height,
int i_visible_width,
int i_visible_height,
480 int i_sar_num,
int i_sar_den );
537 switch ( transform ) {
565 int i_original_frame_width;
567 int i_original_frame_height;
587 #define SPU_PALETTE_DEFINED 0xbeefbeef 595 char *psz_description;
607 #define ES_CATEGORY_COUNT (DATA_ES + 1) 612 #define ES_PRIORITY_NOT_SELECTABLE -2 613 #define ES_PRIORITY_NOT_DEFAULTABLE -1 614 #define ES_PRIORITY_SELECTABLE_MIN 0 615 #define ES_PRIORITY_MIN ES_PRIORITY_NOT_SELECTABLE 636 char *psz_description;
637 unsigned i_extra_languages;
649 unsigned int i_bitrate;
bool video_format_IsSimilar(const video_format_t *, const video_format_t *)
This function will check if the first video format is similar to the second one.
Definition: es_format.c:338
#define AOUT_CHANS_4_0
Definition: vlc_es.h:137
video_chroma_location_t
Video chroma location.
Definition: vlc_es.h:325
#define AUDIO_REPLAY_GAIN_MAX
audio replay gain description
Definition: vlc_es.h:52
static void video_format_Clean(video_format_t *p_src)
Cleanup and free palette of this video_format_t.
Definition: vlc_es.h:469
Transposed.
Definition: vlc_es.h:184
Rotated 90 degrees clockwise.
Definition: vlc_es.h:185
void video_format_Print(vlc_object_t *, const char *, const video_format_t *)
It prints details about the given video_format_t.
Definition: es_format.c:377
void video_format_FixRgb(video_format_t *)
This function will fill all RGB shift from RGB masks.
Definition: es_format.c:37
video_orientation_t
Picture orientation.
Definition: vlc_es.h:178
vlc_fourcc_t i_codec
Definition: image.c:579
video_multiview_mode_t
Definition: vlc_es.h:225
video_color_range_t
Definition: vlc_es.h:337
const char * vlc_es_id_GetStrId(vlc_es_id_t *id)
Get the unique string identifier.
Definition: es_out.c:4385
This file is a collection of common definitions and types.
void video_format_TransformBy(video_format_t *fmt, video_transform_t transform)
This function applies the transform operation to fmt.
Definition: es_format.c:269
Rotated 90 degrees anti-clockwise.
Definition: vlc_es.h:186
#define AOUT_CHANS_8_1
Definition: vlc_es.h:144
void video_format_ApplyRotation(video_format_t *out, const video_format_t *in)
This function "normalizes" the formats orientation, by switching the a/r according to the orientation...
static const uint16_t vlc_chan_maps[]
Definition: vlc_es.h:157
Top line represents top, left column left.
Definition: vlc_es.h:180
static video_transform_t transform_Inverse(video_transform_t transform)
Definition: vlc_es.h:536
static void es_format_Change(es_format_t *fmt, int i_cat, vlc_fourcc_t i_codec)
Changes ES format to another category Format must have been properly initialized. ...
Definition: vlc_es.h:699
int i_entries
to keep the compatibility with libavcodec's palette
Definition: vlc_es.h:45
#define VIDEO_PALETTE_COLORS_MAX
video palette data
Definition: vlc_es.h:41
#define AOUT_CHAN_CENTER
Definition: vlc_es.h:117
#define AOUT_CHANS_2_0
Definition: vlc_es.h:133
es_format_category_e
ES Categories.
Definition: vlc_es.h:600
video_transform_t video_format_GetTransform(video_orientation_t src, video_orientation_t dst)
Returns the operation required to transform src into dst.
Definition: es_format.c:253
void vlc_es_id_Release(vlc_es_id_t *id)
Decrease the ES track id reference count.
Definition: es_out.c:4367
uint8_t palette[256][4]
4-byte RGBA/YUVA palette
Definition: vlc_es.h:46
void es_format_InitFromVideo(es_format_t *, const video_format_t *)
This function will initialize a es_format_t structure from a video_format_t.
Definition: es_format.c:411
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:33
struct extra_languages_t extra_languages_t
ES language definition.
void es_format_Clean(es_format_t *fmt)
This function will clean up a es_format_t and release all associated resources.
Definition: es_format.c:490
vlc_es_id_t * vlc_es_id_Hold(vlc_es_id_t *es)
Increase the ES track id reference count.
Definition: es_out.c:4360
Viewpoints.
Definition: vlc_viewpoint.h:41
static void video_format_AdjustColorSpace(video_format_t *p_fmt)
Definition: vlc_es.h:428
Rotated 180 degrees.
Definition: vlc_es.h:183
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:470
int es_format_Copy(es_format_t *p_dst, const es_format_t *p_src)
This functions will copy a es_format_t.
Opaque structure representing an ES (Elementary Stream) track.
Definition: es_out.c:92
static void vlc_viewpoint_init(vlc_viewpoint_t *p_vp)
Definition: vlc_viewpoint.h:48
Video and audio viewpoint struct and helpers.
void es_format_Init(es_format_t *, int i_cat, vlc_fourcc_t i_codec)
This function will initialize a es_format_t structure.
Definition: es_format.c:390
bool es_format_IsSimilar(const es_format_t *, const es_format_t *)
This function will check if the first ES format is similar to the second one.
Definition: es_format.c:513
enum es_format_category_e vlc_es_id_GetCat(vlc_es_id_t *id)
Get the ES category.
Definition: es_out.c:4391
Anti-transposed.
Definition: vlc_es.h:187
bool vlc_fourcc_IsYUV(vlc_fourcc_t fcc)
It returns true if the given fourcc is YUV and false otherwise.
Definition: fourcc.c:680
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:474
#define VLC_API
Definition: fourcc_gen.c:31
#define AOUT_CHANS_5_1
Definition: vlc_es.h:140
#define AOUT_CHANS_5_0
Definition: vlc_es.h:139
video_transfer_func_t
Video transfer functions.
Definition: vlc_es.h:287
Flipped vertically.
Definition: vlc_es.h:182
int vlc_es_id_GetInputId(vlc_es_id_t *id)
Get the ES track input id.
Definition: es_out.c:4373
void video_format_Setup(video_format_t *, vlc_fourcc_t i_chroma, int i_width, int i_height, int i_visible_width, int i_visible_height, int i_sar_num, int i_sar_den)
It will fill up a video_format_t using the given arguments.
Definition: es_format.c:73
void video_format_ScaleCropAr(video_format_t *, const video_format_t *)
It will compute the crop/ar properties when scaling.
Definition: es_format.c:190
void video_format_TransformTo(video_format_t *fmt, video_orientation_t dst_orientation)
This function applies the transforms necessary to fmt so that the resulting fmt has the dst_orientati...
video_projection_mode_t
Video projection mode.
Definition: vlc_es.h:254
#define AOUT_CHANS_7_1
Definition: vlc_es.h:143
static void video_format_Init(video_format_t *p_src, vlc_fourcc_t i_chroma)
Initialize a video_format_t structure with chroma 'i_chroma'.
Definition: vlc_es.h:403
Flipped horizontally.
Definition: vlc_es.h:181
#define AOUT_CHANS_7_0
Definition: vlc_es.h:142
bool vlc_es_id_IsStrIdStable(vlc_es_id_t *id)
Return whether the ES track identifier is stable.
Definition: es_out.c:4379
static void transform(MD5_CONTEXT *ctx, const unsigned char *data)
Definition: md5.c:83
VLC object common members.
Definition: vlc_objects.h:43
video_color_space_t
Video color space (i.e.
Definition: vlc_es.h:310
static int video_format_Copy(video_format_t *p_dst, const video_format_t *p_src)
Copy video_format_t including the palette.
Definition: vlc_es.h:415
void video_format_CopyCrop(video_format_t *, const video_format_t *)
It will copy the crop properties from a video_format_t to another.
Definition: es_format.c:182
static void video_format_CopyCropAr(video_format_t *dst, const video_format_t *src)
Definition: vlc_es.h:488
#define AOUT_CHANS_3_0
Definition: vlc_es.h:135
video_color_primaries_t
Video color primaries (a.k.a.
Definition: vlc_es.h:265
audio_channel_type_t
Audio channel type.
Definition: vlc_es.h:72
video_transform_t
Definition: vlc_es.h:213