History

lavu: Add a video section to Doxygen documentation

Fill it with AVStereo3D and AVDisplayMatrix documentation. Apply the necessary changes to make verbatim code look good in doxygen.

Vittorio Giovara committed 10 years ago

Commit 075acbb1 parent 624aa8a3 files · +72 −0Browse files

Unified · Split

3 files
  1. libavutil/avutil.h +6 −0
  2. libavutil/display.h +27 −0
  3. libavutil/stereo3d.h +39 −0
libavutil/avutil.h+6−0
@@ -115,6 +115,12 @@ · 114 unmodified lines
115 *115 *
116 * @}116 * @}
117 *117 *
118 * @defgroup lavu_video Video related
119 *
120 * @{
121 *
122 * @}
123 *
118 * @defgroup lavu_audio Audio related124 * @defgroup lavu_audio Audio related
119 *125 *
120 * @{126 * @{
libavutil/display.h+27−0
@@ -18,21 +18,37 @@ · 17 unmodified lines
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */19 */
20 20
21/**
22 * @file
23 * Display matrix
24 */
25
21#ifndef AVUTIL_DISPLAY_H26#ifndef AVUTIL_DISPLAY_H
22#define AVUTIL_DISPLAY_H27#define AVUTIL_DISPLAY_H
23 28
24#include <stdint.h>29#include <stdint.h>
25 30
26/**31/**
32 * @addtogroup lavu_video
33 * @{
34 *
35 * @defgroup lavu_video_display Display transformation matrix functions
36 * @{
37 */
38
39/**
40 * @addtogroup lavu_video_display
27 * The display transformation matrix specifies an affine transformation that41 * The display transformation matrix specifies an affine transformation that
28 * should be applied to video frames for correct presentation. It is compatible42 * should be applied to video frames for correct presentation. It is compatible
29 * with the matrices stored in the ISO/IEC 14496-12 container format.43 * with the matrices stored in the ISO/IEC 14496-12 container format.
30 *44 *
31 * The data is a 3x3 matrix represented as a 9-element array:45 * The data is a 3x3 matrix represented as a 9-element array:
32 *46 *
47 * @code{.unparsed}
33 * | a b u |48 * | a b u |
34 * (a, b, u, c, d, v, x, y, w) -> | c d v |49 * (a, b, u, c, d, v, x, y, w) -> | c d v |
35 * | x y w |50 * | x y w |
51 * @endcode
36 *52 *
37 * All numbers are stored in native endianness, as 16.16 fixed-point values,53 * All numbers are stored in native endianness, as 16.16 fixed-point values,
38 * except for u, v and w, which are stored as 2.30 fixed-point values.54 * except for u, v and w, which are stored as 2.30 fixed-point values.
@@ -40,15 +56,21 @@ · 1 unmodified line
40 * The transformation maps a point (p, q) in the source (pre-transformation)56 * The transformation maps a point (p, q) in the source (pre-transformation)
41 * frame to the point (p', q') in the destination (post-transformation) frame as57 * frame to the point (p', q') in the destination (post-transformation) frame as
42 * follows:58 * follows:
59 *
60 * @code{.unparsed}
43 * | a b u |61 * | a b u |
44 * (p, q, 1) . | c d v | = z * (p', q', 1)62 * (p, q, 1) . | c d v | = z * (p', q', 1)
45 * | x y w |63 * | x y w |
64 * @endcode
46 *65 *
47 * The transformation can also be more explicitly written in components as66 * The transformation can also be more explicitly written in components as
48 * follows:67 * follows:
68 *
69 * @code{.unparsed}
49 * p' = (a * p + c * q + x) / z;70 * p' = (a * p + c * q + x) / z;
50 * q' = (b * p + d * q + y) / z;71 * q' = (b * p + d * q + y) / z;
51 * z = u * p + v * q + w72 * z = u * p + v * q + w
73 * @endcode
52 */74 */
53 75
54/**76/**
@@ -83,4 +105,9 @@ void av_display_rotation_set(int32_t matrix[9], double angle); · 28 unmodified lines
83 */105 */
84void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip);106void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip);
85 107
108/**
109 * @}
110 * @}
111 */
112
86#endif /* AVUTIL_DISPLAY_H */113#endif /* AVUTIL_DISPLAY_H */
libavutil/stereo3d.h+39−0
@@ -18,6 +18,11 @@ · 17 unmodified lines
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */19 */
20 20
21/**
22 * @file
23 * Stereoscopic video
24 */
25
21#ifndef AVUTIL_STEREO3D_H26#ifndef AVUTIL_STEREO3D_H
22#define AVUTIL_STEREO3D_H27#define AVUTIL_STEREO3D_H
23 28
@@ -25,6 +30,21 @@ · 1 unmodified line
25 30
26#include "frame.h"31#include "frame.h"
27 32
33/**
34 * @addtogroup lavu_video
35 * @{
36 *
37 * @defgroup lavu_video_stereo3d Stereo3D types and functions
38 * @{
39 */
40
41/**
42 * @addtogroup lavu_video_stereo3d
43 * A stereoscopic video file consists in multiple views embedded in a single
44 * frame, usually describing two views of a scene. This file describes all
45 * possible codec-independent view arrangements.
46 * */
47
28/**48/**
29 * List of possible 3D Types49 * List of possible 3D Types
30 */50 */
@@ -37,41 +57,49 @@ enum AVStereo3DType { · 6 unmodified lines
37 /**57 /**
38 * Views are next to each other.58 * Views are next to each other.
39 *59 *
60 * @code{.unparsed}
40 * LLLLRRRR61 * LLLLRRRR
41 * LLLLRRRR62 * LLLLRRRR
42 * LLLLRRRR63 * LLLLRRRR
43 * ...64 * ...
65 * @endcode
44 */66 */
45 AV_STEREO3D_SIDEBYSIDE,67 AV_STEREO3D_SIDEBYSIDE,
46 68
47 /**69 /**
48 * Views are on top of each other.70 * Views are on top of each other.
49 *71 *
72 * @code{.unparsed}
50 * LLLLLLLL73 * LLLLLLLL
51 * LLLLLLLL74 * LLLLLLLL
52 * RRRRRRRR75 * RRRRRRRR
53 * RRRRRRRR76 * RRRRRRRR
77 * @endcode
54 */78 */
55 AV_STEREO3D_TOPBOTTOM,79 AV_STEREO3D_TOPBOTTOM,
56 80
57 /**81 /**
58 * Views are alternated temporally.82 * Views are alternated temporally.
59 *83 *
84 * @code{.unparsed}
60 * frame0 frame1 frame2 ...85 * frame0 frame1 frame2 ...
61 * LLLLLLLL RRRRRRRR LLLLLLLL86 * LLLLLLLL RRRRRRRR LLLLLLLL
62 * LLLLLLLL RRRRRRRR LLLLLLLL87 * LLLLLLLL RRRRRRRR LLLLLLLL
63 * LLLLLLLL RRRRRRRR LLLLLLLL88 * LLLLLLLL RRRRRRRR LLLLLLLL
64 * ... ... ...89 * ... ... ...
90 * @endcode
65 */91 */
66 AV_STEREO3D_FRAMESEQUENCE,92 AV_STEREO3D_FRAMESEQUENCE,
67 93
68 /**94 /**
69 * Views are packed in a checkerboard-like structure per pixel.95 * Views are packed in a checkerboard-like structure per pixel.
70 *96 *
97 * @code{.unparsed}
71 * LRLRLRLR98 * LRLRLRLR
72 * RLRLRLRL99 * RLRLRLRL
73 * LRLRLRLR100 * LRLRLRLR
74 * ...101 * ...
102 * @endcode
75 */103 */
76 AV_STEREO3D_CHECKERBOARD,104 AV_STEREO3D_CHECKERBOARD,
77 105
@@ -79,30 +107,36 @@ enum AVStereo3DType { · 1 unmodified line
79 * Views are next to each other, but when upscaling107 * Views are next to each other, but when upscaling
80 * apply a checkerboard pattern.108 * apply a checkerboard pattern.
81 *109 *
110 * @code{.unparsed}
82 * LLLLRRRR L L L L R R R R111 * LLLLRRRR L L L L R R R R
83 * LLLLRRRR => L L L L R R R R112 * LLLLRRRR => L L L L R R R R
84 * LLLLRRRR L L L L R R R R113 * LLLLRRRR L L L L R R R R
85 * LLLLRRRR L L L L R R R R114 * LLLLRRRR L L L L R R R R
115 * @endcode
86 */116 */
87 AV_STEREO3D_SIDEBYSIDE_QUINCUNX,117 AV_STEREO3D_SIDEBYSIDE_QUINCUNX,
88 118
89 /**119 /**
90 * Views are packed per line, as if interlaced.120 * Views are packed per line, as if interlaced.
91 *121 *
122 * @code{.unparsed}
92 * LLLLLLLL123 * LLLLLLLL
93 * RRRRRRRR124 * RRRRRRRR
94 * LLLLLLLL125 * LLLLLLLL
95 * ...126 * ...
127 * @endcode
96 */128 */
97 AV_STEREO3D_LINES,129 AV_STEREO3D_LINES,
98 130
99 /**131 /**
100 * Views are packed per column.132 * Views are packed per column.
101 *133 *
134 * @code{.unparsed}
102 * LRLRLRLR135 * LRLRLRLR
103 * LRLRLRLR136 * LRLRLRLR
104 * LRLRLRLR137 * LRLRLRLR
105 * ...138 * ...
139 * @endcode
106 */140 */
107 AV_STEREO3D_COLUMNS,141 AV_STEREO3D_COLUMNS,
108};142};
@@ -167,4 +201,9 @@ const char *av_stereo3d_type_name(unsigned int type); · 58 unmodified lines
167 */201 */
168int av_stereo3d_from_name(const char *name);202int av_stereo3d_from_name(const char *name);
169 203
204/**
205 * @}
206 * @}
207 */
208
170#endif /* AVUTIL_STEREO3D_H */209#endif /* AVUTIL_STEREO3D_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t