-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsamplecfg.h
112 lines (112 loc) · 4.53 KB
/
samplecfg.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
const char *default_cfg =
"Any line that does not begin with '@' or '!' is ignored\n"
"A line that begins with '!' handles a DIB format\n"
"A line that begins with '@' handles a FOURCC format\n"
"\n"
"After '!' or '@' there are 5 other identifying characters, then a ':', then the command line to run\n"
"\n"
"Executable names should be quote-delimited if they have spaces in them\n"
"Within the command line, you can put the following escape sequences for substitution:\n"
"\n"
"\n"
"%w width (px)\n"
"%h height (px)\n"
"%n fps numerator\n"
"%d fps denomenator\n"
"%u time of creation (unix epoch)\n"
"%t time of creation (human readable)\n"
"%i sequential identifier (unique per session)\n"
"%% single % sign\n"
"\n"
"The file will be scanned until the first handler is found that matches the input format, which will be executed.\n"
"If no handler is found, ICERR_BADFORMAT is returned to the system.\n"
"\n"
"\n"
"\n"
"\n"
"Here is a full example commandline, prefaced with a '#' so it will not be active\n"
"\n"
"#!vGB24:d:\\stuff\\x264\\x264.exe --preset veryslow --input-fmt raw --input-csp bgr --output-csp rgb --input-res %wx%h --fps %n/%d --qp 0 -o output.h264 -\n"
"\n"
"\n"
"\n"
"Here is a listing of all supported DIB formats, each one prefaced with '#' so as to not be active\n"
"Some of them have example ffmpeg partial commands that load the input\n"
"\n"
"16 bit (actually 15 bit), vflipped (as is usually the case)\n"
"#!RGB16:ffmpeg.exe -f rawvideo -pix_fmt bgr555le -s %wx%h -r %n/%d -vf \"vflip\" -i -\n"
"24 bit (actually 24 bit), vflipped (as is usually the case)\n"
"#!RGB24:ffmpeg.exe -f rawvideo -pix_fmt bgr24 -s %wx%h -r %n/%d -vf \"vflip\" -i -\n"
"32 bit (actually 24 bit), vflipped (as is usually the case)\n"
"#!RGB32:ffmpeg.exe -f rawvideo -pix_fmt bgr0 -s %wx%h -r %n/%d -vf \"vflip\" -i -\n"
"\n"
"all 3 of the above in top down configuration\n"
"you should not see this often in VFW\n"
"#!vGB16:ffmpeg.exe -f rawvideo -pix_fmt bgr555le -s %wx%h -r %n/%d -i -\n"
"#!vGB24:ffmpeg.exe -f rawvideo -pix_fmt bgr24 -s %wx%h -r %n/%d -i -\n"
"#!vGB32:ffmpeg.exe -f rawvideo -pix_fmt bgr0 -s %wx%h -r %n/%d -i -\n"
"\n"
"bitfield support: there are only two possibilities, 16 and 32\n"
"the bitmasks aren't passed on, so these take some guesswork\n"
"these formats are bottom up\n"
"#!BIT16:\n"
"#!BIT32:\n"
"top down versions of the above\n"
"#!vIT16:\n"
"#!vIT32:\n"
"\n"
"palette bitmaps. as before, bottom up\n"
"you don't get the palette, so these are useless as-is\n"
"#!RGB01:\n"
"#!RGB04:\n"
"#!RGB08:\n"
"the above, but in top-down configuration\n"
"#!vGB01:\n"
"#!vGB04:\n"
"#!vGB08:\n"
"\n"
"rle as embedded in DIB\n"
"#!RLE04:\n"
"#!RLE08:\n"
"jpg, png as embedded in DIB\n"
"#!PNG00:\n"
"#!JPEG0:\n"
"\n"
"Here is a partial listing of some uncompressed YUV FOURCCs, each prefaced with '#' so as to not be active\n"
"Partial ffmpeg invocations are included.\n"
"\n"
"should work fine\n"
"#@I420@:ffmpeg.exe -f rawvideo -pix_fmt yuv420p -s %wx%h -r %n/%d -i -\n"
"needs u+v swap\n"
"#@YV12@:ffmpeg.exe -f rawvideo -pix_fmt yuv420p -s %wx%h -r %n/%d -i -\n"
"should work fine\n"
"#@IYUV@:ffmpeg.exe -f rawvideo -pix_fmt yuv420p -s %wx%h -r %n/%d -i -\n"
"\n"
"ffmpeg has no packed 4:4:4 formats; you'll need to reintrpret BGR as UYV\n"
"#@IYUV@:ffmpeg.exe -f rawvideo -pix_fmt bgr24 -s %wx%h -r %n/%d\n"
"\n"
"should work fine\n"
"#@I422@:ffmpeg.exe -f rawvideo -pix_fmt yuv422p -s %wx%h -r %n/%d -i -\n"
"needs u+v swap\n"
"#@YV16@:ffmpeg.exe -f rawvideo -pix_fmt yuv422p -s %wx%h -r %n/%d -i -\n"
"\n"
"should work fine (all 3 are the same)?\n"
"#@YUYV@:ffmpeg.exe -f rawvideo -pix_fmt yuyv422 -s %wx%h -r %n/%d -i -\n"
"#@YUY2@:ffmpeg.exe -f rawvideo -pix_fmt yuyv422 -s %wx%h -r %n/%d -i -\n"
"#@YUNV@:ffmpeg.exe -f rawvideo -pix_fmt yuyv422 -s %wx%h -r %n/%d -i -\n"
"\n"
"should work fine (all 3 are the same)?\n"
"#@UYVY@:ffmpeg.exe -f rawvideo -pix_fmt uyvy422 -s %wx%h -r %n/%d -i -\n"
"#@Y422@:ffmpeg.exe -f rawvideo -pix_fmt uyvy422 -s %wx%h -r %n/%d -i -\n"
"#@UYNV@:ffmpeg.exe -f rawvideo -pix_fmt uyvy422 -s %wx%h -r %n/%d -i -\n"
"vflipped?\n"
"#@Y422@:ffmpeg.exe -f rawvideo -pix_fmt uyvy422 -s %wx%h -r %n/%d -i -\n"
"implied rec709 coefficients?\n"
"#@HDYC@:ffmpeg.exe -f rawvideo -pix_fmt uyvy422 -s %wx%h -r %n/%d -i -\n"
"\n"
"\n"
"Any FOURCC is theoretically supported, so long as it has no unprintable characters in it. Due to\n"
"program limitations, you won't know the byte size of each frame, so if it's not something you can\n"
"work out from the input dimensions, or the encoder can work out from directly examining the stream\n"
"as it goes, it's mostly useless.\n"
;