]> git.sesse.net Git - bmusb/blob - format.cpp
Return second field offset for interlaced modes (1080i only for now).
[bmusb] / format.cpp
1 #include <stdio.h>
2
3 struct mode {
4         char name[32];
5         int value;
6 };
7
8 static const mode foo[] = {
9         "NTSC        ", 0xe901,
10         "NTSC        ", 0xe9c1,
11         "NTSC        ", 0xe801,
12         "NTSC 23.98  ", 0xe901,
13         "PAL         ", 0xe909,
14         "1080p 23.98 ", 0xe8ad,
15         "1080p 24    ", 0xe88b,
16         "1080p 25    ", 0xe86b,
17         "1080p 29.97 ", 0xe9ed,
18         "1080p 30    ", 0xe9cb,
19         "1080i 50    ", 0xe84b,
20         "1080i 59.94 ", 0xe82d,
21         "1080i 60    ", 0xe80b,
22         "720p 50     ", 0xe94b,
23         "720p 50     ", 0xe943,
24         "720p 59.94  ", 0xe92d,
25         "720p 59.94  ", 0xe925,
26         "720p 60     ", 0xe90b,
27 };
28
29 int main(void)
30 {
31         for (int i = 0; i < sizeof(foo) / sizeof(foo[0]); ++i) {
32                 int value = foo[i].value;
33                 printf("%-16s: mode=0x%04x, deep color=%d, dropframe=%d, hd_and_not_dropframe=%d, remainder=0x%04x\n",
34                         foo[i].name, value, !!(value & 0x8), !!(value & 0x4), !!(value & 0x2), value & ~(0xe800 | 0x8 | 0x4 | 0x2));
35         }
36 }