MNG-0.95e, Draft 68, 19990618 pHYg chunk and global pHYs This proposal is with respect to MNG 0.95c (Draft 66). This proposal supersedes MNG-0.95d, Draft 67, 19990615. MNG-0.95e Draft 68 19990618 is created by making the following changes to MNG-0.95c Draft 66 19990615: Section 4.2.5, BASI, is modified to add the words shown in square brackets: Top-level gAMA, sRGB, cHRM, iCCP, bKGD, sBIT, [pHYs,] and sPLT chunks are inherited by a BASI datastream in the same manner as by a PNG datastream. Section 4.5.4, pHYs, is modified to delete the words shown in double square brackets and to add the material shown in square brackets 4.5.4. [[pHYs]][pHYg] Physical pixel size[, global] The MNG [[pHYs]][pHYg] chunk is identical in syntax to the #ifdef MNG-VLC PNG pHYs chunk. It applies to complete MNG layers and not to the individual images within them. #else PNG pHYs chunk. It applies to complete [full-frame] MNG layers and not to the individual images within them. [Conceptually, a MNG viewer that processes the pHYg chunk will first composite each image into a full-frame layer, then apply the pHYg scaling to the layer, and finally composite the scaled layer into the subframe.] #endif [MNG datastreams can include both the pHYs chunk (either at the MNG top level or within the PNG and JNG datastreams) and the pHYg chunk (only at the MNG top level), to ensure that the images are properly displayed either when displayed by a MNG viewer or when extracted into a series of individual PNG or JNG datastreams and then displayed by a PNG or JNG application. The pHYs and pHYg chunks would normally contain the same values, but this is not necessary.] The MNG top-level [[pHYs]][pHYg] chunk can be nullified by a subsequent empty [[pHYs]][pHYg] chunk appearing in the MNG top level. Section 4.5.5, Ancillary PNG chunks, is modified to add the words shown in square brackets: The following PNG chunks are also defined at the MNG top level. They provide default values to be used in case they are not provided in subsequent PNG or JNG datastreams. Any of these chunks can be nullified by the appearance of a subsequent empty chunk with the same chunk name. Such empty chunks are not legal PNG or JNG chunks and must only appear in the MNG top level. * cHRM, gAMA, iCCP, sRGB, bKGD, sBIT, pHYs In the MNG top level, all of these chunks are written as though for 16-bit RGBA PNG datastreams. Decoders are responsible for reformatting the chunk data to suit the actual bit depth and color type of the datastream that inherits them. A MNG editor that writes PNG or JNG datastreams is expected to include the top-level cHRM, gAMA, iCCP, and sRGB chunks in the generated PNG or JNG datastreams, if the embedded image does not contain its own chunks that define the color space. When it writes the sRGB chunk, it should write the gAMA chunk (and perhaps the cHRM chunk), in accordance with the PNG specification, even though no gAMA or cHRM chunk is present in the MNG datastream. It is also expected to write the [pHYs chunk and the] reformatted top-level bKGD chunk in the generated PNG or JNG datastreams, and the reformatted sBIT chunk only in generated PNG datastreams, when the datastream does not have its own bKGD [, pHYs,] or sBIT chunks. ... MNG editors that write PNG datastreams should ignore the sPLT [[and pHYs]] data from the MNG level and simply copy any sPLT [[and pHYs]] chunks appearing within the PNG datastreams. Section 6.1.15. oFFs and pHYs, is modified to add the words shown in square brackets: MNG viewers must ignore oFFs and pHYs chunks that appear inside a PNG or JNG datastream [or are inherited from the MNG top level]. MNG editors are expected to treat them as unknown chunks that will be handled as described in above (Paragraph 6.1.12).