annotate vidix/fourcc.h @ 34185:05306b88b675

Fix wrong runtime and average bitrate for VBR (variable bitrate) MP3. Do so by determining the number of frames from the Xing/Info/VBRI headers and by calculation a correct duration which leads to an reasonable average bytes per seconds.
author ib
date Thu, 27 Oct 2011 20:09:09 +0000
parents 1861074aef60
children 28ea3e45b03a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3991
dcc632dd2097 preliminary version
nick
parents:
diff changeset
1 /*
23046
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
2 * VIDIX FourCC.
26718
051b2632f121 consistency cosmetics: Move some parts of file headers around; typo fixes.
diego
parents: 26030
diff changeset
3 *
051b2632f121 consistency cosmetics: Move some parts of file headers around; typo fixes.
diego
parents: 26030
diff changeset
4 * This interface is based on v4l2, fbvid.h, mga_vid.h projects
051b2632f121 consistency cosmetics: Move some parts of file headers around; typo fixes.
diego
parents: 26030
diff changeset
5 * and personally my ideas.
051b2632f121 consistency cosmetics: Move some parts of file headers around; typo fixes.
diego
parents: 26030
diff changeset
6 *
23046
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
7 * Copyright (C) 2002 Nick Kurshev
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
8 *
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
9 * This file is part of MPlayer.
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
10 *
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
11 * MPlayer is free software; you can redistribute it and/or modify
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
12 * it under the terms of the GNU General Public License as published by
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
14 * (at your option) any later version.
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
15 *
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
16 * MPlayer is distributed in the hope that it will be useful,
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
19 * GNU General Public License for more details.
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
20 *
26719
3abd1629658b Use standard license headers.
diego
parents: 26718
diff changeset
21 * You should have received a copy of the GNU General Public License along
3abd1629658b Use standard license headers.
diego
parents: 26718
diff changeset
22 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
3abd1629658b Use standard license headers.
diego
parents: 26718
diff changeset
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23046
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
24 */
82216ef041e0 updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents: 3991
diff changeset
25
26030
a93e46adb54c Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
26 #ifndef MPLAYER_FOURCC_H
a93e46adb54c Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
27 #define MPLAYER_FOURCC_H
3991
dcc632dd2097 preliminary version
nick
parents:
diff changeset
28
dcc632dd2097 preliminary version
nick
parents:
diff changeset
29 /* Four-character-code (FOURCC) */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
30 #define vid_fourcc(a,b,c,d)\
dcc632dd2097 preliminary version
nick
parents:
diff changeset
31 (((unsigned)(a)<<0)|((unsigned)(b)<<8)|((unsigned)(c)<<16)|((unsigned)(d)<<24))
dcc632dd2097 preliminary version
nick
parents:
diff changeset
32
dcc632dd2097 preliminary version
nick
parents:
diff changeset
33 /* RGB fourcc */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
34 #define IMGFMT_RGB332 vid_fourcc('R','G','B','1') /* 8 RGB-3-3-2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
35 #define IMGFMT_RGB555 vid_fourcc('R','G','B','O') /* 16 RGB-5-5-5 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
36 #define IMGFMT_RGB565 vid_fourcc('R','G','B','P') /* 16 RGB-5-6-5 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
37 #define IMGFMT_RGB555X vid_fourcc('R','G','B','Q') /* 16 RGB-5-5-5 BE */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
38 #define IMGFMT_RGB565X vid_fourcc('R','G','B','R') /* 16 RGB-5-6-5 BE */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
39 #define IMGFMT_BGR15 vid_fourcc('B','G','R',15) /* 15 BGR-5-5-5 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
40 #define IMGFMT_RGB15 vid_fourcc('R','G','B',15) /* 15 RGB-5-5-5 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
41 #define IMGFMT_BGR16 vid_fourcc('B','G','R',16) /* 32 BGR-5-6-5 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
42 #define IMGFMT_RGB16 vid_fourcc('R','G','B',16) /* 32 RGB-5-6-5 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
43 #define IMGFMT_BGR24 vid_fourcc('B','G','R',24) /* 24 BGR-8-8-8 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
44 #define IMGFMT_RGB24 vid_fourcc('R','G','B',24) /* 24 RGB-8-8-8 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
45 #define IMGFMT_BGR32 vid_fourcc('B','G','R',32) /* 32 BGR-8-8-8-8 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
46 #define IMGFMT_RGB32 vid_fourcc('R','G','B',32) /* 32 RGB-8-8-8-8 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
47
dcc632dd2097 preliminary version
nick
parents:
diff changeset
48 /* Planar YUV Formats */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
49 #define IMGFMT_YVU9 vid_fourcc('Y','V','U','9') /* 9 YVU 4:1:0 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
50 #define IMGFMT_IF09 vid_fourcc('I','F','0','9') /* 9.5 YUV 4:1:0 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
51 #define IMGFMT_YV12 vid_fourcc('Y','V','1','2') /* 12 YVU 4:2:0 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
52 #define IMGFMT_I420 vid_fourcc('I','4','2','0') /* 12 YUV 4:2:0 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
53 #define IMGFMT_IYUV vid_fourcc('I','Y','U','V') /* 12 YUV 4:2:0 */
27398
1861074aef60 Add NV12 colorspace support to VIDIX driver.
ben
parents: 26719
diff changeset
54 #define IMGFMT_NV12 vid_fourcc('N','V','1','2')
3991
dcc632dd2097 preliminary version
nick
parents:
diff changeset
55 #define IMGFMT_CLPL vid_fourcc('C','L','P','L') /* 12 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
56 #define IMGFMT_Y800 vid_fourcc('Y','8','0','0') /* 8 Y Grayscale */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
57 #define IMGFMT_Y8 vid_fourcc('Y','8',' ',' ') /* 8 Y Grayscale */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
58
dcc632dd2097 preliminary version
nick
parents:
diff changeset
59 /* Packed YUV Formats */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
60 #define IMGFMT_IUYV vid_fourcc('I','U','Y','V') /* 16 line order {0,2,4,...1,3,5} */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
61 #define IMGFMT_IY41 vid_fourcc('I','Y','4','1') /* 12 line order {0,2,4,...1,3,5} */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
62 #define IMGFMT_IYU1 vid_fourcc('I','Y','U','1') /* 12 IEEE 1394 Digital Camera */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
63 #define IMGFMT_IYU2 vid_fourcc('I','Y','U','2') /* 24 IEEE 1394 Digital Camera */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
64 #define IMGFMT_UYVY vid_fourcc('U','Y','V','Y') /* 16 UYVY 4:2:2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
65 #define IMGFMT_UYNV vid_fourcc('U','Y','N','V') /* 16 UYVY 4:2:2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
66 #define IMGFMT_cyuv vid_fourcc('c','y','u','v') /* 16 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
67 #define IMGFMT_Y422 vid_fourcc('Y','4','2','2') /* 16 UYVY 4:2:2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
68 #define IMGFMT_YUY2 vid_fourcc('Y','U','Y','2') /* 16 YUYV 4:2:2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
69 #define IMGFMT_YUNV vid_fourcc('Y','U','N','V') /* 16 YUYV 4:2:2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
70 #define IMGFMT_YVYU vid_fourcc('Y','V','Y','U') /* 16 YVYU 4:2:2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
71 #define IMGFMT_Y41P vid_fourcc('Y','4','1','P') /* 12 YUV 4:1:1 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
72 #define IMGFMT_Y211 vid_fourcc('Y','2','1','1') /* 8.5 YUV 2:1:1 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
73 #define IMGFMT_Y41T vid_fourcc('Y','4','1','T') /* 12 YUV 4:1:1 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
74 #define IMGFMT_Y42T vid_fourcc('Y','4','2','T') /* 16 UYVU 4:2:2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
75 #define IMGFMT_V422 vid_fourcc('V','4','2','2') /* 16 YUY2 4:2:2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
76 #define IMGFMT_V655 vid_fourcc('V','6','5','5') /* 16 YUV 4:2:2 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
77 #define IMGFMT_CLJR vid_fourcc('C','L','J','R') /* 7.9 YUV 4:1:1 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
78 #define IMGFMT_YUVP vid_fourcc('Y','U','V','P') /* 24 Y0U0Y1V0 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
79 #define IMGFMT_UYVP vid_fourcc('U','Y','V','P') /* 24 U0Y0V0Y1 */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
80
dcc632dd2097 preliminary version
nick
parents:
diff changeset
81 /* Vendor-specific formats */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
82 #define IMGFMT_WNVA vid_fourcc('W','N','V','A') /* Winnov hw compress */
dcc632dd2097 preliminary version
nick
parents:
diff changeset
83
26030
a93e46adb54c Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
84 #endif /* MPLAYER_FOURCC_H */