base38: add enumerated-media-types.txt
diff --git a/doc/note/base38-and-fourcc.md b/doc/note/base38-and-fourcc.md
index 9f35f6a..4b0d8c4 100644
--- a/doc/note/base38-and-fourcc.md
+++ b/doc/note/base38-and-fourcc.md
@@ -43,6 +43,9 @@
 The base38 encoding of `"jpeg"` is `0x1153D3`, which is `1135571`, which is
 `((20 * (38 ** 3)) + (26 * (38 ** 2)) + (15 * (38 ** 1)) + (17 * (38 ** 0)))`.
 
+The base38 encoding of `"ping"` is `0x1633BD`, which is `1455037`, which is
+`((26 * (38 ** 3)) + (19 * (38 ** 2)) + (24 * (38 ** 1)) + (17 * (38 ** 0)))`.
+
 The minimum base38 value, 0x000000, corresponds to `"...."`. Depending on
 context, this can be used as a default, built-in or placeholder value.
 
@@ -70,3 +73,86 @@
 - [Quirk values](/doc/note/quirks.md) use this `((namespace << 10) | local)`
   scheme.
 - [Tokens](/doc/note/tokens.md) assign 21 out of 64 bits for a base38 value.
+
+
+### Base38 4/4/4 and 4/4/2
+
+3×21 bits fits snugly into a `int64_t` or `uint64_t` (the sign or high bit is
+unused). 63 bits can therefore hold a 12-character or three 4-character strings
+(taken from base38's limited alphabet).
+
+For example, in a custom RPC protocol, the namespace/class/method name could be
+base38-encoded as a 4/4/4 string like `"net./conn/ping"`. As a number, this
+would be `((0x147150 << 42) | (0x0B7324 << 21) | 0x1633BD)` which is
+`0x51C5416E_649633BD`. At the wire format level, this would occupy a
+fixed-length (8 bytes) and that 64th bit could, for example, indicate request
+or response.
+
+A 2-character string can fit in 11 bits, as `38 ** 2 = 0x5A4 = 1444` is smaller
+than `2 ** 11 = 0x800 = 2048`. 53 bits can therefore hold a 10-character or
+4/4/2 alpha-numeric-ish string. 53 bits also fits snugly under JavaScript's
+`Number.MAX_SAFE_INTEGER` - these integers can be losslessly stored in a
+`double` or `float64_t`.
+
+[Enumerated Media Types](./enumerated-media-types.txt) uses this base38 4/4/2
+encoding, mapping `"image/jpeg"` to the base38 `"imag/jpeg/.."` which is
+`((0x106BF7 << 32) | (0x1153D3 << 11) | 0x000)` which is `0x106BF7_8A9E9800`.
+Some more examples:
+
+- `0x09CC62_A9E37800 = "appl/octe/.." = "application/octet-stream"`
+- `0x09CC62_B0B24000 = "appl/pdf./.." = "application/pdf"`
+- `0x09CC62_DACDFC4E = "appl/voao/s." = "application/vnd.oasis.opendocument.spreadsheet"`
+- `0x09CC62_DACDFC6C = "appl/voao/st" = "application/vnd.oasis.opendocument.spreadsheet-template"`
+- `0x09CC62_DACDFC74 = "appl/voao/t." = "application/vnd.oasis.opendocument.text"`
+- `0x09CC62_DADFCC6B = "appl/vopo/ss" = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"`
+- `0x106BF7_8A9E9800 = "imag/jpeg/.." = "image/jpeg"`
+- `0x106BF7_B276B000 = "imag/png./.." = "image/png"`
+- `0x106BF7_FE887DA3 = "imag/~~~~/~~" = "image/*"`
+- `0x197816_7DF74000 = "text/html/.." = "text/html"`
+- `0x197816_B215E800 = "text/plai/.." = "text/plain"`
+
+
+### Base38 Alphabet
+
+Case-insensitive alpha-numeric, roughly speaking.
+
+```
+'.' =  0
+'0' =  1
+'1' =  2
+'2' =  3
+'3' =  4
+'4' =  5
+'5' =  6
+'6' =  7
+'7' =  8
+'8' =  9
+'9' = 10
+'a' = 11
+'b' = 12
+'c' = 13
+'d' = 14
+'e' = 15
+'f' = 16
+'g' = 17
+'h' = 18
+'i' = 19
+'j' = 20
+'k' = 21
+'l' = 22
+'m' = 23
+'n' = 24
+'o' = 25
+'p' = 26
+'q' = 27
+'r' = 28
+'s' = 29
+'t' = 30
+'u' = 31
+'v' = 32
+'w' = 33
+'x' = 34
+'y' = 35
+'z' = 36
+'~' = 37
+```
diff --git a/doc/note/enumerated-media-types.txt b/doc/note/enumerated-media-types.txt
new file mode 100644
index 0000000..389cd3c
--- /dev/null
+++ b/doc/note/enumerated-media-types.txt
@@ -0,0 +1,233 @@
+# Enumerated Media Types
+# ----------------------
+#
+# This is a curated list of about 200 common Media Types (also known as MIME
+# Types). The official name, with variable length, is in the fourth column. A
+# fixed length contraction, presented in 4/4/2 format, is in the third column.
+# The base38 numeric encoding of that 4/4/2 string is in the first (hex) and
+# second (decimal) columns. These positive numbers are all less than or equal
+# to ((1<<53)-1), also known as Number.MAX_SAFE_INTEGER in JavaScript, and so
+# generally safe to pass around as a JSON value, float64, int64 or uint64.
+#
+# As an int64 or uint64, the high 32 bits (of which only 21 are used) hold the
+# top-level type: 0x09CC62 means "application", 0x106BF7 means "image", etc.
+#
+# Using fixed-size numbers instead of variable-length strings can be useful in
+# file formats, wire protocols, database tables or other contexts where dynamic
+# memory allocation is unavailable or fallible or where variable-length data
+# complicates matters. At the micro-optimization level, comparing or hashing
+# uint64 numbers is also faster than for arbitrary strings.
+#
+# Using a sparse enumeration (instead of the dense 1 = "application/epub+zip",
+# 2 = "application/java-archive", etc) means that, when debugging or logging,
+# the numerical value can be converted to a somewhat-human-readable form (the
+# "appl/java/ar" 4/4/2 string) purely algorithmically, without a lookup table.
+# Inserting new entries can also preserve the sortedness of the 4/4/2 form
+# without requiring renumbering.
+#
+# When debugging, if the numerical value is all that you know, grepping a large
+# codebase for 0x09CC62_880DB9BE or 2757998351858110 will also produce far
+# fewer false positives than grepping for 2.
+#
+# The pua.example subtypes (e.g. for private use within a system that deals
+# with "foobar.example" files) are an unofficial suggestion for entries not in
+# the official IANA registry, similar to Unicode's Private Use Area. For a PUA
+# entry's 4/4/2 string, the middle-4 starts with a "~" (and cannot be "~~~~")
+# but the rest of the middle-4-right-2 is freeform.
+#
+# The official IANA Media Types registry:
+# https://www.iana.org/assignments/media-types/media-types.xhtml
+#
+# A popular subset of that registry, with about 800 entries, as well as a
+# mapping between Media Types (like "application/java-archive") and filename
+# extensions (like ".jar"):
+# https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
+#
+# This file (enumerated-media-types.txt) is canonically hosted in the doc/note
+# directory of the github.com/google/wuffs repository. That same directory also
+# holds a base38-and-fourcc.md file that elaborates on base38 encoding.
+
+0x09CC62_6933B000	2757997834252288	appl/epub/..	application/epub+zip
+0x09CC62_880DB9BE	2757998351858110	appl/java/ar	application/java-archive
+0x09CC62_880DBC67	2757998351858791	appl/java/so	application/java-serialized-object
+0x09CC62_880DBCD7	2757998351858903	appl/java/vm	application/java-vm
+0x09CC62_8B321000	2757998404571136	appl/json/..	application/json
+0x09CC62_9C23B800	2757998688843776	appl/mate/..	application/mathematica
+0x09CC62_9C23F800	2757998688860160	appl/matm/..	application/mathml+xml
+0x09CC62_9F53D800	2757998742329344	appl/mswo/..	application/msword
+0x09CC62_A9E37800	2757998919514112	appl/octe/..	application/octet-stream
+0x09CC62_B0B24000	2757999033729024	appl/pdf./..	application/pdf
+0x09CC62_B2B30000	2757999067332608	appl/post/..	application/postscript
+0x09CC62_C0E9C000	2757999305801728	appl/rtf./..	application/rtf
+0x09CC62_C664E000	2757999397756928	appl/smil/..	application/smil+xml
+0x09CC62_CE584000	2757999531147264	appl/ttml/..	application/ttml+xml
+0x09CC62_D86553E7	2757999699776487	appl/vand/pa	application/vnd.android.package-archive
+0x09CC62_D8681384	2757999699956612	appl/vapp/mp	application/vnd.apple.mpegurl
+0x09CC62_D9754B34	2757999717600052	appl/vgoe/kl	application/vnd.google-earth.kml+xml
+0x09CC62_D9754B42	2757999717600066	appl/vgoe/kz	application/vnd.google-earth.kmz
+0x09CC62_D9C13800	2757999722575872	appl/vicc/..	application/vnd.iccprofile
+0x09CC62_DA1CBB29	2757999728573225	appl/vkde/ka	application/vnd.kde.karbon
+0x09CC62_DA1CBB2B	2757999728573227	appl/vkde/kc	application/vnd.kde.kchart
+0x09CC62_DA1CBB2E	2757999728573230	appl/vkde/kf	application/vnd.kde.kformula
+0x09CC62_DA1CBB31	2757999728573233	appl/vkde/ki	application/vnd.kde.kivio
+0x09CC62_DA1CBB37	2757999728573239	appl/vkde/ko	application/vnd.kde.kontour
+0x09CC62_DA1CBB38	2757999728573240	appl/vkde/kp	application/vnd.kde.kpresenter
+0x09CC62_DA1CBB3B	2757999728573243	appl/vkde/ks	application/vnd.kde.kspread
+0x09CC62_DA1CBB3F	2757999728573247	appl/vkde/kw	application/vnd.kde.kword
+0x09CC62_DA8851F9	2757999735624185	appl/vms./ca	application/vnd.ms-cab-compressed
+0x09CC62_DA88525C	2757999735624284	appl/vms./ex	application/vnd.ms-excel
+0x09CC62_DA8852CA	2757999735624394	appl/vms./ht	application/vnd.ms-htmlhelp
+0x09CC62_DA8853F5	2757999735624693	appl/vms./po	application/vnd.ms-powerpoint
+0x09CC62_DACDF9EE	2757999740189166	appl/voao/c.	application/vnd.oasis.opendocument.chart
+0x09CC62_DACDFA0C	2757999740189196	appl/voao/ct	application/vnd.oasis.opendocument.chart-template
+0x09CC62_DACDFA14	2757999740189204	appl/voao/d.	application/vnd.oasis.opendocument.database
+0x09CC62_DACDFA60	2757999740189280	appl/voao/f.	application/vnd.oasis.opendocument.formula
+0x09CC62_DACDFA7E	2757999740189310	appl/voao/ft	application/vnd.oasis.opendocument.formula-template
+0x09CC62_DACDFA86	2757999740189318	appl/voao/g.	application/vnd.oasis.opendocument.graphics
+0x09CC62_DACDFAA4	2757999740189348	appl/voao/gt	application/vnd.oasis.opendocument.graphics-template
+0x09CC62_DACDFAD2	2757999740189394	appl/voao/i.	application/vnd.oasis.opendocument.image
+0x09CC62_DACDFAF0	2757999740189424	appl/voao/it	application/vnd.oasis.opendocument.image-template
+0x09CC62_DACDFBDC	2757999740189660	appl/voao/p.	application/vnd.oasis.opendocument.presentation
+0x09CC62_DACDFBFA	2757999740189690	appl/voao/pt	application/vnd.oasis.opendocument.presentation-template
+0x09CC62_DACDFC4E	2757999740189774	appl/voao/s.	application/vnd.oasis.opendocument.spreadsheet
+0x09CC62_DACDFC6C	2757999740189804	appl/voao/st	application/vnd.oasis.opendocument.spreadsheet-template
+0x09CC62_DACDFC74	2757999740189812	appl/voao/t.	application/vnd.oasis.opendocument.text
+0x09CC62_DACDFC8B	2757999740189835	appl/voao/tm	application/vnd.oasis.opendocument.text-master
+0x09CC62_DACDFC92	2757999740189842	appl/voao/tt	application/vnd.oasis.opendocument.text-template
+0x09CC62_DACDFC95	2757999740189845	appl/voao/tw	application/vnd.oasis.opendocument.text-web
+0x09CC62_DADFCBF6	2757999741357046	appl/vopo/pp	application/vnd.openxmlformats-officedocument.presentationml.presentation
+0x09CC62_DADFCBF8	2757999741357048	appl/vopo/pr	application/vnd.openxmlformats-officedocument.presentationml.slide
+0x09CC62_DADFCBF9	2757999741357049	appl/vopo/ps	application/vnd.openxmlformats-officedocument.presentationml.slideshow
+0x09CC62_DADFCBFA	2757999741357050	appl/vopo/pt	application/vnd.openxmlformats-officedocument.presentationml.template
+0x09CC62_DADFCC6B	2757999741357163	appl/vopo/ss	application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
+0x09CC62_DADFCC6C	2757999741357164	appl/vopo/st	application/vnd.openxmlformats-officedocument.spreadsheetml.template
+0x09CC62_DADFCCF4	2757999741357300	appl/vopo/wd	application/vnd.openxmlformats-officedocument.wordprocessingml.document
+0x09CC62_DADFCD04	2757999741357316	appl/vopo/wt	application/vnd.openxmlformats-officedocument.wordprocessingml.template
+0x09CC62_DF1E4800	2757999812560896	appl/wasm/..	application/wasm
+0x09CC62_E5514000	2757999916564480	appl/x7z./..	application/x-7z-compressed
+0x09CC62_E5BCB800	2757999923607552	appl/xabi/..	application/x-abiword
+0x09CC62_E5CD9227	2757999924711975	appl/xapp/di	application/x-apple-diskimage
+0x09CC62_E5F28000	2757999927132160	appl/xbit/..	application/x-bittorrent
+0x09CC62_E605D800	2757999928399872	appl/xbz2/..	application/x-bzip2
+0x09CC62_E61DF800	2757999929980928	appl/xche/..	application/x-chess-pgn
+0x09CC62_E6477000	2757999932698624	appl/xdeb/..	application/x-debian-package
+0x09CC62_E653B800	2757999933503488	appl/xdoo/..	application/x-doom
+0x09CC62_E65BD800	2757999934035968	appl/xdvi/..	application/x-dvi
+0x09CC62_E6DA1800	2757999942309888	appl/xgnu/..	application/x-gnumeric
+0x09CC62_E70E1800	2757999945717760	appl/xhtm/..	application/xhtml+xml
+0x09CC62_E73A1800	2757999948601344	appl/xiso/..	application/x-iso9660-image
+0x09CC62_E7AC4000	2757999956082688	appl/xlat/..	application/x-latex
+0x09CC62_E7E58000	2757999959834624	appl/xml./..	application/xml
+0x09CC62_E7E5F000	2757999959863296	appl/xmld/..	application/xml-dtd
+0x09CC62_E7EDD1BC	2757999960379836	appl/xms./ap	application/x-ms-application
+0x09CC62_E7EDD460	2757999960380512	appl/xms./sh	application/x-ms-shortcut
+0x09CC62_E7EE4000	2757999960408064	appl/xmsd/..	application/x-msdownload
+0x09CC62_E8BAF000	2757999973822464	appl/xrar/..	application/x-rar-compressed
+0x09CC62_E8EF8000	2757999977267200	appl/xsh./..	application/x-sh
+0x09CC62_E8F04800	2757999977318400	appl/xsho/..	application/x-shockwave-flash
+0x09CC62_E8FAE000	2757999978012672	appl/xsql/..	application/x-sql
+0x09CC62_E9153000	2757999979737088	appl/xtar/..	application/x-tar
+0x09CC62_E91A2000	2757999980060672	appl/xtex/..	application/x-tex
+0x09CC62_E91A2277	2757999980061303	appl/xtex/fm	application/x-tex-tfm
+0x09CC62_E91A22EA	2757999980061418	appl/xtex/in	application/x-texinfo
+0x09CC62_E9E68000	2757999993454592	appl/xxz./..	application/x-xz
+0x09CC62_F49B4000	2758000173072384	appl/zip./..	application/zip
+0x09CC62_FAA35800	2758000274266112	appl/~exa/..	application/pua.example
+0x09CC62_FE887DA3	2758000339615139	appl/~~~~/~~	application/*
+
+0x09E6CB_1DE9D000	2787034845007872	audi/3gpp/..	audio/3gpp
+0x09E6CB_4C087000	2787035618766848	audi/acc3...	audio/ac3
+0x09E6CB_4DDD6000	2787035649499136	audi/amr./..	audio/amr
+0x09E6CB_4DDE6800	2787035649566720	audi/amrw/..	audio/amr-wb
+0x09E6CB_52746800	2787035726505984	audi/basi/..	audio/basic
+0x09E6CB_9D79D800	2787036985153536	audi/midi/..	audio/midi
+0x09E6CB_9E86B000	2787037002772480	audi/mobx/..	audio/mobile-xmf
+0x09E6CB_9EAA7000	2787037005115392	audi/mp4./..	audio/mp4
+0x09E6CB_9EB6D800	2787037005928448	audi/mpeg/..	audio/mpeg
+0x09E6CB_AA881000	2787037204189184	audi/ogg./..	audio/ogg
+0x09E6CB_E5BB5800	2787038197405696	audi/xaac/..	audio/x-aac
+0x09E6CB_E5C4F000	2787038198034432	audi/xaif/..	audio/x-aiff
+0x09E6CB_E6A9F800	2787038213044224	audi/xfla/..	audio/x-flac
+0x09E6CB_E7D96000	2787038232928256	audi/xmat/..	audio/x-matroska
+0x09E6CB_E7EB3800	2787038234097664	audi/xmpu/..	audio/x-mpegurl
+0x09E6CB_E7EDD4F1	2787038234268913	audi/xms./wa	audio/x-ms-wax
+0x09E6CB_E7EDD4FD	2787038234268925	audi/xms./wm	audio/x-ms-wma
+0x09E6CB_E8702000	2787038242807808	audi/xpnr/..	audio/x-pn-realaudio
+0x09E6CB_E99CB000	2787038262505472	audi/xwav/..	audio/x-wav
+0x09E6CB_FE887DA3	2787038613503395	audi/~~~~/~~	audio/*
+
+0x0DF632_5B96B000	3929870842638336	font/coll/..	font/collection
+0x0DF632_ACD18000	3929872205447168	font/otf./..	font/otf
+0x0DF632_CE4F4000	3929872767336448	font/ttf./..	font/ttf
+0x0DF632_E1866000	3929873089716224	font/woff/..	font/woff
+0x0DF632_E1866072	3929873089716338	font/woff/2.	font/woff2
+0x0DF632_FE887DA3	3929873576394147	font/~~~~/~~	font/*
+
+0x106BF7_4F695000	4622309560766464	imag/avif/..	image/avif
+0x106BF7_548DC000	4622309647040512	imag/bmp./..	image/bmp
+0x106BF7_754B2000	4622310196322304	imag/gif./..	image/gif
+0x106BF7_8A8FD000	4622310553145344	imag/jp2./..	image/jp2
+0x106BF7_8A9E9800	4622310554114048	imag/jpeg/..	image/jpeg
+0x106BF7_8AB4A000	4622310555557888	imag/jpx./..	image/jpx
+0x106BF7_8C0F6000	4622310578282496	imag/jxl./..	image/jxl
+0x106BF7_921BE000	4622310679764992	imag/ktx./..	image/ktx
+0x106BF7_B276B000	4622311222587392	imag/png./..	image/png
+0x106BF7_C7F90000	4622311583449088	imag/svgx/..	image/svg+xml
+0x106BF7_CC5F6000	4622311657267200	imag/tiff/..	image/tiff
+0x106BF7_D859CBF9	4622311858228217	imag/vado/ps	image/vnd.adobe.photoshop
+0x106BF7_D8E88000	4622311867580416	imag/vdjv/..	image/vnd.djvu
+0x106BF7_DC3704F2	4622311923057906	imag/vwap/wb	image/vnd.wap.wbmp
+0x106BF7_DFBEB000	4622311982280704	imag/webp/..	image/webp
+0x106BF7_E7271800	4622312106563584	imag/xico/..	image/x-icon
+0x106BF7_E87151B9	4622312128205241	imag/xpor/am	image/x-portable-anymap
+0x106BF7_E87151DF	4622312128205279	imag/xpor/bm	image/x-portable-bitmap
+0x106BF7_E871529D	4622312128205469	imag/xpor/gm	image/x-portable-graymap
+0x106BF7_E87153F3	4622312128205811	imag/xpor/pm	image/x-portable-pixmap
+0x106BF7_E91BC800	4622312139376640	imag/xtga/..	image/x-tga
+0x106BF7_FAA35800	4622312433473536	imag/~exa/..	image/pua.example
+0x106BF7_FE887DA3	4622312498822563	imag/~~~~/~~	image/*
+
+0x13F426_4DB31800	5616469907019776	mult/alte/..	multipart/alternative
+0x13F426_56B07800	5616470057842688	mult/byte/..	multipart/byteranges
+0x13F426_6FB61800	5616470477641728	mult/form/..	multipart/form-data
+0x13F426_9D917800	5616471246993408	mult/mixe/..	multipart/mixed
+0x13F426_E7E30000	5616472493850624	mult/xmix/..	multipart/x-mixed-replace
+0x13F426_FE887DA3	5616472873794979	mult/~~~~/~~	multipart/*
+
+0x197816_59144800	7168911796881408	text/cacm/..	text/cache-manifest
+0x197816_591EB800	7168911797565440	text/cale/..	text/calendar
+0x197816_5C52D000	7168911851311104	text/css./..	text/css
+0x197816_5C566000	7168911851544576	text/csv./..	text/csv
+0x197816_7DF74000	7168912415735808	text/html/..	text/html
+0x197816_880E4800	7168912585017344	text/javs/..	text/javascript
+0x197816_9C218800	7168912921823232	text/mark/..	text/markdown
+0x197816_B215E800	7168913290160128	text/plai/..	text/plain
+0x197816_C0E9C000	7168913538924544	text/rtf./..	text/rtf
+0x197816_CAF20800	7168913707239424	text/tabs/..	text/tab-separated-values
+0x197816_CE8B9000	7168913767632896	text/turt/..	text/turtle
+0x197816_D4AC0000	7168913870422016	text/uril/..	text/uri-list
+0x197816_E6082000	7168914161672192	text/xc../..	text/x-c
+0x197816_E7521000	7168914183294976	text/xjav/..	text/x-java-source
+0x197816_E7E58000	7168914192957440	text/xml./..	text/xml
+0x197816_E971A000	7168914218917888	text/xvcl/..	text/x-vcalendar
+0x197816_E971D000	7168914218930176	text/xvcr/..	text/x-vcard
+0x197816_FE887DA3	7168914572737955	text/~~~~/~~	text/*
+
+0x1B384F_1DE9D000	7661736826621952	vide/3gpp/..	video/3gpp
+0x1B384F_1DE9D072	7661736826622066	vide/3gpp/2.	video/3gpp2
+0x1B384F_9EAA7000	7661738986729472	vide/mp4./..	video/mp4
+0x1B384F_9EB6D800	7661738987542528	vide/mpeg/..	video/mpeg
+0x1B384F_AA881000	7661739185803264	vide/ogg./..	video/ogg
+0x1B384F_BA681800	7661739452143616	vide/quic/..	video/quicktime
+0x1B384F_DA85B800	7661739990956032	vide/vmpu/..	video/vnd.mpegurl
+0x1B384F_DFBE9800	7661740078569472	vide/webm/..	video/webm
+0x1B384F_E6AAA000	7661740194701312	vide/xflv/..	video/x-flv
+0x1B384F_E7D96000	7661740214542336	vide/xmat/..	video/x-matroska
+0x1B384F_E7E86800	7661740215527424	vide/xmng/..	video/x-mng
+0x1B384F_E7EDD1BF	7661740215882175	vide/xms./as	video/x-ms-asf
+0x1B384F_E7EDD4FD	7661740215883005	vide/xms./wm	video/x-ms-wm
+0x1B384F_E7EDD506	7661740215883014	vide/xms./wv	video/x-ms-wmv
+0x1B384F_E7EDD508	7661740215883016	vide/xms./wx	video/x-ms-wmx
+0x1B384F_E7EDD52E	7661740215883054	vide/xms./xx	video/x-ms-wvx
+0x1B384F_E7EED000	7661740215947264	vide/xmsv/..	video/x-msvideo
+0x1B384F_FE887DA3	7661740595117475	vide/~~~~/~~	video/*