Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
34f86346
Commit
34f86346
authored
Mar 17, 2012
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add orientation to video format
parent
21f905e1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
1 deletion
+38
-1
include/vlc_es.h
include/vlc_es.h
+38
-1
No files found.
include/vlc_es.h
View file @
34f86346
/*****************************************************************************
/*****************************************************************************
* vlc_es.h: Elementary stream formats descriptions
* vlc_es.h: Elementary stream formats descriptions
*****************************************************************************
*****************************************************************************
* Copyright (C) 1999-20
01
VLC authors and VideoLAN
* Copyright (C) 1999-20
12
VLC authors and VideoLAN
* $Id$
* $Id$
*
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
...
@@ -136,6 +136,42 @@ struct audio_format_t
...
@@ -136,6 +136,42 @@ struct audio_format_t
#define AOUT_CHAN_PHYSMASK 0xFFFF
#define AOUT_CHAN_PHYSMASK 0xFFFF
#define AOUT_CHAN_MAX 9
#define AOUT_CHAN_MAX 9
/**
* Picture orientation.
*/
typedef
enum
video_orientation_t
{
ORIENT_TOP_LEFT
=
0
,
/**< Top line represents top, left column left. */
ORIENT_TOP_RIGHT
,
/**< Flipped horizontally */
ORIENT_BOTTOM_LEFT
,
/**< Flipped vertically */
ORIENT_BOTTOM_RIGHT
,
/**< Rotated 180 degrees */
ORIENT_LEFT_TOP
,
/**< Transposed */
ORIENT_LEFT_BOTTOM
,
/**< Rotated 90 degrees clockwise */
ORIENT_RIGHT_TOP
,
/**< Rotated 90 degrees anti-clockwise */
ORIENT_RIGHT_BOTTOM
,
/**< Anti-transposed */
ORIENT_NORMAL
=
ORIENT_TOP_LEFT
,
ORIENT_HFLIPPED
=
ORIENT_TOP_RIGHT
,
ORIENT_VFLIPPED
=
ORIENT_BOTTOM_LEFT
,
ORIENT_ROTATED_180
=
ORIENT_BOTTOM_RIGHT
,
ORIENT_ROTATED_270
=
ORIENT_LEFT_BOTTOM
,
ORIENT_ROTATED_90
=
ORIENT_RIGHT_TOP
,
}
video_orientation_t
;
/** Convert EXIF orientation to enum video_orientation_t */
#define ORIENT_FROM_EXIF(exif) ((0x01324675U >> (4 * ((exif) - 1))) & 7)
/** Convert enum video_orientation_t to EXIF */
#define ORIENT_TO_EXIF(orient) ((0x12435867U >> (4 * (orient))) & 15)
/** If the orientation is natural or mirrored */
#define ORIENT_IS_MIRROR(orient) parity(orient)
/** If the orientation swaps dimensions */
#define ORIENT_IS_SWAP(orient) (((orient) & 4) != 0)
/** Applies horizontal flip to an orientation */
#define ORIENT_HFLIP(orient) ((orient) ^ 1)
/** Applies vertical flip to an orientation */
#define ORIENT_VFLIP(orient) ((orient) ^ 2)
/** Applies horizontal flip to an orientation */
#define ORIENT_ROTATE_180(orient) ((orient) ^ 3)
/**
/**
* video format description
* video format description
*/
*/
...
@@ -163,6 +199,7 @@ struct video_format_t
...
@@ -163,6 +199,7 @@ struct video_format_t
int
i_rgshift
,
i_lgshift
;
int
i_rgshift
,
i_lgshift
;
int
i_rbshift
,
i_lbshift
;
int
i_rbshift
,
i_lbshift
;
video_palette_t
*
p_palette
;
/**< video palette from demuxer */
video_palette_t
*
p_palette
;
/**< video palette from demuxer */
video_orientation_t
orientation
;
/**< picture orientation */
};
};
/**
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment