xref: /freebsd/contrib/file/magic/Magdir/sf3 (revision e949ce9dc0e6fff26e83904f1008b76d36ba0a37)
1*e949ce9dSXin LI
2*e949ce9dSXin LI#------------------------------------------------------------------------------
3*e949ce9dSXin LI# $File: sf3,v 1.1 2025/06/27 15:13:53 christos Exp $
4*e949ce9dSXin LI# sfr: SF3 [Simple File Format Family] files
5*e949ce9dSXin LI# (Yukari Hafner, shinmera@tymoon.eu)
6*e949ce9dSXin LI#
7*e949ce9dSXin LI# Reference: https://shirakumo.org/docs/sf3
8*e949ce9dSXin LI# Samples: https://shirakumo.org/projects/sf3/tree/master/samples/
9*e949ce9dSXin LI
10*e949ce9dSXin LI0	name		SF3-archive
11*e949ce9dSXin LI>0	ulequad		x		\b, %llu files
12*e949ce9dSXin LI!:mime	application/x.sf3-archive
13*e949ce9dSXin LI
14*e949ce9dSXin LI0	name		SF3-audio
15*e949ce9dSXin LI>0	ulelong		>1		\b, %dHz
16*e949ce9dSXin LI>4	ubyte		>0		\b, %d channels
17*e949ce9dSXin LI>5	byte		0x01	\b, A-law
18*e949ce9dSXin LI>5	byte		0x02	\b, 16-bit signed PCM
19*e949ce9dSXin LI>5	byte		0x04	\b, 32-bit signed PCM
20*e949ce9dSXin LI>5	byte		0x08	\b, 64-bit signed PCM
21*e949ce9dSXin LI>5	byte		0x11	\b, u-law
22*e949ce9dSXin LI>5	byte		0x12	\b, 16-bit unsigned PCM
23*e949ce9dSXin LI>5	byte		0x14	\b, 32-bit unsigned PCM
24*e949ce9dSXin LI>5	byte		0x18	\b, 64-bit unsigned PCM
25*e949ce9dSXin LI>5	byte		0x22	\b, half-float PCM
26*e949ce9dSXin LI>5	byte		0x24	\b, single-float PCM
27*e949ce9dSXin LI>5	byte		0x28	\b, double-float PCM
28*e949ce9dSXin LI!:mime	audio/x.sf3
29*e949ce9dSXin LI
30*e949ce9dSXin LI0	name		SF3-image
31*e949ce9dSXin LI>0	ulelong		>0		\b, %d
32*e949ce9dSXin LI>4	ulelong		>0		\bx%d
33*e949ce9dSXin LI>8	ulelong		>0		\bx%d
34*e949ce9dSXin LI>12	byte		0x01	\b, grayscale
35*e949ce9dSXin LI>12	byte		0x02	\b, grayscale-alpha
36*e949ce9dSXin LI>12	byte		0x03	\b, RGB
37*e949ce9dSXin LI>12	byte		0x04	\b, RGBA
38*e949ce9dSXin LI>12	byte		0x12	\b, grayscale-alpha
39*e949ce9dSXin LI>12	byte		0x13	\b, BGR
40*e949ce9dSXin LI>12	byte		0x14	\b, ABGR
41*e949ce9dSXin LI>12	byte		0x24	\b, ARGB
42*e949ce9dSXin LI>12	byte		0x34	\b, BGRA
43*e949ce9dSXin LI>12	byte		0x44	\b, CMYK
44*e949ce9dSXin LI>12	byte		0x54	\b, KYMC
45*e949ce9dSXin LI>13	byte		0x01	\b, 8-bit signed
46*e949ce9dSXin LI>13	byte		0x02	\b, 16-bit signed
47*e949ce9dSXin LI>13	byte		0x04	\b, 32-bit signed
48*e949ce9dSXin LI>13	byte		0x08	\b, 64-bit signed
49*e949ce9dSXin LI>13	byte		0x11	\b, 8-bit unsigned
50*e949ce9dSXin LI>13	byte		0x12	\b, 16-bit unsigned
51*e949ce9dSXin LI>13	byte		0x14	\b, 32-bit unsigned
52*e949ce9dSXin LI>13	byte		0x18	\b, 64-bit unsigned
53*e949ce9dSXin LI>13	byte		0x22	\b, half-float
54*e949ce9dSXin LI>13	byte		0x24	\b, single-float
55*e949ce9dSXin LI>13	byte		0x28	\b, double-float
56*e949ce9dSXin LI!:mime	image/x.sf3
57*e949ce9dSXin LI
58*e949ce9dSXin LI0	name		SF3-log
59*e949ce9dSXin LI>0	leqdate		x		\b, from %s
60*e949ce9dSXin LI>8	leqdate		x		\b, to %s
61*e949ce9dSXin LI>16	uleshort	x		\b, %d chunks
62*e949ce9dSXin LI!:mime	application/x.sf3-log
63*e949ce9dSXin LI
64*e949ce9dSXin LI0	name		SF3-model
65*e949ce9dSXin LI>(2.l+22)		ulelong	x	\b, %d face indices
66*e949ce9dSXin LI>>&(&-20.l*4)	ulelong	x	\b, %d vertex attributes
67*e949ce9dSXin LI!:mime	model/x.sf3
68*e949ce9dSXin LI
69*e949ce9dSXin LI0	name		SF3-physics-model
70*e949ce9dSXin LI>0	lefloat		x	\b, %f kg
71*e949ce9dSXin LI>40	uleshort	x	\b, %d shapes
72*e949ce9dSXin LI!:mime	model/x.sf3-physics
73*e949ce9dSXin LI
74*e949ce9dSXin LI0	name		SF3-table
75*e949ce9dSXin LI>0	uleshort	x	\b, %d columns
76*e949ce9dSXin LI>10	ulequad		x	\b, %llu rows
77*e949ce9dSXin LI!:mime	application/x.sf3-table
78*e949ce9dSXin LI
79*e949ce9dSXin LI0	name		SF3-text
80*e949ce9dSXin LI>8	ulelong		x	\b, %d markup options
81*e949ce9dSXin LI>(0.q+28)	ulequad	x	\b, %llu bytes of text
82*e949ce9dSXin LI!:mime	application/x.sf3-text
83*e949ce9dSXin LI
84*e949ce9dSXin LI0	name		SF3-vector-graphic
85*e949ce9dSXin LI>0	ulelong		>0	\b, %d
86*e949ce9dSXin LI>4	ulelong		>0	\bx%d
87*e949ce9dSXin LI>8	ulelong		x	\b, %d instructions
88*e949ce9dSXin LI!:mime	image/x.sf3-vector
89*e949ce9dSXin LI
90*e949ce9dSXin LI# Generic SF3 Header
91*e949ce9dSXin LI0	string		\x81SF3\x00\xE0\xD0\x0D\x0A\x0A	SF3
92*e949ce9dSXin LI>10	byte		0x01	archive
93*e949ce9dSXin LI>>16	use			SF3-archive
94*e949ce9dSXin LI>10	byte		0x02	audio file
95*e949ce9dSXin LI>>16	use			SF3-audio
96*e949ce9dSXin LI>10	byte		0x03	image file
97*e949ce9dSXin LI>>16	use			SF3-image
98*e949ce9dSXin LI>10	byte		0x04	log file
99*e949ce9dSXin LI>>16	use			SF3-log
100*e949ce9dSXin LI>10	byte		0x05	3D model
101*e949ce9dSXin LI>>16	use			SF3-model
102*e949ce9dSXin LI>10	byte		0x06	physics model
103*e949ce9dSXin LI>>16	use			SF3-physics-model
104*e949ce9dSXin LI>10	byte		0x07	table
105*e949ce9dSXin LI>>16	use			SF3-table
106*e949ce9dSXin LI>10	byte		0x08	text file
107*e949ce9dSXin LI>>16	use			SF3-text
108*e949ce9dSXin LI>10	byte		0x09	vector graphic
109*e949ce9dSXin LI>>16	use			SF3-vector-graphic
110*e949ce9dSXin LI>10	byte		>9	file of unknown type (%d)
111*e949ce9dSXin LI!:mime	application/x.sf3
112*e949ce9dSXin LI!:ext   sf3
113