Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*-------------------------------*/
- typedef struct _DPXHeader
- {
- uint32_t magic;
- uint32_t image_offset;
- uint8_t version[8];
- uint32_t file_size;
- uint32_t ditto_key;
- uint32_t generic_hdr_size;
- uint32_t industry_hdr_size;
- uint32_t user_data_size;
- uint8_t file_name[100];
- uint8_t creation_date[24];
- uint8_t creator[100];
- uint8_t project[200];
- uint8_t copyright[200];
- uint32_t encrypt_key;
- uint8_t reserved[104];
- } DPXHeader;
- typedef struct DPXImageElement {
- uint32_t data_sign;
- uint32_t ref_low_data;
- float ref_low_quality;
- uint32_t ref_high_data;
- float ref_high_quality;
- uint8_t descriptor;
- uint8_t transfer;
- uint8_t colorimetric;
- uint8_t bit_size;
- uint16_t packing;
- uint16_t encoding;
- uint32_t data_offset;
- uint32_t eol_padding;
- uint32_t eo_image_padding;
- uint8_t description[32];
- } DPXImageElement;
- typedef struct _ImageHeader {
- uint16_t orientation;
- uint16_t number_of_elements;
- uint32_t img_width; /* pixels_per_line */
- uint32_t img_height; /* lines_per_element */
- DPXImageElement img_element[8];
- uint8_t reserved[52];
- } DPXImageHeader;
- typedef struct _ImageOrientation {
- uint32_t x_offset;
- uint32_t y_offset;
- float x_center;
- float y_center;
- uint32_t x_original_size;
- uint32_t y_original_size;
- uint8_t file_name[100];
- uint8_t creation_time[24];
- uint8_t input_dev[32];
- uint8_t input_serial[32];
- uint16_t border[4];
- uint32_t pixel_aspect_x;
- uint32_t pixel_aspect_y;
- uint8_t reserved[28];
- } DPXImageOrientation;
- typedef struct _FilmHeader {
- uint8_t manufacturer_id[2];
- uint8_t film_type[2];
- uint8_t offset[2];
- uint8_t prefix[6];
- uint8_t count[4];
- uint8_t format[32];
- uint32_t frame_position;
- uint32_t sequence_len;
- uint32_t held_count;
- float framerate;
- float shutter_angle;
- uint8_t frame_id[32];
- uint8_t slate_info[100];
- uint8_t reserved[56];
- } DPXFilmHeader;
- typedef union _SMPTETimecode {
- struct {
- uint8_t hours;
- uint8_t minutes;
- uint8_t seconds;
- uint8_t frames;
- };
- uint32_t value;
- } SMPTETimecode;
- typedef struct _TVHeader {
- SMPTETimecode timecode;
- uint32_t user_bits;
- uint8_t interlace;
- uint8_t field_num;
- uint8_t video_signal;
- uint8_t unused;
- float horz_sample_rate;
- float vert_sample_rate;
- float framerate;
- float time_offset;
- float gamma;
- float black_level;
- float black_gain;
- float break_point;
- float white_level;
- float integration_times;
- uint8_t reserved[76];
- } DPXTVHeader;
- typedef struct _DPXUserData {
- uint8_t user_id[32];
- /**
- * This can contains any number of data you need
- * the size if defined at DPXHeader::user_data_size above
- */
- void* pvData;
- } DPXUserData;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement