Commit Graph

140 Commits

Author SHA1 Message Date
James Zern
e5fe2cfc1b webp-lossless-bitstream-spec,cosmetics: reflow paragraphs
Change-Id: Ifd7472fe0678b45efc62faa66de8e8dc2e9931e3
2022-11-22 11:38:01 -08:00
James Zern
0ceeeab987 webp-lossless-bitstream-spec: add amendment note
for fixes to the distance_map pseudo-code, the inverse color transform
description and the num_code_lengths check.

Bug: webp:448
Bug: webp:551
Change-Id: Id7e791b97704dd64bb9519657ce48b92cb457ae4
2022-11-22 11:38:01 -08:00
James Zern
607611cd86 Merge "webp-container-spec: normalize section title case" into main 2022-11-22 19:35:41 +00:00
James Zern
f853685e13 lossless: SUBTRACT_GREEN -> SUBTRACT_GREEN_TRANSFORM
this makes the name of the TransformType enum value match the other
members

Bug: webp:448
Change-Id: I85b2f615f97b40fc6d544197cccfb7189dcf4fc0
2022-11-21 16:48:51 -08:00
James Zern
786497e48a webp-lossless-bitstream-spec: fix inv color txfm description
The prose describing the process was missed in:
44dd765d webp-lossless-bitstream-spec: fix ColorTransform impl

Bug: webp:448
Bug: webp:551
Change-Id: If5fb95103ffedeed113e3ad62510f3a19bfd280e
2022-11-21 16:48:51 -08:00
James Zern
c6ac672dbc webp-lossless-bitstream-spec: fix num_code_lengths check
in the 'Normal Code Length Code' description the number of valid code
lengths is 19, not 18.

Bug: webp:448
Bug: webp:551
Change-Id: Id929604e1d771cb09b2d0ac617e83f21077f21de
2022-11-21 16:48:51 -08:00
James Zern
b5700efb70 webp-lossless-bitstream-spec,cosmetics: grammar/capitalization
Bug: webp:448
Change-Id: I2d6cc66b45342716fdba7792c570510601432109
2022-11-21 16:48:41 -08:00
James Zern
d8ed8c117c webp-container-spec: normalize section title case
Use 'title case' as recommended in RFC 7322 (Section 3.4 Capitalization)

Bug: webp:448
Change-Id: I9762402499eb58acbe9ccb75f4f8d2b9c3e9b26b
2022-11-21 10:53:13 -08:00
James Zern
52ec0b8f61 Merge changes Ie975dbb5,Ifc8c93af,I6ca7c5d6,I2e8d66f5,I152477b8 into main
* changes:
  webp-lossless-bitstream-spec,cosmetics: reflow abstract
  webp-lossless-bitstream-spec: reword abstract re alpha
  webp-lossless-bitstream-spec,cosmetics: normalize range syntax
  webp-lossless-bitstream-spec: limit dist map lut to 69 cols
  webp-lossless-bitstream-spec: fix dist mapping example
2022-11-18 18:28:15 +00:00
James Zern
5097ef6255 webp-container-spec,cosmetics: grammar/capitalization
Bug: webp:448
Change-Id: I8b5e218df95436b6b8b2ecc751c70015d46fe7a0
2022-11-17 19:13:39 -08:00
James Zern
e3ba2b1f5b webp-lossless-bitstream-spec,cosmetics: reflow abstract
Bug: webp:448
Change-Id: Ie975dbb52687c6c068b029fc8f84db8cf189523a
2022-11-17 18:25:13 -08:00
James Zern
1e8e3ded21 webp-lossless-bitstream-spec: reword abstract re alpha
'zero alpha pixels' was a bit hard to parse; replace this with something
more explicit

Bug: webp:448
Change-Id: Ifc8c93af5520ffdafc58e3fc311dfb4cb19626e9
2022-11-17 18:22:56 -08:00
James Zern
017cb6fa94 webp-container-spec,cosmetics: normalize range syntax
this makes the syntax in this document consistent with
webp-lossless-bitstream-spec.txt

