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
115115 *
116116 * @}
117117 *
118+ * @defgroup lavu_video Video related
119+ *
120+ * @{
121+ *
122+ * @}
123+ *
118124 * @defgroup lavu_audio Audio related
119125 *
120126 * @{
libavutil/display.h+27−0
@@ -18,21 +18,37 @@ · 17 unmodified lines
1818 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1919 */
2020
21+/**
22+ * @file
23+ * Display matrix
24+ */
25+
2126 #ifndef AVUTIL_DISPLAY_H
2227 #define AVUTIL_DISPLAY_H
2328
2429 #include <stdint.h>
2530
2631 /**
32+ * @addtogroup lavu_video
33+ * @{
34+ *
35+ * @defgroup lavu_video_display Display transformation matrix functions
36+ * @{
37+ */
38+
39+/**
40+ * @addtogroup lavu_video_display
2741 * The display transformation matrix specifies an affine transformation that
2842 * should be applied to video frames for correct presentation. It is compatible
2943 * with the matrices stored in the ISO/IEC 14496-12 container format.
3044 *
3145 * The data is a 3x3 matrix represented as a 9-element array:
3246 *
47+ * @code{.unparsed}
3348 * | a b u |
3449 * (a, b, u, c, d, v, x, y, w) -> | c d v |
3550 * | x y w |
51+ * @endcode
3652 *
3753 * All numbers are stored in native endianness, as 16.16 fixed-point values,
3854 * except for u, v and w, which are stored as 2.30 fixed-point values.
@@ -40,15 +56,21 @@ · 1 unmodified line
4056 * The transformation maps a point (p, q) in the source (pre-transformation)
4157 * frame to the point (p', q') in the destination (post-transformation) frame as
4258 * follows:
59+ *
60+ * @code{.unparsed}
4361 * | a b u |
4462 * (p, q, 1) . | c d v | = z * (p', q', 1)
4563 * | x y w |
64+ * @endcode
4665 *
4766 * The transformation can also be more explicitly written in components as
4867 * follows:
68+ *
69+ * @code{.unparsed}
4970 * p' = (a * p + c * q + x) / z;
5071 * q' = (b * p + d * q + y) / z;
5172 * z = u * p + v * q + w
73+ * @endcode
5274 */
5375
5476 /**
@@ -83,4 +105,9 @@ void av_display_rotation_set(int32_t matrix[9], double angle); · 28 unmodified lines
83105 */
84106 void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip);
85107
108+/**
109+ * @}
110+ * @}
111+ */
112+
86113 #endif /* AVUTIL_DISPLAY_H */
libavutil/stereo3d.h+39−0
@@ -18,6 +18,11 @@ · 17 unmodified lines
1818 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1919 */
2020
21+/**
22+ * @file
23+ * Stereoscopic video
24+ */
25+
2126 #ifndef AVUTIL_STEREO3D_H
2227 #define AVUTIL_STEREO3D_H
2328
@@ -25,6 +30,21 @@ · 1 unmodified line
2530
2631 #include "frame.h"
2732
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+
2848 /**
2949 * List of possible 3D Types
3050 */
@@ -37,41 +57,49 @@ enum AVStereo3DType { · 6 unmodified lines
3757 /**
3858 * Views are next to each other.
3959 *
60+ * @code{.unparsed}
4061 * LLLLRRRR
4162 * LLLLRRRR
4263 * LLLLRRRR
4364 * ...
65+ * @endcode
4466 */
4567 AV_STEREO3D_SIDEBYSIDE,
4668
4769 /**
4870 * Views are on top of each other.
4971 *
72+ * @code{.unparsed}
5073 * LLLLLLLL
5174 * LLLLLLLL
5275 * RRRRRRRR
5376 * RRRRRRRR
77+ * @endcode
5478 */
5579 AV_STEREO3D_TOPBOTTOM,
5680
5781 /**
5882 * Views are alternated temporally.
5983 *
84+ * @code{.unparsed}
6085 * frame0 frame1 frame2 ...
6186 * LLLLLLLL RRRRRRRR LLLLLLLL
6287 * LLLLLLLL RRRRRRRR LLLLLLLL
6388 * LLLLLLLL RRRRRRRR LLLLLLLL
6489 * ... ... ...
90+ * @endcode
6591 */
6692 AV_STEREO3D_FRAMESEQUENCE,
6793
6894 /**
6995 * Views are packed in a checkerboard-like structure per pixel.
7096 *
97+ * @code{.unparsed}
7198 * LRLRLRLR
7299 * RLRLRLRL
73100 * LRLRLRLR
74101 * ...
102+ * @endcode
75103 */
76104 AV_STEREO3D_CHECKERBOARD,
77105
@@ -79,30 +107,36 @@ enum AVStereo3DType { · 1 unmodified line
79107 * Views are next to each other, but when upscaling
80108 * apply a checkerboard pattern.
81109 *
110+ * @code{.unparsed}
82111 * LLLLRRRR L L L L R R R R
83112 * LLLLRRRR => L L L L R R R R
84113 * LLLLRRRR L L L L R R R R
85114 * LLLLRRRR L L L L R R R R
115+ * @endcode
86116 */
87117 AV_STEREO3D_SIDEBYSIDE_QUINCUNX,
88118
89119 /**
90120 * Views are packed per line, as if interlaced.
91121 *
122+ * @code{.unparsed}
92123 * LLLLLLLL
93124 * RRRRRRRR
94125 * LLLLLLLL
95126 * ...
127+ * @endcode
96128 */
97129 AV_STEREO3D_LINES,
98130
99131 /**
100132 * Views are packed per column.
101133 *
134+ * @code{.unparsed}
102135 * LRLRLRLR
103136 * LRLRLRLR
104137 * LRLRLRLR
105138 * ...
139+ * @endcode
106140 */
107141 AV_STEREO3D_COLUMNS,
108142 };
@@ -167,4 +201,9 @@ const char *av_stereo3d_type_name(unsigned int type); · 58 unmodified lines
167201 */
168202 int av_stereo3d_from_name(const char *name);
169203
204+/**
205+ * @}
206+ * @}
207+ */
208+
170209 #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