patch to apply when compiling for 10/12 bit by Andrew
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / defaultformats.h
1 /*
2  * defaultformats.h
3  * Copyright (C) 2011 Einar Rünkaru <einarry at smail dot ee>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  */
19
20 /*
21  * Default presets for format
22  */
23
24 struct formatpresets
25 {
26         const char *name;
27         int audio_channels;
28         int audio_tracks;
29         int sample_rate;
30         int video_channels;
31         int video_tracks;
32         double frame_rate;
33         int output_w;
34         int output_h;
35         int aspect_w;
36         int aspect_h;
37         int interlace_mode;
38         int color_model;
39 };
40
41 static struct formatpresets format_presets[] = {
42         { N_("1080p/60"),               2, 2, 48000,    1, 1, 60,
43                 1920,1080, 16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
44         { N_("1080p/59.94"),            2, 2, 48000,    1, 1, 60000.0 / 1001,
45                 1920,1080, 16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
46         { N_("1080p/50"),               2, 2, 48000,    1, 1, 50,
47                 1920,1080, 16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
48         { N_("1080p/30"),               6, 6, 48000,    1, 1, 30,
49                 1920,1080, 16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
50         { N_("1080p/29.97"),            6, 6, 48000,    1, 1, 30000.0 / 1001,
51                 1920,1080, 16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
52         { N_("1080p/25"),               6, 6, 48000,    1, 1, 25,
53                 1920,1080, 16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
54         { N_("1080p/24"),               6, 6, 48000,    1, 1, 24,
55                 1920,1080, 16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
56         { N_("1080p/23.976"),           6, 6, 48000,    1, 1, 24000.0 / 1001,
57                 1920,1080, 16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
58         { N_("1080i/60"),               2, 2, 48000,    1, 1, 60,
59                 1920,1080, 16,9, ILACE_MODE_BOTTOM_FIRST, BC_YUVA8888 },
60         { N_("1080i/50"),               2, 2, 48000,    1, 1, 50,
61                 1920,1080, 16,9, ILACE_MODE_BOTTOM_FIRST, BC_YUVA8888 },
62         { N_("1080i/30"),               2, 2, 48000,    1, 1, 30,
63                 1920,1080, 16,9, ILACE_MODE_BOTTOM_FIRST, BC_YUVA8888 },
64         { N_("1080i/29.97"),            2, 2, 48000,    1, 1, 30000.0 / 1001,
65                 1920,1080, 16,9, ILACE_MODE_BOTTOM_FIRST, BC_YUVA8888 },
66         { N_("1080i/25"),               2, 2, 48000,    1, 1, 25,
67                 1920,1080, 16,9, ILACE_MODE_BOTTOM_FIRST, BC_YUVA8888 },
68         { N_("1080i/24"),               2, 2, 48000,    1, 1, 24,
69                 1920,1080, 16,9, ILACE_MODE_BOTTOM_FIRST, BC_YUVA8888 },
70         { N_("HDV 1080i/29.97"),                2, 2, 48000,    1, 1, 30000.0 / 1001,
71                 1440,1080, 16,9, ILACE_MODE_TOP_FIRST, BC_YUVA8888 },
72         { N_("HDV 1080i/25"),           2, 2, 48000,    1, 1, 25,
73                 1440,1080, 16,9, ILACE_MODE_TOP_FIRST, BC_YUVA8888 },
74         { N_("(HDV) 720p/60"),  2, 2, 48000,    1, 1, 60000.0 / 1001,
75                 1280,720,  16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
76         { N_("(HDV 10 bit) 720p/60"),   2, 2, 48000,    1, 1, 60000.0 / 1001,
77                 1280,720,  16,9, ILACE_MODE_NOTINTERLACED, BC_RGBA_FLOAT },
78         { N_("(HDV) 720p/50"),  2, 2, 48000,    1, 1, 50,
79                 1280,720,  16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
80         { N_("(HDV) 720p/29.97"),       2, 2, 48000,    1, 1, 30000.0 / 1001,
81                 1280,720,  16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
82         { N_("(HDV) 720p/25"),  2, 2, 48000,    1, 1, 25,
83                 1280,720,  16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
84         { N_("(HDV) 720p/23.976"),      2, 2, 48000,    1, 1, 24000.0 / 1001,
85                 1280,720,  16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
86         { N_("PAL 576i - DV(D)"),       2, 2, 48000,    1, 1, 25,
87                 720,576,   4,3, ILACE_MODE_BOTTOM_FIRST, BC_YUVA8888 },
88         { N_("PAL 576i (16:9) - DV(D)"),        2, 2, 48000,    1, 1, 25,
89                 720,576,   16,9, ILACE_MODE_BOTTOM_FIRST, BC_YUVA8888 },
90         { N_("PAL 576p (16:9) - DV(D)"),        2, 2, 48000,    1, 1, 25,
91                 720,576,   16,9, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
92         { N_("NTSC 480p - DV(D)"),      2, 2, 48000,    1, 1, 60000.0 / 1001,
93                 720,480,   4,3, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
94         { N_("NTSC 480i - DV(D)"),      2, 2, 48000,    1, 1, 30000.0 / 1001,
95                 720,480,   4,3, ILACE_MODE_BOTTOM_FIRST, BC_YUVA8888 },
96         { N_("YouTube"),                1, 1, 48000,    1, 1, 30000.0 / 1001,
97                 424,318,   4,3, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
98         { N_("Half D-1 PAL"),           2, 2, 48000,    1, 1, 25,
99                 360,288,   4,3, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
100         { N_("NTSC Half D-1"),  2, 2, 48000,    1, 1, 30000.0 / 1001,
101                 360,240,   4,3, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
102         { N_("Internet"),               1, 1, 22050,    1, 1, 15,
103                 320,240,   4,3, ILACE_MODE_NOTINTERLACED, BC_YUVA8888 },
104         { N_("CD Audio"),               2, 2, 44100,    1, 0, 30000.0 / 1001,
105                 720,480,   4,3, ILACE_MODE_NOTINTERLACED, BC_RGBA8888 },
106         { N_("DAT Audio"),              2, 2, 48000,    1, 0, 30000.0 / 1001,
107                 720,480,   4,3, ILACE_MODE_NOTINTERLACED, BC_RGBA8888 },
108         { 0 }
109 };
110
111 #define MAX_NUM_PRESETS (sizeof(format_presets) / sizeof(struct formatpresets))