DPX header structure description

DPX metadata gets returned as a Depix::DPX object with nested properties.

  meta.file.magic # => "SDPX"

Metadata structure

  • file (Depix::FileInfo) File information - required:
    • magic (String) Endianness (SDPX is big endian) - required
    • image_offset Offset to image data in bytes - required
    • version (String) Version of header format - required
    • file_size Total image size in bytes - required
    • ditto_key Whether the basic headers stay the same through the sequence (1 means they do)
    • generic_size Generic header length
    • industry_size Industry header length
    • user_size User header length
    • filename (String) Original filename
    • timestamp (String) Creation timestamp
    • creator (String) Creator application
    • project (String) Project name
    • copyright (String) Copyright
    • encrypt_key Encryption key
    • reserve (String)
  • image (Depix::ImageInfo) Image information - required:
    • orientation (Integer) Orientation descriptor - required
    • number_elements (Integer) How many elements to scan - required
    • pixels_per_line Pixels per horizontal line - required
    • lines_per_element Line count - required
    • image_elements (Array of 8 Depix::ImageElement fields) Image elements:
      • data_sign Data sign (0=unsigned, 1=signed). Core is unsigned - required
      • low_data Reference low data code value
      • low_quantity (Float) Reference low quantity represented
      • high_data Reference high data code value (1023 for 10bit per channel)
      • high_quantity (Float) Reference high quantity represented
      • descriptor (Integer) Descriptor for this image element (ie Video or Film), by enum - required
      • transfer (Integer) Transfer function (ie Linear), by enum - required
      • colorimetric (Integer) Colorimetric (ie YcbCr), by enum - required
      • bit_size (Integer) Bit size for element (ie 10) - required
      • packing (Integer) Packing (0=Packed into 32-bit words, 1=Filled to 32-bit words)) - required
      • encoding (Integer) Encoding (0=None, 1=RLE) - required
      • data_offset Offset to data for this image element - required
      • end_of_line_padding End-of-line padding for this image element
      • end_of_image_padding End-of-line padding for this image element
      • description (String)
    • reserve (String)
  • orientation (Depix::OrientationInfo) Orientation - required:
    • x_offset
    • y_offset
    • x_center (Float)
    • y_center (Float)
    • x_size Original X size
    • y_size Original Y size
    • filename (String) Source image filename
    • timestamp (String) Source image/tape timestamp
    • device (String) Input device or tape
    • serial (String) Input device serial number
    • border (Array of 4 Integer fields) Border validity: XL, XR, YT, YB:
    • aspect_ratio (Array of 2 fields) Aspect (H:V):
    • reserve (String)
  • film (Depix::FilmInfo) Film industry info - required:
    • id (String) Film mfg. ID code (2 digits from film edge code)
    • type (String) Film type (2 digits from film edge code)
    • offset (String) Offset in perfs (2 digits from film edge code)
    • prefix (String) Prefix (6 digits from film edge code
    • count (String) Count (4 digits from film edge code)
    • format (String) Format (e.g. Academy)
    • frame_position Frame position in sequence
    • sequence_extent Sequence length
    • held_count For how many frames the frame is held
    • frame_rate (Float) Frame rate
    • shutter_angle (Float) Shutter angle
    • frame_id (String) Frame identification (keyframe)
    • slate (String) Slate information
    • reserve (String)
  • television (Depix::TelevisionInfo) TV industry info - required:
    • time_code Timecode, formatted as HH:MM:SS:FF in the 4 higher bits of each 8bit group
    • user_bits Timecode UBITs
    • interlace (Integer) Interlace (0 = noninterlaced; 1 = 2:1 interlace
    • field_number (Integer) Field number
    • video_signal (Integer) Video signal (by enum)
    • padding (Integer) Zero (for byte alignment)
    • horizontal_sample_rate (Float) Horizontal sampling Hz
    • vertical_sample_rate (Float) Vertical sampling Hz
    • frame_rate (Float) Frame rate
    • time_offset (Float) From sync pulse to first pixel
    • gamma (Float) Gamma
    • black_level (Float) Black pedestal code value
    • black_gain (Float) Black gain code value
    • break_point (Float) Break point (?)
    • white_level (Float) White level
    • integration_times (Float) Integration times (S)
    • reserve (Float)
  • user (Depix::UserInfo) User info - required:
    • id (String) Name of the user data tag
    • user_data_ptr