annotate decode-mixed-mode.c @ 133:0d8eabdd12ab default tip

create: write H:MM:SS timestamps, add option to fill with gaussian-blur instead of black many albums are longer than one hour so writing H:MM:SS is a necessity. if anything there will just be verbose info that isn't important for my use-case. however the gaussian-blur is simply broken. It works, and it plays locally just fine, but YouTube in particular elongates the video to fit the full width. I'm not entirely sure why it does this, but it makes it useless and ugly.
author Paper <paper@tflc.us>
date Sat, 03 Jan 2026 20:25:38 -0500
parents 8c39820da60a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
129
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
1 #include <stdint.h>
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
2 #include <stdio.h>
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
3 #include <stdlib.h>
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
4 #include <inttypes.h>
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
5
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
6 static void decode_size(unsigned long x)
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
7 {
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
8 const char *lut[] = {"No", "One", "Two", "Four"};
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
9
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
10 printf("k%sByteCode", lut[x & 3]);
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
11 }
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
12
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
13 int main(int argc, char *argv[])
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
14 {
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
15 unsigned long x;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
16
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
17 if (argc < 2) {
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
18 fprintf(stderr, "usage: decrypt-mixed-call <param>\n");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
19 return 1;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
20 }
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
21
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
22 x = strtoul(argv[1], NULL, 0);
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
23
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
24 switch (x & 15) {
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
25 case 0:
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
26 printf("kPascalStackBased");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
27 break;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
28 case 1:
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
29 printf("kCStackBased");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
30 break;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
31 case 2:
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
32 printf("I'm too lazy for this!");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
33 return 1;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
34 case 5:
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
35 printf("kThinkCStackBased");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
36 break;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
37 case 8:
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
38 printf("kD0DispatchedPascalStackBased");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
39 break;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
40 case 9:
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
41 printf("kD0DispatchedCStackBased");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
42 break;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
43 case 12:
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
44 printf("kD1DispatchedPascalStackBased");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
45 break;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
46 case 14:
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
47 printf("kStackDispatchedPascalStackBased");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
48 break;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
49 default:
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
50 /* Invalid */
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
51 return 1;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
52 }
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
53
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
54 x >>= 4;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
55
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
56 printf(" | RESULT_SIZE(");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
57 decode_size(x);
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
58 printf(")");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
59
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
60 /* trim the fat */
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
61 x >>= 2;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
62
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
63 /* hopefully we're using stack, since that's the ONLY thing i'm handling */
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
64 for (uint32_t i = 1; i < 13 && x; i++, x >>= 2) {
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
65 printf(" | STACK_ROUTINE_PARAMETER(%" PRIu32 ", ", i);
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
66 decode_size(x);
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
67 printf(")");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
68 }
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
69
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
70 puts("");
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
71
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
72 return 0;
8c39820da60a add decode-mixed-mode.c
Paper <paper@tflc.us>
parents:
diff changeset
73 }