[N-M] -> [N..M]

Bug: webp:448
Change-Id: Iebf39eefb7d3c081a3d10e2804ee215c3aed6b79
2022-11-17 18:13:32 -08:00
James Zern
f6a4684ba8 webp-lossless-bitstream-spec,cosmetics: normalize range syntax
[N-M], [N, M] -> [N..M]

these were missed in:
e74f8a62 webp-lossless-bitstream-spec,cosmetics: normalize range syntax

Bug: webp:448
Change-Id: I6ca7c5d6b0473fdf3de0c6dba00b0f1e3da46a23
2022-11-17 18:06:49 -08:00
James Zern
54ebd5a375 webp-lossless-bitstream-spec: limit dist map lut to 69 cols
this is similar to an earlier change for most of the code examples:
  7a0a9935 doc/*.txt: restrict code to 69 columns

some renderers may limit output to 72 and use a 3 space indent; this
avoids overflowing into the margin

Bug: webp:448
Change-Id: I2e8d66f598889c7bd824e911ea01fd70f98a4130
2022-11-17 18:06:45 -08:00
James Zern
44741f9c58 webp-lossless-bitstream-spec: fix dist mapping example
The distance code read from the bitstream is reduced by 1 before doing
the lookup. The prose describing the lookup was correct, the pseudocode
failed to subtract 1 and used x/y instead of xi/yi from the lookup.

Bug: webp:448
Change-Id: I152477b888c26a0473a35373d3d331fddd14237f
2022-11-17 18:06:31 -08:00
James Zern
d34f9b99b9 Merge "webp-lossless-bitstream-spec: convert BNF to ABNF" into main 2022-10-15 02:01:48 +00:00
James Zern
83270c7f89 webp-container-spec: add prose for rendering process
this is given in addition to the pseudocode, which has been corrected in
the process

based on comments in:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_lars-eggert

Bug: webp:448
Change-Id: I96bc063c2a71572ff61609a731a9c4e8edc2b971
2022-10-13 19:34:54 -07:00
James Zern
73b19b64fd webp-container-spec: note reserved fields MUST be ignored
based on comments in:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_lars-eggert

Bug: webp:448
Change-Id: I45880467d8955389a2ef657beca9d734da223457
2022-10-13 19:34:54 -07:00
James Zern
57101d3fc5 webp-lossless-bitstream-spec: improve 'small' color table stmt
this is defined earlier as 16 or fewer unique values

based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_lars-eggert

Bug: webp:448
Change-Id: If9e18e5aaec3641e477c2bb68dacc0a4fd029cfb
2022-10-13 19:34:54 -07:00
James Zern
dfd32e4592 webp-container-spec: remove redundant sentence
in the note regarding metadata the possibility of multiple XMP/EXIF
chunks was already covered in the previous sentences.

based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_lars-eggert

Bug: webp:448
Change-Id: I6ee938e4d95bda1b144d3175fbf9f9296cf23352
2022-10-13 19:34:54 -07:00
James Zern
8a6185dd27 doc/webp-*: fix some punctuation, grammar
based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_lars-eggert

Bug: webp:448
Change-Id: I0a410b28b7b62fb4552ea3db444743be61469fe8
2022-10-13 19:34:54 -07:00
James Zern
72776530d8 webp-lossless-bitstream-spec: convert BNF to ABNF
this has a better canonical reference [1] and is preferred in IETF docs

[1] https://www.rfc-editor.org/rfc/rfc5234

Bug: webp:448
Change-Id: I3f0bd34d3ca4c62b255d5d6cbae0c55e2940dfb5
2022-10-12 16:55:46 -07:00
James Zern
3ed2b27517 webp-container-spec: clarify background color note
replace ...a transparency value (alpha)... with clearer text

based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_lars-eggert

Bug: webp:448
Change-Id: I79157b669c4317ebfc4f8434ee38f2666d1559ec
2022-10-11 15:05:33 -07:00
James Zern
951c292d12 webp-container-spec: come too late -> out of order
based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_lars-eggert

Bug: webp:448
Change-Id: Ie32d5500f3966b3c9f910675fb11d8a2cc60de3c
2022-10-11 15:05:33 -07:00
James Zern
902dd78762 webp-container-spec: prefer hex literals
to ABNF-style values; this makes the doc more consistent with
doc/webp-lossless-bitstream-spec.txt.

based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_lars-eggert

Bug: webp:448
Change-Id: I751cf0b7f728866ae663beb06e6352e5b3d848b2
2022-10-11 15:05:33 -07:00
James Zern
a8f6b5ee94 webp-container-spec: change SHOULD to MUST w/ANIM chunk
based on comments in:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_paul-wouters

Bug: webp:448
Change-Id: I9464dbbd734f1b78b287139eff13b1db8814c8d9
2022-10-11 15:05:33 -07:00
James Zern
1dc594352f webp-container-spec: add unknown fields MUST be ignored
based on comments in:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_paul-wouters

Bug: webp:448
Change-Id: I1eccb573b536f931b123261662efad7f92700500
2022-10-11 15:05:33 -07:00
James Zern
280a810f2a webp-container-spec: make padding byte=0 a MUST
this is consistent with the RIFF specification.

based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_robert-wilton

Bug: webp:448
Change-Id: I7a09177c9ea001b2e8759dcc5102242864c78105
2022-10-11 15:05:33 -07:00
James Zern
41f0bf680b webp-container-spec: update note on trailing data
clarify that the data is after the size specified by the file size in
the header; an alternate way to read the previous statement was that the
data was after the 'WEBP' fourcc.

based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_robert-wilton

Bug: webp:448
Change-Id: I7c5c5440a94cb817da51fe07d1ccf45d6af0f001
2022-10-11 15:05:33 -07:00
James Zern
6bdd36dbe7 webp-container-spec: clarify Chunk Size is in bytes
based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_robert-wilton

Bug: webp:448
Change-Id: Idc874e5fa04d3cd122d31b87e833bf9f30ec9d05
2022-10-11 15:05:33 -07:00
James Zern
fcbc2d78ab Merge "doc/*.txt: restrict code to 69 columns" into main 2022-08-05 22:03:51 +00:00
James Zern
7a0a9935ed doc/*.txt: restrict code to 69 columns
some renderers may limit output to 72 and use a 3 space indent; this
avoids overflowing into the margin

Change-Id: Iaf4e8b71be27ef00fccd1d82b79bf96c01040f10
2022-08-04 19:35:24 -07:00
James Zern
c040a615b1 webp-container-spec.txt: normalize fourcc spelling
fourcc -> FourCC as it's defined in the terminology

Change-Id: I49e3a5aaba525b295701d8aac7b1700c4003ca77
2022-08-04 11:47:22 -07:00
James Zern
8a4576ce26 webp-container-spec.txt: replace & with &
this conversion is handled by markdown processors

Change-Id: Ic679e40fcea577784deb8b455911bf1f201f2011
2022-08-03 11:12:23 -07:00
James Zern
db87088162 Merge "webp-container-spec.txt: make reserved 0 values a MUST" into main 2022-08-03 18:07:16 +00:00
James Zern
01d7d378d1 webp-lossless-bitstream-spec: number all sections
this makes the structure more consistent

Change-Id: Ie6c8b42506be73e565cfc4d39108eb4d8c038003
2022-08-02 19:03:51 -07:00
James Zern
337cf69f58 webp-lossless-bitstream-spec: mv Nomenclature after Intro
Change-Id: I3337513e48a8e604b154d91993bd7ff84d6c55ad
2022-08-02 18:50:59 -07:00
James Zern
5b87983ad0 webp-container-spec.txt: make reserved 0 values a MUST
these were intended as an extension point, but in this version of the
spec they're not defined. if they ever were used leaving them as SHOULD
could result in a source of incompatibility.

Change-Id: I1376ab7abe7d955ae335106f2faebc217dac77cd
2022-08-02 15:14:11 -07:00
James Zern
1a64a7e649 webp-container-spec.txt: clarify some SHOULDs
for compatibility SHOULDs are left as is with some additional
description given of behavior if the recommendation is ignored.

Change-Id: I7a25b1a6fd9f9594390c30fce3af5ca17c3158c0
2022-08-02 13:12:27 -07:00
James Zern
bec2c88a11 webp-container-spec.txt: move ChunkHeader to terminology
this avoids presenting it in the description of a chunk where it could
appear it was defining an element of the diagram

Change-Id: I51b2c2a0dcecb4fc130711ad37c884a434920ecd
2022-08-02 12:46:53 -07:00
James Zern
c9359332a3 webp-container-spec.txt: clarify 'VP8 '/'XMP ' fourccs
Note the fourth character is an ASCII space to avoid confusion.
Also update the FourCC definition to mention that they're case
sensitive.

Change-Id: I87d0cbcf06e7c25bf2b33419b4c8c891adb82a8a
2022-08-01 18:51:35 -07:00
James Zern
70fe3063a5 webp-container-spec.txt: rightsize table entries
Use the correct number of lines for fixed width entries like
ChunkHeader(). ':' is used instead of '|' for variable length entries.

Bug: webp:546
Change-Id: I6ec60af674c0777d5ea6ae99c8aa3c7854ddd9f9
Fixed: webp:546
2022-08-01 18:49:43 -07:00
James Zern
ddbf3f3f2a webp-container-spec.txt: update 'key words' text
RFC 2119 was updated by RFC 8174; use the text from there

+ change INFORMATIVE to informative to avoid confusion with the key
  words in the RFCs

Change-Id: I0a3fe9dc48d284e7ac95633896ffb855ecd1a229
2022-08-01 18:42:21 -07:00
Vincent Rabaud
e91451b69b Fix the lossless specs a bit more.
Bug: webp:551

Change-Id: I03f729f69d660f17e27cc601e91c703b241f1b83
2022-07-25 22:36:51 +02:00
James Zern
d01c1eb309 webp-lossless-bitstream-spec,cosmetics: normalize capitalization
in section headings

Change-Id: I43b2208f5e0efa32029d519ac9805e871eb51ed3
2022-07-20 10:36:23 -07:00
Jyrki Alakuijala
404c1622f8 Rename Huffman coding to prefix coding in the bitstream spec
... since no guarantee of Huffman coding can be introduced at decoding
time and encoding didn't actually use Huffman coding in the first place

Bug: webp:551
Change-Id: I400466bb3b4a1d5506353eb3f287d658603164ee
2022-06-16 10:56:03 -07:00
James Zern
e74f8a62b2 webp-lossless-bitstream-spec,cosmetics: normalize range syntax
[N, M] -> [N..M] the latter is more common in this doc

Bug: webp:551
Change-Id: I2d317c4b8bb31d313123e981f93cd1feb346a98a
2022-05-14 20:51:43 -07:00
James Zern
5a709ec0d7 webp-lossless-bitstream-spec,cosmetics: fix code typo
code_lengths -> code_length_code_lengths
after:
86f94ee0 Update lossless spec with Huffman codes.

Bug: webp:551
Change-Id: I9e77f6db0fca6fe8294cb31a3015e723050094b5
2022-05-14 20:51:34 -07:00
James Zern
a2093acc4b webp-lossless-bitstream-spec: add amendment note
for recent changes to color transform, simple code length code, image
structure and details of decoding prefix codes

Bug: webp:551
Change-Id: I36a4d1ee3e25b8a56f5d926f4770374ace99bc2f
2022-05-13 18:50:55 -07:00