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