mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 12:36:41 +08:00 
			
		
		
		
	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. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This commit is contained in:
		| @@ -115,6 +115,12 @@ | |||||||
|  * |  * | ||||||
|  * @} |  * @} | ||||||
|  * |  * | ||||||
|  |  * @defgroup lavu_video Video related | ||||||
|  |  * | ||||||
|  |  * @{ | ||||||
|  |  * | ||||||
|  |  * @} | ||||||
|  |  * | ||||||
|  * @defgroup lavu_audio Audio related |  * @defgroup lavu_audio Audio related | ||||||
|  * |  * | ||||||
|  * @{ |  * @{ | ||||||
|   | |||||||
| @@ -18,21 +18,37 @@ | |||||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @file | ||||||
|  |  * Display matrix | ||||||
|  |  */ | ||||||
|  |  | ||||||
| #ifndef AVUTIL_DISPLAY_H | #ifndef AVUTIL_DISPLAY_H | ||||||
| #define AVUTIL_DISPLAY_H | #define AVUTIL_DISPLAY_H | ||||||
|  |  | ||||||
| #include <stdint.h> | #include <stdint.h> | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  |  * @addtogroup lavu_video | ||||||
|  |  * @{ | ||||||
|  |  * | ||||||
|  |  * @defgroup lavu_video_display Display transformation matrix functions | ||||||
|  |  * @{ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @addtogroup lavu_video_display | ||||||
|  * The display transformation matrix specifies an affine transformation that |  * The display transformation matrix specifies an affine transformation that | ||||||
|  * should be applied to video frames for correct presentation. It is compatible |  * should be applied to video frames for correct presentation. It is compatible | ||||||
|  * with the matrices stored in the ISO/IEC 14496-12 container format. |  * with the matrices stored in the ISO/IEC 14496-12 container format. | ||||||
|  * |  * | ||||||
|  * The data is a 3x3 matrix represented as a 9-element array: |  * The data is a 3x3 matrix represented as a 9-element array: | ||||||
|  * |  * | ||||||
|  |  * @code{.unparsed} | ||||||
|  *                                  | a b u | |  *                                  | a b u | | ||||||
|  *   (a, b, u, c, d, v, x, y, w) -> | c d v | |  *   (a, b, u, c, d, v, x, y, w) -> | c d v | | ||||||
|  *                                  | x y w | |  *                                  | x y w | | ||||||
|  |  * @endcode | ||||||
|  * |  * | ||||||
|  * All numbers are stored in native endianness, as 16.16 fixed-point values, |  * All numbers are stored in native endianness, as 16.16 fixed-point values, | ||||||
|  * except for u, v and w, which are stored as 2.30 fixed-point values. |  * except for u, v and w, which are stored as 2.30 fixed-point values. | ||||||
| @@ -40,15 +56,21 @@ | |||||||
|  * The transformation maps a point (p, q) in the source (pre-transformation) |  * The transformation maps a point (p, q) in the source (pre-transformation) | ||||||
|  * frame to the point (p', q') in the destination (post-transformation) frame as |  * frame to the point (p', q') in the destination (post-transformation) frame as | ||||||
|  * follows: |  * follows: | ||||||
|  |  * | ||||||
|  |  * @code{.unparsed} | ||||||
|  *               | a b u | |  *               | a b u | | ||||||
|  *   (p, q, 1) . | c d v | = z * (p', q', 1) |  *   (p, q, 1) . | c d v | = z * (p', q', 1) | ||||||
|  *               | x y w | |  *               | x y w | | ||||||
|  |  * @endcode | ||||||
|  * |  * | ||||||
|  * The transformation can also be more explicitly written in components as |  * The transformation can also be more explicitly written in components as | ||||||
|  * follows: |  * follows: | ||||||
|  |  * | ||||||
|  |  * @code{.unparsed} | ||||||
|  *   p' = (a * p + c * q + x) / z; |  *   p' = (a * p + c * q + x) / z; | ||||||
|  *   q' = (b * p + d * q + y) / z; |  *   q' = (b * p + d * q + y) / z; | ||||||
|  *   z  =  u * p + v * q + w |  *   z  =  u * p + v * q + w | ||||||
|  |  * @endcode | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @@ -83,4 +105,9 @@ void av_display_rotation_set(int32_t matrix[9], double angle); | |||||||
|  */ |  */ | ||||||
| void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip); | void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip); | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @} | ||||||
|  |  * @} | ||||||
|  |  */ | ||||||
|  |  | ||||||
| #endif /* AVUTIL_DISPLAY_H */ | #endif /* AVUTIL_DISPLAY_H */ | ||||||
|   | |||||||
| @@ -18,6 +18,11 @@ | |||||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @file | ||||||
|  |  * Stereoscopic video | ||||||
|  |  */ | ||||||
|  |  | ||||||
| #ifndef AVUTIL_STEREO3D_H | #ifndef AVUTIL_STEREO3D_H | ||||||
| #define AVUTIL_STEREO3D_H | #define AVUTIL_STEREO3D_H | ||||||
|  |  | ||||||
| @@ -25,6 +30,21 @@ | |||||||
|  |  | ||||||
| #include "frame.h" | #include "frame.h" | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @addtogroup lavu_video | ||||||
|  |  * @{ | ||||||
|  |  * | ||||||
|  |  * @defgroup lavu_video_stereo3d Stereo3D types and functions | ||||||
|  |  * @{ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @addtogroup lavu_video_stereo3d | ||||||
|  |  * A stereoscopic video file consists in multiple views embedded in a single | ||||||
|  |  * frame, usually describing two views of a scene. This file describes all | ||||||
|  |  * possible codec-independent view arrangements. | ||||||
|  |  * */ | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * List of possible 3D Types |  * List of possible 3D Types | ||||||
|  */ |  */ | ||||||
| @@ -37,41 +57,49 @@ enum AVStereo3DType { | |||||||
|     /** |     /** | ||||||
|      * Views are next to each other. |      * Views are next to each other. | ||||||
|      * |      * | ||||||
|  |      * @code{.unparsed} | ||||||
|      *    LLLLRRRR |      *    LLLLRRRR | ||||||
|      *    LLLLRRRR |      *    LLLLRRRR | ||||||
|      *    LLLLRRRR |      *    LLLLRRRR | ||||||
|      *    ... |      *    ... | ||||||
|  |      * @endcode | ||||||
|      */ |      */ | ||||||
|     AV_STEREO3D_SIDEBYSIDE, |     AV_STEREO3D_SIDEBYSIDE, | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Views are on top of each other. |      * Views are on top of each other. | ||||||
|      * |      * | ||||||
|  |      * @code{.unparsed} | ||||||
|      *    LLLLLLLL |      *    LLLLLLLL | ||||||
|      *    LLLLLLLL |      *    LLLLLLLL | ||||||
|      *    RRRRRRRR |      *    RRRRRRRR | ||||||
|      *    RRRRRRRR |      *    RRRRRRRR | ||||||
|  |      * @endcode | ||||||
|      */ |      */ | ||||||
|     AV_STEREO3D_TOPBOTTOM, |     AV_STEREO3D_TOPBOTTOM, | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Views are alternated temporally. |      * Views are alternated temporally. | ||||||
|      * |      * | ||||||
|  |      * @code{.unparsed} | ||||||
|      *     frame0   frame1   frame2   ... |      *     frame0   frame1   frame2   ... | ||||||
|      *    LLLLLLLL RRRRRRRR LLLLLLLL |      *    LLLLLLLL RRRRRRRR LLLLLLLL | ||||||
|      *    LLLLLLLL RRRRRRRR LLLLLLLL |      *    LLLLLLLL RRRRRRRR LLLLLLLL | ||||||
|      *    LLLLLLLL RRRRRRRR LLLLLLLL |      *    LLLLLLLL RRRRRRRR LLLLLLLL | ||||||
|      *    ...      ...      ... |      *    ...      ...      ... | ||||||
|  |      * @endcode | ||||||
|      */ |      */ | ||||||
|     AV_STEREO3D_FRAMESEQUENCE, |     AV_STEREO3D_FRAMESEQUENCE, | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Views are packed in a checkerboard-like structure per pixel. |      * Views are packed in a checkerboard-like structure per pixel. | ||||||
|      * |      * | ||||||
|  |      * @code{.unparsed} | ||||||
|      *    LRLRLRLR |      *    LRLRLRLR | ||||||
|      *    RLRLRLRL |      *    RLRLRLRL | ||||||
|      *    LRLRLRLR |      *    LRLRLRLR | ||||||
|      *    ... |      *    ... | ||||||
|  |      * @endcode | ||||||
|      */ |      */ | ||||||
|     AV_STEREO3D_CHECKERBOARD, |     AV_STEREO3D_CHECKERBOARD, | ||||||
|  |  | ||||||
| @@ -79,30 +107,36 @@ enum AVStereo3DType { | |||||||
|      * Views are next to each other, but when upscaling |      * Views are next to each other, but when upscaling | ||||||
|      * apply a checkerboard pattern. |      * apply a checkerboard pattern. | ||||||
|      * |      * | ||||||
|  |      * @code{.unparsed} | ||||||
|      *     LLLLRRRR          L L L L    R R R R |      *     LLLLRRRR          L L L L    R R R R | ||||||
|      *     LLLLRRRR    =>     L L L L  R R R R |      *     LLLLRRRR    =>     L L L L  R R R R | ||||||
|      *     LLLLRRRR          L L L L    R R R R |      *     LLLLRRRR          L L L L    R R R R | ||||||
|      *     LLLLRRRR           L L L L  R R R R |      *     LLLLRRRR           L L L L  R R R R | ||||||
|  |      * @endcode | ||||||
|      */ |      */ | ||||||
|     AV_STEREO3D_SIDEBYSIDE_QUINCUNX, |     AV_STEREO3D_SIDEBYSIDE_QUINCUNX, | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Views are packed per line, as if interlaced. |      * Views are packed per line, as if interlaced. | ||||||
|      * |      * | ||||||
|  |      * @code{.unparsed} | ||||||
|      *    LLLLLLLL |      *    LLLLLLLL | ||||||
|      *    RRRRRRRR |      *    RRRRRRRR | ||||||
|      *    LLLLLLLL |      *    LLLLLLLL | ||||||
|      *    ... |      *    ... | ||||||
|  |      * @endcode | ||||||
|      */ |      */ | ||||||
|     AV_STEREO3D_LINES, |     AV_STEREO3D_LINES, | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Views are packed per column. |      * Views are packed per column. | ||||||
|      * |      * | ||||||
|  |      * @code{.unparsed} | ||||||
|      *    LRLRLRLR |      *    LRLRLRLR | ||||||
|      *    LRLRLRLR |      *    LRLRLRLR | ||||||
|      *    LRLRLRLR |      *    LRLRLRLR | ||||||
|      *    ... |      *    ... | ||||||
|  |      * @endcode | ||||||
|      */ |      */ | ||||||
|     AV_STEREO3D_COLUMNS, |     AV_STEREO3D_COLUMNS, | ||||||
| }; | }; | ||||||
| @@ -167,4 +201,9 @@ const char *av_stereo3d_type_name(unsigned int type); | |||||||
|  */ |  */ | ||||||
| int av_stereo3d_from_name(const char *name); | int av_stereo3d_from_name(const char *name); | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @} | ||||||
|  |  * @} | ||||||
|  |  */ | ||||||
|  |  | ||||||
| #endif /* AVUTIL_STEREO3D_H */ | #endif /* AVUTIL_STEREO3D_H */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Vittorio Giovara
					Vittorio Giovara