diff options
Diffstat (limited to 'www/motion-picture.html')
-rw-r--r-- | www/motion-picture.html | 699 |
1 files changed, 338 insertions, 361 deletions
diff --git a/www/motion-picture.html b/www/motion-picture.html index 5079eab..e74fbae 100644 --- a/www/motion-picture.html +++ b/www/motion-picture.html @@ -1,14 +1,15 @@ -<?xml version="1.0" encoding="utf-8" ?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<!DOCTYPE html> +<html lang="en"> <head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.16: http://docutils.sourceforge.net/" /> -<title>GraphicsMagick Cineon and SMTPE DPX Support</title> -<meta content="Describes GraphicsMagick's support for Cineon and SMPTE DPX formats. " name="description" /> -<meta content="GraphicsMagick, Cineon, DPX, SMPTE 268M, Motion Picture" name="keywords" /> -<link rel="stylesheet" href="docutils-articles.css" type="text/css" /> + <meta charset="utf-8"> + <meta content="en" name="language"> + <title>GraphicsMagick Cineon and SMTPE DPX Support</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <link media="screen" href="docutils-articles.css" type="text/css" rel="stylesheet"> +<meta content="Describes GraphicsMagick's support for Cineon and SMPTE DPX formats. " name="description" > +<meta content="GraphicsMagick, Cineon, DPX, SMPTE 268M, Motion Picture" name="keywords" > </head> + <body> <div class="banner"> @@ -21,6 +22,7 @@ </form> </div> + <div class="navmenu"> <ul> <li><a href="index.html">Home</a></li> @@ -34,38 +36,41 @@ <li><a href="reference.html">Reference</a></li> </ul> </div> + <div class="document" id="graphicsmagick-cineon-and-smtpe-dpx-support"> <h1 class="title">GraphicsMagick Cineon and SMTPE DPX Support</h1> - <!-- -*- mode: rst -*- --> <!-- This text is in reStucturedText format, so it may look a bit odd. --> <!-- See http://docutils.sourceforge.net/rst.html for details. --> <div class="contents local topic" id="contents"> <ul class="simple"> -<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li> -<li><a class="reference internal" href="#applications" id="id2">Applications</a></li> -<li><a class="reference internal" href="#dpx-features" id="id3">DPX features</a><ul> -<li><a class="reference internal" href="#basic" id="id4">Basic</a></li> -<li><a class="reference internal" href="#colorspaces" id="id5">Colorspaces</a></li> -<li><a class="reference internal" href="#storage" id="id6">Storage</a></li> -<li><a class="reference internal" href="#yet-to-be-supported" id="id7">Yet to be supported</a></li> +<li><p><a class="reference internal" href="#introduction" id="id1">Introduction</a></p></li> +<li><p><a class="reference internal" href="#applications" id="id2">Applications</a></p></li> +<li><p><a class="reference internal" href="#dpx-features" id="id3">DPX features</a></p> +<ul> +<li><p><a class="reference internal" href="#basic" id="id4">Basic</a></p></li> +<li><p><a class="reference internal" href="#colorspaces" id="id5">Colorspaces</a></p></li> +<li><p><a class="reference internal" href="#storage" id="id6">Storage</a></p></li> +<li><p><a class="reference internal" href="#yet-to-be-supported" id="id7">Yet to be supported</a></p></li> </ul> </li> -<li><a class="reference internal" href="#using-graphicsmagick" id="id8">Using GraphicsMagick</a><ul> -<li><a class="reference internal" href="#image-resize" id="id9">Image Resize</a></li> -<li><a class="reference internal" href="#annotate-image" id="id10">Annotate Image</a></li> -<li><a class="reference internal" href="#colorspace-transformation" id="id11">Colorspace Transformation</a></li> -<li><a class="reference internal" href="#modifying-an-image-in-place" id="id12">Modifying An Image In-Place</a></li> -<li><a class="reference internal" href="#creating-a-contact-sheet" id="id13">Creating A Contact Sheet</a></li> -<li><a class="reference internal" href="#animating-a-sequence" id="id14">Animating A Sequence</a></li> -<li><a class="reference internal" href="#displaying-one-image-frame" id="id15">Displaying One Image Frame</a></li> -<li><a class="reference internal" href="#viewing-a-sequence" id="id16">Viewing A Sequence</a></li> -<li><a class="reference internal" href="#using-the-batch-capability" id="id17">Using the Batch capability</a></li> +<li><p><a class="reference internal" href="#using-graphicsmagick" id="id8">Using GraphicsMagick</a></p> +<ul> +<li><p><a class="reference internal" href="#image-resize" id="id9">Image Resize</a></p></li> +<li><p><a class="reference internal" href="#annotate-image" id="id10">Annotate Image</a></p></li> +<li><p><a class="reference internal" href="#colorspace-transformation" id="id11">Colorspace Transformation</a></p></li> +<li><p><a class="reference internal" href="#modifying-an-image-in-place" id="id12">Modifying An Image In-Place</a></p></li> +<li><p><a class="reference internal" href="#creating-a-contact-sheet" id="id13">Creating A Contact Sheet</a></p></li> +<li><p><a class="reference internal" href="#animating-a-sequence" id="id14">Animating A Sequence</a></p></li> +<li><p><a class="reference internal" href="#displaying-one-image-frame" id="id15">Displaying One Image Frame</a></p></li> +<li><p><a class="reference internal" href="#viewing-a-sequence" id="id16">Viewing A Sequence</a></p></li> +<li><p><a class="reference internal" href="#using-the-batch-capability" id="id17">Using the Batch capability</a></p></li> </ul> </li> -<li><a class="reference internal" href="#options-and-attributes" id="id18">Options And Attributes</a><ul> -<li><a class="reference internal" href="#command-options" id="id19">Command options</a></li> -<li><a class="reference internal" href="#dpx-attributes" id="id20">DPX Attributes</a></li> +<li><p><a class="reference internal" href="#options-and-attributes" id="id18">Options And Attributes</a></p> +<ul> +<li><p><a class="reference internal" href="#command-options" id="id19">Command options</a></p></li> +<li><p><a class="reference internal" href="#dpx-attributes" id="id20">DPX Attributes</a></p></li> </ul> </li> </ul> @@ -87,197 +92,197 @@ Road</a> site (table reproduced here for convenience). File sizes may be quite large and range in size from 8MB to as much as 180MB. The common 10-bit <em>2K</em> format consumes 12MB of disk while a 10-bit <em>4K</em> scan consumes 50MB of disk.</p> -<table border="1" class="docutils"> +<table> <caption>Standard data resolutions</caption> <colgroup> -<col width="57%" /> -<col width="13%" /> -<col width="18%" /> -<col width="13%" /> +<col style="width: 57%" /> +<col style="width: 13%" /> +<col style="width: 18%" /> +<col style="width: 13%" /> </colgroup> -<thead valign="bottom"> -<tr><th class="head">Format</th> -<th class="head">Picture +<thead> +<tr><th class="head"><p>Format</p></th> +<th class="head"><p>Picture aspect -ratio</th> -<th class="head">Standard +ratio</p></th> +<th class="head"><p>Standard pixel -resolution</th> -<th class="head">Pixel +resolution</p></th> +<th class="head"><p>Pixel aspect -ratio</th> +ratio</p></th> </tr> </thead> -<tbody valign="top"> -<tr><td>Apple iPod video</td> -<td class="decimal">1.33</td> -<td>320×240</td> -<td class="decimal">1.0</td> -</tr> -<tr><td>Apple iPhone video</td> -<td class="decimal">1.5</td> -<td>480×320</td> -<td class="decimal">1.0</td> -</tr> -<tr><td>Sony PlayStationPortable</td> -<td class="decimal">1.76</td> -<td>480×272</td> -<td class="decimal">1.0</td> -</tr> -<tr><td>SD video (PAL, DV)</td> -<td class="decimal">1.33</td> -<td>720×576</td> -<td class="decimal">1.067</td> -</tr> -<tr><td>SD video (NTSC, DV)</td> -<td class="decimal">1.33</td> -<td>720×486</td> -<td class="decimal">0.9</td> -</tr> -<tr><td>SD video (PAL, square pixels)</td> -<td class="decimal">1.33</td> -<td>768×576</td> -<td class="decimal">1.0</td> -</tr> -<tr><td>SD video (NTSC, square pixels)</td> -<td class="decimal">1.33</td> -<td>648×486</td> -<td class="decimal">1.0</td> -</tr> -<tr><td>DVD video (NTSC, 4:3)</td> -<td class="decimal">1.33</td> -<td>720×480</td> -<td class="decimal">0.9</td> -</tr> -<tr><td>DVD video (PAL, 4:3)</td> -<td class="decimal">1.33</td> -<td>720×576</td> -<td class="decimal">1.067</td> -</tr> -<tr><td>DVD video (NTSC, 16:9)</td> -<td class="decimal">1.78</td> -<td>720×480</td> -<td class="decimal">1.185</td> -</tr> -<tr><td>DVD video (PAL, 16:9)</td> -<td class="decimal">1.78</td> -<td>720×576</td> -<td class="decimal">1.69</td> -</tr> -<tr><td>Blu-ray</td> -<td class="decimal">1.78</td> -<td>1920×1080</td> -<td class="decimal">1.0</td> -</tr> -<tr><td>HD video @720</td> -<td class="decimal">1.78</td> -<td>1280×720</td> -<td class="decimal">1.0</td> -</tr> -<tr><td>HD video @1080 (certain types)</td> -<td class="decimal">1.78</td> -<td>1440×1080</td> -<td class="decimal">1.33</td> -</tr> -<tr><td>HD video @1080</td> -<td class="decimal">1.78</td> -<td>1920×1080</td> -<td class="decimal">1.0</td> -</tr> -<tr><td>DVC Pro HD @59.94i</td> -<td class="decimal">1.78</td> -<td>1280×1080</td> -<td class="decimal">1.5</td> -</tr> -<tr><td>16mm</td> -<td class="decimal">1.37</td> -<td>1712×1240</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>Super-16</td> -<td class="decimal">1.65</td> -<td>2048×1240</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>“Academy” aperture (2k)</td> -<td class="decimal">1.37</td> -<td>1828×1332</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>“Academy” aperture (4k)</td> -<td class="decimal">1.37</td> -<td>3656×2664</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>Cinemascope (Squeezed, 2k)</td> -<td class="decimal">2.35</td> -<td>1828×1556</td> -<td class="decimal">2.00</td> -</tr> -<tr><td>Cinemascope (Squeezed, 4k)</td> -<td class="decimal">2.35</td> -<td>3656×2664</td> -<td class="decimal">2.00</td> -</tr> -<tr><td>Cinemascope (Unsqueezed, 2k)</td> -<td class="decimal">2.35</td> -<td>2048×872</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>Cinemascope (Unsqueezed, 4k)</td> -<td class="decimal">2.35</td> -<td>3656×1556</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>Full Aperture (2k)</td> -<td class="decimal">1.33</td> -<td>2048×1556</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>Full Aperture (4k)</td> -<td class="decimal">1.33</td> -<td>4096×3112</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>8-perf “VistaVision” (3k)</td> -<td class="decimal">1.5</td> -<td>3072×2048</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>8-perf “VistaVision” (6k)</td> -<td class="decimal">1.5</td> -<td>6144×4096</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>Red (16:9, 4k)</td> -<td class="decimal">1.78</td> -<td>4096×2304</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>Red (2:1, 4k)</td> -<td class="decimal">2.0</td> -<td>4096×2048</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>Digital Cinema (2k)</td> -<td class="decimal">1.9</td> -<td>2048×1080</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>Digital Cinema (4k)</td> -<td class="decimal">1.9</td> -<td>4096×2160</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>UHDTV ("4k")</td> -<td class="decimal">1.78</td> -<td>3840×2160</td> -<td class="decimal">1.00</td> -</tr> -<tr><td>UHDTV ("8k")</td> -<td class="decimal">1.78</td> -<td>7860×4320</td> -<td class="decimal">1.00</td> +<tbody> +<tr><td><p>Apple iPod video</p></td> +<td><p>1.33</p></td> +<td><p>320×240</p></td> +<td><p>1.0</p></td> +</tr> +<tr><td><p>Apple iPhone video</p></td> +<td><p>1.5</p></td> +<td><p>480×320</p></td> +<td><p>1.0</p></td> +</tr> +<tr><td><p>Sony PlayStationPortable</p></td> +<td><p>1.76</p></td> +<td><p>480×272</p></td> +<td><p>1.0</p></td> +</tr> +<tr><td><p>SD video (PAL, DV)</p></td> +<td><p>1.33</p></td> +<td><p>720×576</p></td> +<td><p>1.067</p></td> +</tr> +<tr><td><p>SD video (NTSC, DV)</p></td> +<td><p>1.33</p></td> +<td><p>720×486</p></td> +<td><p>0.9</p></td> +</tr> +<tr><td><p>SD video (PAL, square pixels)</p></td> +<td><p>1.33</p></td> +<td><p>768×576</p></td> +<td><p>1.0</p></td> +</tr> +<tr><td><p>SD video (NTSC, square pixels)</p></td> +<td><p>1.33</p></td> +<td><p>648×486</p></td> +<td><p>1.0</p></td> +</tr> +<tr><td><p>DVD video (NTSC, 4:3)</p></td> +<td><p>1.33</p></td> +<td><p>720×480</p></td> +<td><p>0.9</p></td> +</tr> +<tr><td><p>DVD video (PAL, 4:3)</p></td> +<td><p>1.33</p></td> +<td><p>720×576</p></td> +<td><p>1.067</p></td> +</tr> +<tr><td><p>DVD video (NTSC, 16:9)</p></td> +<td><p>1.78</p></td> +<td><p>720×480</p></td> +<td><p>1.185</p></td> +</tr> +<tr><td><p>DVD video (PAL, 16:9)</p></td> +<td><p>1.78</p></td> +<td><p>720×576</p></td> +<td><p>1.69</p></td> +</tr> +<tr><td><p>Blu-ray</p></td> +<td><p>1.78</p></td> +<td><p>1920×1080</p></td> +<td><p>1.0</p></td> +</tr> +<tr><td><p>HD video @720</p></td> +<td><p>1.78</p></td> +<td><p>1280×720</p></td> +<td><p>1.0</p></td> +</tr> +<tr><td><p>HD video @1080 (certain types)</p></td> +<td><p>1.78</p></td> +<td><p>1440×1080</p></td> +<td><p>1.33</p></td> +</tr> +<tr><td><p>HD video @1080</p></td> +<td><p>1.78</p></td> +<td><p>1920×1080</p></td> +<td><p>1.0</p></td> +</tr> +<tr><td><p>DVC Pro HD @59.94i</p></td> +<td><p>1.78</p></td> +<td><p>1280×1080</p></td> +<td><p>1.5</p></td> +</tr> +<tr><td><p>16mm</p></td> +<td><p>1.37</p></td> +<td><p>1712×1240</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>Super-16</p></td> +<td><p>1.65</p></td> +<td><p>2048×1240</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>“Academy” aperture (2k)</p></td> +<td><p>1.37</p></td> +<td><p>1828×1332</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>“Academy” aperture (4k)</p></td> +<td><p>1.37</p></td> +<td><p>3656×2664</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>Cinemascope (Squeezed, 2k)</p></td> +<td><p>2.35</p></td> +<td><p>1828×1556</p></td> +<td><p>2.00</p></td> +</tr> +<tr><td><p>Cinemascope (Squeezed, 4k)</p></td> +<td><p>2.35</p></td> +<td><p>3656×2664</p></td> +<td><p>2.00</p></td> +</tr> +<tr><td><p>Cinemascope (Unsqueezed, 2k)</p></td> +<td><p>2.35</p></td> +<td><p>2048×872</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>Cinemascope (Unsqueezed, 4k)</p></td> +<td><p>2.35</p></td> +<td><p>3656×1556</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>Full Aperture (2k)</p></td> +<td><p>1.33</p></td> +<td><p>2048×1556</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>Full Aperture (4k)</p></td> +<td><p>1.33</p></td> +<td><p>4096×3112</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>8-perf “VistaVision” (3k)</p></td> +<td><p>1.5</p></td> +<td><p>3072×2048</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>8-perf “VistaVision” (6k)</p></td> +<td><p>1.5</p></td> +<td><p>6144×4096</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>Red (16:9, 4k)</p></td> +<td><p>1.78</p></td> +<td><p>4096×2304</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>Red (2:1, 4k)</p></td> +<td><p>2.0</p></td> +<td><p>4096×2048</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>Digital Cinema (2k)</p></td> +<td><p>1.9</p></td> +<td><p>2048×1080</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>Digital Cinema (4k)</p></td> +<td><p>1.9</p></td> +<td><p>4096×2160</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>UHDTV ("4k")</p></td> +<td><p>1.78</p></td> +<td><p>3840×2160</p></td> +<td><p>1.00</p></td> +</tr> +<tr><td><p>UHDTV ("8k")</p></td> +<td><p>1.78</p></td> +<td><p>7860×4320</p></td> +<td><p>1.00</p></td> </tr> </tbody> </table> @@ -294,20 +299,20 @@ implementation. Examples of areas where GraphicsMagick may be used are:</p> <blockquote> <ul class="simple"> -<li>View the image on a display.</li> -<li>Scaling (for example, <em>4K</em> to <em>2K</em> or 1920x1080 HD with excellent quality)</li> -<li>Cropping</li> -<li>Rotation</li> -<li>Filtering</li> -<li>ICC ICM profile-based color management and transformations</li> -<li>Gamma adjustment</li> -<li>Color adjustment</li> -<li>Conversion to grayscale</li> -<li>Text annotations</li> -<li>Compositions</li> -<li>Drawing on images (for example drawing markers on image)</li> -<li>Conversion to and from other formats (e.g. Kodak Cineon, TIFF, JPEG, SGI, -Postscript, PNG, and PNM)</li> +<li><p>View the image on a display.</p></li> +<li><p>Scaling (for example, <em>4K</em> to <em>2K</em> or 1920x1080 HD with excellent quality)</p></li> +<li><p>Cropping</p></li> +<li><p>Rotation</p></li> +<li><p>Filtering</p></li> +<li><p>ICC ICM profile-based color management and transformations</p></li> +<li><p>Gamma adjustment</p></li> +<li><p>Color adjustment</p></li> +<li><p>Conversion to grayscale</p></li> +<li><p>Text annotations</p></li> +<li><p>Compositions</p></li> +<li><p>Drawing on images (for example drawing markers on image)</p></li> +<li><p>Conversion to and from other formats (e.g. Kodak Cineon, TIFF, JPEG, SGI, +Postscript, PNG, and PNM)</p></li> </ul> </blockquote> <p>GraphicsMagick's DPX file format support is very comprehensive. It @@ -322,10 +327,10 @@ support are as follows:</p> <h2><a class="toc-backref" href="#id4">Basic</a></h2> <blockquote> <ul class="simple"> -<li>Anything which can be read, can also be written.</li> -<li>All DPX header information (including the user specific area) are -stored as image attributes and restored when the image is written.</li> -<li>Image source header information is updated appropriately.</li> +<li><p>Anything which can be read, can also be written.</p></li> +<li><p>All DPX header information (including the user specific area) are +stored as image attributes and restored when the image is written.</p></li> +<li><p>Image source header information is updated appropriately.</p></li> </ul> </blockquote> </div> @@ -333,11 +338,11 @@ stored as image attributes and restored when the image is written.</li> <h2><a class="toc-backref" href="#id5">Colorspaces</a></h2> <blockquote> <ul class="simple"> -<li>Linear RGB</li> -<li>Cineon Log RGB (default density range = 2.048)</li> -<li>Grayscale (Luma)</li> -<li>Rec. 601 and Rec. 709 YCbCr (4:4:4 and 4:2:2). Below-black and -above-white values are clipped.</li> +<li><p>Linear RGB</p></li> +<li><p>Cineon Log RGB (default density range = 2.048)</p></li> +<li><p>Grayscale (Luma)</p></li> +<li><p>Rec. 601 and Rec. 709 YCbCr (4:4:4 and 4:2:2). Below-black and +above-white values are clipped.</p></li> </ul> </blockquote> </div> @@ -345,13 +350,13 @@ above-white values are clipped.</li> <h2><a class="toc-backref" href="#id6">Storage</a></h2> <blockquote> <ul class="simple"> -<li>Bits per sample of 1, 8, 10, 12, and 16.</li> -<li>Packed, or fill type A or B for 10/12 bits.</li> -<li>All RGB-oriented element types (R, G, B, A, RGB, RGBA, ABGR).</li> -<li>YCbCr</li> -<li>Planar (multi-element) storage fully supported.</li> -<li>Alpha may be stored in a separate element.</li> -<li>Big and little endian storage.</li> +<li><p>Bits per sample of 1, 8, 10, 12, and 16.</p></li> +<li><p>Packed, or fill type A or B for 10/12 bits.</p></li> +<li><p>All RGB-oriented element types (R, G, B, A, RGB, RGBA, ABGR).</p></li> +<li><p>YCbCr</p></li> +<li><p>Planar (multi-element) storage fully supported.</p></li> +<li><p>Alpha may be stored in a separate element.</p></li> +<li><p>Big and little endian storage.</p></li> </ul> </blockquote> </div> @@ -359,10 +364,10 @@ above-white values are clipped.</li> <h2><a class="toc-backref" href="#id7">Yet to be supported</a></h2> <blockquote> <ul class="simple"> -<li>Composite video.</li> -<li>Floating point formats (32 and 64 bits)</li> -<li>Depth channel (not supportable within GraphicsMagick).</li> -<li>Studio (reduced range) YCbCr and RGB.</li> +<li><p>Composite video.</p></li> +<li><p>Floating point formats (32 and 64 bits)</p></li> +<li><p>Depth channel (not supportable within GraphicsMagick).</p></li> +<li><p>Studio (reduced range) YCbCr and RGB.</p></li> </ul> </blockquote> <p>The software is written efficiently so the performance when reading @@ -379,16 +384,12 @@ user provided file descriptor.</p> <p>GraphicsMagick is easy to use. The following is an example of scaling a <em>4K</em> 16 bit scan to a <em>2K</em> <em>Academy</em> 10 bit image using the <a class="reference external" href="convert.html">convert</a> command:</p> -<pre class="literal-block"> -gm convert 4k.dpx -resize 1828x1556 -depth 10 2k.dpx -</pre> +<pre class="literal-block">gm convert 4k.dpx -resize 1828x1556 -depth 10 2k.dpx</pre> <p>The above example uses the default resizing filters which are optimized for quality, but take longer than some other filters. The <em>box</em> resize filter provides reasonably good scaling in a reasonable amount of time:</p> -<pre class="literal-block"> -gm convert 4k.dpx -filter box -resize 1828x1556 -depth 10 2k.dpx -</pre> +<pre class="literal-block">gm convert 4k.dpx -filter box -resize 1828x1556 -depth 10 2k.dpx</pre> <p>The above example command takes about 4 seconds (on an Apple 2.5GHz G5 PowerMac or Intel 2.4GHz Xeon) to down-convert from a 131MB <em>5K</em> (5232x4376) original 16-bit scan from a NorthLight scanner to a 11MB @@ -402,39 +403,32 @@ be combined with its powerful drawing capability to take a full size source image and produce a smaller (720x576) version which includes the image filename and timecode at the top of the image, and a logo <em>bug</em> image in the bottom right corner:</p> -<pre class="literal-block"> -gm convert infile.dpx -resize '720x576!' \ +<pre class="literal-block">gm convert infile.dpx -resize '720x576!' \ -draw 'fill "white";text-undercolor "Blue";font "Helvetica";font-size 18;\ text 10,20 "%f (%[DPX:tv.time.code])";image atop 500,400 0,0 "gm-125x80t.png"' \ - outfile.dpx -</pre> + outfile.dpx</pre> <p>As may be seen, the argument to -draw can become extremely long, so to make things easy, the drawing commands may be placed in a simple text file and passed by reference to the draw comand:</p> <p>First lets check what we edited into our drawing command file:</p> -<pre class="literal-block"> -% cat drawcmd.txt +<pre class="literal-block">% cat drawcmd.txt fill "white" text-undercolor "Blue" font "Helvetica" font-size 18 text 10,20 "%f (%[DPX:tv.time.code])" -image atop 500,400 "0,0 "gm-125x80t.png" -</pre> +image atop 500,400 "0,0 "gm-125x80t.png"</pre> <p>and now we can apply it by passing the filename prefixed with a '@' to the -draw command:</p> -<pre class="literal-block"> -gm convert infile.dpx -resize '720x576!' -draw '@drawcmd.txt' outfile.dpx -</pre> -<p>The <tt class="docutils literal">0,0</tt> in the image composition command argument says to use the +<pre class="literal-block">gm convert infile.dpx -resize '720x576!' -draw '@drawcmd.txt' outfile.dpx</pre> +<p>The <span class="docutils literal">0,0</span> in the image composition command argument says to use the image as is. If the composited image should be automatically resized, -then simply replace the <tt class="docutils literal">0,0</tt> with the desired size.</p> +then simply replace the <span class="docutils literal">0,0</span> with the desired size.</p> <p>There are a number of powerful scripting environments for GraphicsMagick. One of these is RMagick (Ruby language interface to GraphicsMagick). In Ruby, the same effect may be obtained via a script that looks like:</p> -<pre class="literal-block"> -#! /usr/local/bin/ruby -w +<pre class="literal-block">#! /usr/local/bin/ruby -w require 'RMagick' include Magick img = Image.read('infile.dpx')[0] @@ -447,17 +441,14 @@ gc.font_size(18) gc.text(10, 20, "%f (%[DPX:tv.time.code])") gc.composite(500, 400, 0, 0, frog, AtopCompositeOp) gc.draw(img) -img.write('outfile.dpx') -</pre> +img.write('outfile.dpx')</pre> <p>In addition to Ruby, there are scripting interfaces for Perl, Python, Tcl, and Ch (C-like scripting language).</p> </div> <div class="section" id="colorspace-transformation"> <h2><a class="toc-backref" href="#id11">Colorspace Transformation</a></h2> <p>To convert an RGB file to a 4:2:2 YCbCr file in Rec 709 space:</p> -<pre class="literal-block"> -gm convert 2k.dpx -depth 10 -colorspace Rec709YCbCr -sampling-factor 4:2:2 2k-ycbcr.dpx -</pre> +<pre class="literal-block">gm convert 2k.dpx -depth 10 -colorspace Rec709YCbCr -sampling-factor 4:2:2 2k-ycbcr.dpx</pre> </div> <div class="section" id="modifying-an-image-in-place"> <h2><a class="toc-backref" href="#id12">Modifying An Image In-Place</a></h2> @@ -471,36 +462,28 @@ every attempt to preserve header information, some previously existing features of the file (such as the offset to the pixel data) may change.</p> <p>A typical mogrify command is</p> -<pre class="literal-block"> -gm mogrify -resize 1828x1556 -depth 10 file-0001.dpx file-0002.dpx -</pre> +<pre class="literal-block">gm mogrify -resize 1828x1556 -depth 10 file-0001.dpx file-0002.dpx</pre> <p>Multiple files may be specified on the command line so the same command may process hundreds of files in one invocation.</p> <p>Unix users can use the find and xargs programs to perform operations on any number of files:</p> -<pre class="literal-block"> -find /assets/001 -name '*.dpx' -print | \ - xargs gm mogrify -resize 1828x1556 -depth 10 -</pre> +<pre class="literal-block">find /assets/001 -name '*.dpx' -print | \ + xargs gm mogrify -resize 1828x1556 -depth 10</pre> <p>Xargs works by pasting as many file names as possible on the end of the command provided to it.</p> <p>The GNU version of xargs provides an added benefit. It is able to run several commands in the background. This means that if your system has multiple CPUs, it can take advantage of all the CPUs while still using one command:</p> -<pre class="literal-block"> -find /assets/001 -name '*.dpx' -print | \ - xargs --max-procs 3 --max-args 25 gm mogrify -resize 1828x1556 -depth 10 -</pre> +<pre class="literal-block">find /assets/001 -name '*.dpx' -print | \ + xargs --max-procs 3 --max-args 25 gm mogrify -resize 1828x1556 -depth 10</pre> <p>The mogrify command supports the -output-directory option to sent files to a different directory than the input files. This allows processing a large number of files without overwriting the input files:</p> -<pre class="literal-block"> -mkdir dest +<pre class="literal-block">mkdir dest cd source -gm mogrify -output-directory ../dest -resize 1828x1556 -depth 10 '*.dpx' -</pre> +gm mogrify -output-directory ../dest -resize 1828x1556 -depth 10 '*.dpx'</pre> <p>Note that the entire input file path specification is preserved when composing the output path so that the input file path is simply appended to the output directory path. Also, unless the @@ -511,12 +494,10 @@ source/file.dpx and the output directory is specified as dest, then the output file path will be dest/source/file.dpx.</p> <p>Here is an incantation which recursively processes all DPX files under source and sends the result to a similar directory tree under dest.</p> -<pre class="literal-block"> -mkdir dest +<pre class="literal-block">mkdir dest cd source find . name '*.dpx' -print | xargs gm mogrify -output-directory ../dest \ - -create-directories -resize 1828x1556 -depth 10 -</pre> + -create-directories -resize 1828x1556 -depth 10</pre> </div> <div class="section" id="creating-a-contact-sheet"> <h2><a class="toc-backref" href="#id13">Creating A Contact Sheet</a></h2> @@ -526,23 +507,15 @@ accepts a wildcarded argument of files (protected by quotes!) to read. The output files are buffered while files are being read so there is a practical limit to the number of files which may be processed at once. To output to a Postscript file:</p> -<pre class="literal-block"> -gm convert "vid:*.dpx" "contact-sheet.ps" -</pre> +<pre class="literal-block">gm convert "vid:*.dpx" "contact-sheet.ps"</pre> <p>or to a PDF file:</p> -<pre class="literal-block"> -gm convert "vid:*.dpx" "contact-sheet.pdf" -</pre> +<pre class="literal-block">gm convert "vid:*.dpx" "contact-sheet.pdf"</pre> <p>or to a sequence of JPEG files ranging from contact-sheet-000.jpg to contact-sheet-999.jpg:</p> -<pre class="literal-block"> -gm convert "vid:*.dpx" "contact-sheet-%03d.jpg" -</pre> +<pre class="literal-block">gm convert "vid:*.dpx" "contact-sheet-%03d.jpg"</pre> <p>or to a MIFF file which may be used to interactively browse the original files using 'gm display':</p> -<pre class="literal-block"> -gm convert "vid:*.dpx" "contact-sheet.miff" -</pre> +<pre class="literal-block">gm convert "vid:*.dpx" "contact-sheet.miff"</pre> </div> <div class="section" id="animating-a-sequence"> <h2><a class="toc-backref" href="#id14">Animating A Sequence</a></h2> @@ -555,16 +528,12 @@ frames in the sequence.More frames may be buffered on 64-bit systems. Many more frames may be animated by preparing a reduced set of frames in advance.</p> <p>To visualize an animation at 24 frames per second (delay (1/24)*100) use</p> -<pre class="literal-block"> -gm animate -delay 4.17 'Frame_*.dpx' -</pre> +<pre class="literal-block">gm animate -delay 4.17 'Frame_*.dpx'</pre> <p>In order to obtain a preview of a larger sequence, and if the frames are numbered, a broader span of time may be animated by selecting every 10^th frame (terminating with zero) to animate at 2.4 frames per second:</p> -<pre class="literal-block"> -gm animate -delay 41.7 'Frame_*0.dpx' -</pre> +<pre class="literal-block">gm animate -delay 41.7 'Frame_*0.dpx'</pre> </div> <div class="section" id="displaying-one-image-frame"> <h2><a class="toc-backref" href="#id15">Displaying One Image Frame</a></h2> @@ -573,9 +542,7 @@ subcommand. By default the name of the image file is displayed in the title bar. By specifying the format of the title, other useful information such as the time code (see the DPX Attributes section for more details) may be included in the window title:</p> -<pre class="literal-block"> -gm display -title '%f (%[DPX:tv.time.code])' foo.dpx -</pre> +<pre class="literal-block">gm display -title '%f (%[DPX:tv.time.code])' foo.dpx</pre> </div> <div class="section" id="viewing-a-sequence"> <h2><a class="toc-backref" href="#id16">Viewing A Sequence</a></h2> @@ -584,9 +551,7 @@ gm display -title '%f (%[DPX:tv.time.code])' foo.dpx when displaying a sequence this way. Unlike 'gm animate' the inter-frame delay can not be set to less than a second (100 ticks is one second).</p> -<pre class="literal-block"> -gm display +progress -delay 100 'Frame_*.dpx' -</pre> +<pre class="literal-block">gm display +progress -delay 100 'Frame_*.dpx'</pre> </div> <div class="section" id="using-the-batch-capability"> <h2><a class="toc-backref" href="#id17">Using the Batch capability</a></h2> @@ -598,16 +563,14 @@ for more efficiency and for use of GraphicsMagick as a co-process. An arbitrary script which produces the commands may continue to produce the commands as GraphicsMagick executes them. For example (Bourne shell script):</p> -<pre class="literal-block"> -outdir=outdir +<pre class="literal-block">outdir=outdir mkdir $outdir find fromdir -name '*.dpx'| sort | while read infile do outfile=$outdir/`basename $infile` echo time convert $infile -gaussian 0x1 $outfile -done | gm batch - -</pre> +done | gm batch -</pre> </div> </div> <div class="section" id="options-and-attributes"> @@ -616,9 +579,9 @@ done | gm batch - <h2><a class="toc-backref" href="#id19">Command options</a></h2> <p>The following command options are particularly useful when dealing with DPX files:</p> -<dl class="docutils"> +<dl class="simple"> <dt>-colorspace {CineonLog|RGB|Gray|Rec601Luma|Rec709Luma|Rec601YCbCr|Rec709YCbCr}</dt> -<dd>Specifies the colorspace to be used when saving the DPX +<dd><p>Specifies the colorspace to be used when saving the DPX file. CineonLog selects log encoding according to Kodak Cineon specifications. RGB selects linear RGB encoding. Gray selects linear gray encoding similar to RGB, but with a single @@ -627,88 +590,105 @@ using Rec601 Luma. Rec709Luma requests that RGB is converted to a gray image using Rec709Luma. Rec601YCbCr requests that the image is saved as YCbCr according to Rec601 (SDTV) specifications. Rec709CbCr requests that the image is saved as -YCbCr according to Rec709 (HDTV) specifications.</dd> +YCbCr according to Rec709 (HDTV) specifications.</p> +</dd> <dt>-endian {lsb|msb}</dt> -<dd>Specifies the endian order to use when writing the DPX +<dd><p>Specifies the endian order to use when writing the DPX file. GraphicsMagick writes big-endian DPX files by default since they are the most portable. Other implementations may use the native order of the host CPU (e.g. little-endian when using an -Intel 'x86 CPU).</dd> +Intel 'x86 CPU).</p> +</dd> <dt>-depth <value></dt> -<dd>Specifies the number of bits to preserve in a color sample. By +<dd><p>Specifies the number of bits to preserve in a color sample. By default the output file is written with the same number of bits as the input file. For example, if the input file is 16 bits, it may -be reduced to 10 bits via '-depth 10'.</dd> +be reduced to 10 bits via '-depth 10'.</p> +</dd> <dt>-define dpx:bits-per-sample=<value></dt> -<dd>If the dpx:bits-per-sample key is defined, GraphicsMagick will +<dd><p>If the dpx:bits-per-sample key is defined, GraphicsMagick will write DPX images with the specified bits per sample, overriding any existing depth value. If this option is not specified, then the value is based on the existing image depth value from the original image file. The DPX standard supports bits per sample values of 1, 8, 10, 12, and 16. Many DPX readers demand a sample -size of 10 bits with type A padding (see below).</dd> +size of 10 bits with type A padding (see below).</p> +</dd> <dt>-define dpx:colorspace={rgb|cineonlog}</dt> -<dd>Use the dpx:colorspace option when reading a DPX file to specify +<dd><p>Use the dpx:colorspace option when reading a DPX file to specify the colorspace the DPX file uses. This overrides the colorspace type implied by the DPX header (if any). Currently files with the transfer characteristic Printing Density are assumed to be log encoded density while files marked as Linear are assumed to be -linear. Hint: use <tt class="docutils literal"><span class="pre">-define</span> dpx:colorspace=rgb</tt> in order to avoid +linear. Hint: use <span class="docutils literal"><span class="pre">-define</span> dpx:colorspace=rgb</span> in order to avoid the log to linear transformation for DPX files which use Printing -Density.</dd> +Density.</p> +</dd> <dt>-define dpx:packing-method={packed|a|b|lsbpad|msbpad}</dt> -<dd>DPX samples may be output within 32-bit words. They may be tightly +<dd><p>DPX samples may be output within 32-bit words. They may be tightly packed end-to-end within the words ("packed"), padded with null bits to the right of the sample ("a" or "lsbpad"), or padded with null bits to the left of the sample ("b" or "msbpad"). This option only has an effect for sample sizes of 10 or 12 bits. If samples are not packed, the DPX standard recommends type A padding. Many -DPX readers demand a sample size of 10 bits with type A padding.</dd> +DPX readers demand a sample size of 10 bits with type A padding.</p> +</dd> <dt>-define dpx:pixel-endian={lsb|msb}</dt> -<dd>DPX pixels should use the endian order that the DPX header +<dd><p>DPX pixels should use the endian order that the DPX header specifies. Sometimes there is a mis-match and the pixels use a different endian order than the file header specifies. For example, the file header may specify little endian, but the pixels are in big-endian order. To work around that use -define dpx-pixel-endian=msb when reading the file. Likewise, this option may be used to intentionally write the pixels using a different -order than the header.</dd> +order than the header.</p> +</dd> <dt>-define dpx:swap-samples={true|false}</dt> -<dd>GraphicsMagick strives to adhere to the DPX standard but certain +<dd><p>GraphicsMagick strives to adhere to the DPX standard but certain aspects of the standard can be quite confusing. As a result, some 10-bit DPX files have Red and Blue interchanged, or Cb and Cr interchanged due to an different interpretation of the standard, or getting the wires crossed. The swap-samples option may be supplied when reading or writing in order to read or write using -the necessary sample order.</dd> +the necessary sample order.</p> +</dd> <dt>-define dpx:swap-samples-read={true|false}</dt> -<dd>Similar to dpx:swap-samples but only applied while reading.</dd> +<dd><p>Similar to dpx:swap-samples but only applied while reading.</p> +</dd> <dt>-define dpx:swap-samples-write={true|false}</dt> -<dd>Similar to dpx:swap-samples but only applied while writing.</dd> +<dd><p>Similar to dpx:swap-samples but only applied while writing.</p> +</dd> <dt>-interlace plane</dt> -<dd>By default, samples are stored contiguously in a single element +<dd><p>By default, samples are stored contiguously in a single element when possible. Specifying '-interlace plane' causes each sample type (e.g. 'red') to be stored in its own image element. Planar storage is fully supported for grayscale (with alpha) and RGB. For YCbCr, chroma must be 4:2:2 subsampled in order to use planar storage. While planar storage offers a number of benefits, it -seems that very few DPX-supporting applications support it.</dd> +seems that very few DPX-supporting applications support it.</p> +</dd> <dt>-sampling-factor 4:2:2</dt> -<dd>Select 4:2:2subsampling when saving an image in YCbCr +<dd><p>Select 4:2:2subsampling when saving an image in YCbCr format. Subsampling is handled via a general-purpose image resize algorithm (lanczos) rather than a dedicated filter so subsampling -is slow (but good).</dd> +is slow (but good).</p> +</dd> <dt>-set reference-white <value></dt> -<dd>Set the 90% white card level (default 685) for Cineon Log.</dd> +<dd><p>Set the 90% white card level (default 685) for Cineon Log.</p> +</dd> <dt>-set reference-black <value></dt> -<dd>Set the 1% black card level (default 95) for Cineon Log.</dd> +<dd><p>Set the 1% black card level (default 95) for Cineon Log.</p> +</dd> <dt>-set display-gamma <value></dt> -<dd>Set the display gamma (default 1.7) for Cineon Log.</dd> +<dd><p>Set the display gamma (default 1.7) for Cineon Log.</p> +</dd> <dt>-set film-gamma <value></dt> -<dd>Set the film gamma (default 0.6) for Cineon Log.</dd> +<dd><p>Set the film gamma (default 0.6) for Cineon Log.</p> +</dd> <dt>-set soft-clip-offset <value></dt> -<dd>Set the soft clip offset (default 0) when converting to <em>computer</em> RGB from -Cineon Log.</dd> +<dd><p>Set the soft clip offset (default 0) when converting to <em>computer</em> RGB from +Cineon Log.</p> +</dd> </dl> </div> <div class="section" id="dpx-attributes"> @@ -720,8 +700,7 @@ identify -verbose' and may be set using the -define syntax order to add a value, or override an existing value. The attributes in the list below may be viewed or updated. The names are similar to the attribute descriptions from the DPX standard.</p> -<pre class="literal-block"> -dpx:file.copyright +<pre class="literal-block">dpx:file.copyright dpx:file.creation.datetime dpx:file.creator dpx:file.encryption.key @@ -774,25 +753,23 @@ dpx:tv.time.code dpx:tv.user.bits dpx:tv.video.signal dpx:tv.white.level -dpx:user.data.id -</pre> +dpx:user.data.id</pre> <p>Specific header values from a DPX file may be displayed quickly using a command similar to:</p> -<pre class="literal-block"> -gm identify -format '%[DPX:tv.time.code]' foo.dpx -</pre> +<pre class="literal-block">gm identify -format '%[DPX:tv.time.code]' foo.dpx</pre> <p>Use</p> -<pre class="literal-block"> -gm identify -format '%[dpx:*]' foo.dpx -</pre> +<pre class="literal-block">gm identify -format '%[dpx:*]' foo.dpx</pre> <p>to list all DPX header attributes.</p> </div> </div> </div> + <hr class="docutils"> <div class="document"> - <p><a href="Copyright.html">Copyright</a> © GraphicsMagick Group 2002 - 2022<!--SPONSOR_LOGO--></p> + <p><a href="Copyright.html">Copyright</a> © GraphicsMagick Group 2002 - 2023<!--SPONSOR_LOGO--></p> +</div> + </div> </body> </html> |