Skip to content

Latest commit

 

History

History
executable file
·
97 lines (92 loc) · 5.2 KB

DPX_HEADER_STRUCTURE.rdoc

File metadata and controls

executable file
·
97 lines (92 loc) · 5.2 KB

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 (NilClass)

  • 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 (NilClass)

  • 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 (NilClass)

  • 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 (NilClass)

  • 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 (NilClass)

  • user (Depix::UserInfo) User info - required:

    • id (String) Name of the user data tag

    • user_data_ptr