AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
dpx_hdr.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #include "ajabase/common/types.h"
9 #include <stdlib.h>
10 #include <time.h>
11 #include <string.h>
12 #include <assert.h>
13 #include <algorithm>
14 #include "dpx_hdr.h"
15 
16 #if defined(AJA_LINUX) || defined(AJA_MAC)
17 # include <arpa/inet.h>
18 # include <algorithm>
19 
20  using std::min;
21 
22 # define _cpp_min min
23 # define INVALID_HANDLE_VALUE -1
24 #endif
25 
26 #if defined(AJA_WINDOWS)
27  #include <WinSock2.h>
28 #endif
29 
30 
31 typedef union
32 {
33  uint32_t i;
34  float f;
35 } FloatSwap;
36 
37 
38 inline float htonf(float f)
39 {
40  FloatSwap s;
41  s.f = f;
42  s.i = htonl(s.i);
43  return s.f;
44 }
45 
46 
47 inline float ntohf(float f)
48 {
49  FloatSwap s;
50 
51  s.f = f;
52  s.i = ntohl(s.i);
53  return s.f;
54 }
55 
56 
57 uint32_t dpx_get_u32(const uint32_t *ptr, bool BE)
58 {
59  assert(ptr);
60  uint32_t val;
61  val = *ptr;
62  return SWAP32(BE, val);
63 }
64 
65 void dpx_set_u32 (uint32_t *ptr, bool BE, uint32_t val)
66 {
67  assert(ptr);
68  *ptr = SWAP32(BE, val);
69 }
70 
71 
72 uint16_t dpx_get_u16(const uint16_t *ptr, bool BE)
73 {
74  assert(ptr);
75  uint16_t val;
76  val = *ptr;
77  return SWAP16(BE, val);
78 }
79 
80 
81 void dpx_set_u16(uint16_t *ptr, bool BE, uint16_t val)
82 {
83  assert(ptr);
84  *ptr = SWAP16(BE, val);
85 }
86 
87 
88 void dpx_set_r32(float *ptr, bool BE, float val)
89 {
90  assert(ptr);
91  *ptr = SWAPR32(BE, val);
92 }
93 
94 
95 float dpx_get_r32(const float *ptr, bool BE)
96 {
97  assert(ptr);
98  float val;
99  val = *ptr;
100  return SWAPR32(BE,val);
101 }
102 
103 
104 
105 
107 {
108  if (this != &rhs)
109  {
110  memcpy ((void*)&m_hdr,(void*) &rhs.m_hdr, sizeof(DPX_header_t));
111  }
112  return *this;
113 }
114 
115 
116 void DpxHdr::init(uint32_t endianness)
117 {
118  m_hdr.file_info.magic_num = endianness;
119 }
120 
121 
122 bool DpxHdr::valid() const
123 {
124  return DPX_VALID(&m_hdr);
125 }
126 
127 
128 void DpxHdr::set_s2_tcframe(uint32_t frame)
129 {
130  DPX_SET_U32(&m_hdr,file_info.resv.s2.tcFrame, frame);
131 }
132 
133 
135 {
136  return DPX_GET_U32(&m_hdr,file_info.resv.s2.tcFrame);
137 }
138 
139 
141 {
142  return DPX_GET_U32(&m_hdr,file_info.resv.s2.filenum);
143 }
144 
145 
146 void DpxHdr::set_s2_filenumber(uint32_t filenum)
147 {
148  DPX_SET_U32(&m_hdr,file_info.resv.s2.filenum,filenum);
149 }
150 
151 
152 void DpxHdr::set_s2_ids(uint8_t rid, uint8_t sid, uint8_t tid)
153 {
154  m_hdr.file_info.resv.s2.rid = rid;
155  m_hdr.file_info.resv.s2.sid = sid;
156  m_hdr.file_info.resv.s2.tid = tid;
157 }
158 
159 
160 void DpxHdr::get_s2_ids(uint8_t *rid, uint8_t *sid, uint8_t *tid) const
161 {
162  assert(rid && sid && tid);
163 
164  *rid = m_hdr.file_info.resv.s2.rid;
165  *sid = m_hdr.file_info.resv.s2.sid;
166  *tid = m_hdr.file_info.resv.s2.tid;
167 }
168 
169 
171 {
172 #if defined(AJA_WINDOWS)
173  time_t time_now;
174  struct tm *t;
175 
176  time(&time_now);
177  t = ::localtime(&time_now);
178  char tstr[32];
179  strftime (tstr, 32, "%Y:%m:%d:%T%z", t);
180 
181  int len = (int)(std::min)(strlen(tstr)+1, (size_t)24);
182 
183  DPX_SET_TEXT(&m_hdr,file_info.create_time,tstr,len);
184 #endif
185 }
186 
187 std::string DpxHdr::get_fi_time_stamp() const
188 {
189  char buf[25];
190  buf[0] = '\0';
191  DPX_GET_TEXT (&m_hdr,file_info.create_time,buf,24);
192  buf[24] = '\0';
193  return buf;
194 }
195 
196 
198 {
199  return DPX_GET_U32(&m_hdr, file_info.offset);
200 }
201 
202 
204 {
205  DPX_SET_U32(&m_hdr, file_info.offset, (uint32_t)offs);
206 }
207 
209 {
210  return DPX_GET_U32(&m_hdr, file_info.file_size);
211 }
212 
213 
214 void DpxHdr::set_fi_file_size (size_t size)
215 {
216  DPX_SET_U32(&m_hdr, file_info.file_size, (uint32_t)size);
217 }
218 
219 std::string DpxHdr::get_fi_version() const
220 {
221  char buf[9];
222  buf[0] = '\0';
223  DPX_GET_TEXT(&m_hdr,file_info.vers,buf,8);
224  buf[8] = '\0';
225  return buf;
226 }
227 
228 void DpxHdr::set_fi_version(const std::string& str)
229 {
230  int len = (int)(std::min)(str.size()+1, (size_t)8);
231  DPX_SET_TEXT(&m_hdr,file_info.vers,str.c_str(), len);
232 }
233 
234 std::string DpxHdr::get_fi_file_name() const
235 {
236  char buf[101];
237  buf[0] = '\0';
238  DPX_GET_TEXT(&m_hdr,file_info.file_name,buf,100);
239  buf[100] = '\0';
240  return buf;
241 }
242 
243 void DpxHdr::set_fi_file_name(const std::string& str)
244 {
245  int len = (int)(std::min)(str.size()+1, (size_t)100);
246  DPX_SET_TEXT(&m_hdr,file_info.file_name,str.c_str(), len);
247 }
248 
249 std::string DpxHdr::get_fi_creator() const
250 {
251  char buf[101];
252  buf[0] = '\0';
253  DPX_GET_TEXT(&m_hdr,file_info.creator,buf,100);
254  buf[100] = '\0';
255  return buf;
256 }
257 
258 void DpxHdr::set_fi_creator(const std::string& str)
259 {
260  int len = (int)(std::min) (str.size()+1, (size_t)100);
261  DPX_SET_TEXT(&m_hdr,file_info.creator,str.c_str(), len);
262 }
263 
264 std::string DpxHdr::get_fi_create_time () const
265 {
266  char buf[25];
267  buf[0] = '\0';
268  DPX_GET_TEXT(&m_hdr,file_info.create_time,buf, 24);
269  buf[24] = '\0';
270  return buf;
271 }
272 
273 void DpxHdr::set_fi_create_time (const std::string& str)
274 {
275  int len = (int)(std::min) (str.size()+1, (size_t)24);
276  DPX_SET_TEXT (&m_hdr,file_info.create_time,str.c_str(), len);
277 }
278 
279 
280 std::string DpxHdr::get_fi_project () const
281 {
282  char buf[201];
283  buf[0] = '\0';
284  DPX_GET_TEXT(&m_hdr,file_info.project,buf,200);
285  buf[200] = '\0';
286  return buf;
287 }
288 
289 void DpxHdr::set_fi_project (const std::string& str)
290 {
291  int len = (int)(std::min) (str.size()+1, (size_t)200);
292  DPX_SET_TEXT(&m_hdr,file_info.project,str.c_str(),len);
293 }
294 
295 std::string DpxHdr::get_fi_copyright() const
296 {
297  char buf[201];
298  buf[0] = '\0';
299  DPX_GET_TEXT(&m_hdr,file_info.copyright,buf,200);
300  buf[200] = '\0';
301  return buf;
302 }
303 
304 void DpxHdr::set_fi_copyright(const std::string& str)
305 {
306  int len = (int)(std::min) (str.size()+1, (size_t)200);
307  DPX_SET_TEXT(&m_hdr,file_info.copyright,str.c_str(),len);
308 }
309 
310 
311 // Image Info access methods
312 void DpxHdr::set_ii_orientation(uint16_t orientation)
313 {
314  DPX_SET_U16(&m_hdr,image_info.orientation, orientation);
315 }
316 
318 {
319  return DPX_GET_U16(&m_hdr,image_info.orientation);
320 }
321 
322 void DpxHdr::set_ii_element_number(uint16_t element_number)
323 {
324  DPX_SET_U16(&m_hdr,image_info.element_number, element_number);
325 }
326 
328 {
329  return DPX_GET_U16(&m_hdr,image_info.element_number);
330 }
331 
332 void DpxHdr::set_ii_pixels (uint32_t pixels)
333 {
334  DPX_SET_U32(&m_hdr,image_info.pixels_per_line, pixels);
335 }
336 
337 size_t DpxHdr::get_ii_pixels() const
338 {
339  return (size_t)DPX_GET_U32(&m_hdr,image_info.pixels_per_line);
340 }
341 
342 void DpxHdr::set_ii_lines(uint32_t lines)
343 {
344  DPX_SET_U32(&m_hdr,image_info.lines_per_image_ele, lines);
345 }
346 size_t DpxHdr::get_ii_lines(void) const
347 {
348  return (size_t)DPX_GET_U32(&m_hdr,image_info.lines_per_image_ele);
349 }
350 
351 
353 // Image Element access methods
355 void DpxHdr::set_ie_description(const std::string& str, int i)
356 {
357  int len = (int)(std::min) (str.size()+1, (size_t)32);
358  DPX_SET_TEXT (&m_hdr, image_info.image_element[i].description, str.c_str(), len);
359 }
360 
361 std::string DpxHdr::get_ie_description(int i) const
362 {
363  char buf[33];
364  buf[0] = '\0';
365  DPX_GET_TEXT (&m_hdr, image_info.image_element[i].description,buf, 32);
366  buf[32] = '\0';
367  return buf;
368 }
369 
370 
371 void DpxHdr::set_ie_data_sign (uint32_t sign, int i)
372 {
373  DPX_SET_U32(&m_hdr, image_info.image_element[i].data_sign, sign);
374 }
375 
376 
378 {
379  return DPX_GET_U32(&m_hdr, image_info.image_element[i].data_sign);
380 }
381 
382 
383 void DpxHdr::set_ie_ref_low_data(uint32_t data, int i)
384 {
385  DPX_SET_U32(&m_hdr, image_info.image_element[i].ref_low_data, data);
386 }
387 
388 
389 size_t DpxHdr::get_ie_ref_low_data(int i) const
390 {
391  return DPX_GET_U32(&m_hdr, image_info.image_element[i].ref_low_data);
392 }
393 
394 
395 void DpxHdr::set_ie_ref_high_data(uint32_t data, int i)
396 {
397  DPX_SET_U32(&m_hdr, image_info.image_element[i].ref_high_data, data);
398 }
399 
400 
401 size_t DpxHdr::get_ie_ref_high_data(int i) const
402 {
403  return DPX_GET_U32(&m_hdr, image_info.image_element[i].ref_high_data);
404 }
405 
406 
407 void DpxHdr::set_ie_ref_low_quantity(float data, int i)
408 {
409  DPX_SET_R32(&m_hdr, image_info.image_element[i].ref_low_quantity, data);
410 }
411 
412 
414 {
415  return DPX_GET_R32(&m_hdr, image_info.image_element[i].ref_low_quantity);
416 }
417 
418 
419 void DpxHdr::set_ie_ref_high_quantity(float data, int i)
420 {
421  DPX_SET_R32(&m_hdr, image_info.image_element[i].ref_high_quantity, data);
422 }
423 
424 
426 {
427  return DPX_GET_R32(&m_hdr, image_info.image_element[i].ref_high_quantity);
428 }
429 
430 
431 void DpxHdr::set_ie_descriptor(uint8_t desc, int i)
432 {
433  DPX_SET_U8(&m_hdr, image_info.image_element[i].descriptor, desc);
434 }
435 
436 
437 uint8_t DpxHdr::get_ie_descriptor(int i) const
438 {
439  return DPX_GET_U8(&m_hdr, image_info.image_element[i].descriptor);
440 }
441 
442 
443 void DpxHdr::set_ie_transfer(uint8_t trans, int i)
444 {
445  DPX_SET_U8(&m_hdr, image_info.image_element[i].transfer, trans);
446 }
447 
448 
449 uint8_t DpxHdr::get_ie_transfer(int i) const
450 {
451  return DPX_GET_U8(&m_hdr, image_info.image_element[i].transfer);
452 }
453 
454 
455 void DpxHdr::set_ie_colorimetric(uint8_t c, int i)
456 {
457  DPX_SET_U8(&m_hdr, image_info.image_element[i].colorimetric, c);
458 }
459 
460 
461 uint8_t DpxHdr::get_ie_colorimetric(int i) const
462 {
463  return DPX_GET_U8(&m_hdr, image_info.image_element[i].colorimetric);
464 }
465 
466 
467 void DpxHdr::set_ie_bit_size(uint8_t bits, int i)
468 {
469  DPX_SET_U8(&m_hdr, image_info.image_element[i].bit_size, bits);
470 }
471 
472 
473 uint8_t DpxHdr::get_ie_bit_size(int i) const
474 {
475  return DPX_GET_U8(&m_hdr, image_info.image_element[i].bit_size);
476 }
477 
478 
479 void DpxHdr::set_ie_packing(uint16_t pack, int i)
480 {
481  DPX_SET_U16(&m_hdr, image_info.image_element[i].packing, pack);
482 }
483 
484 
485 uint16_t DpxHdr::get_ie_packing (int i) const
486 {
487  return DPX_GET_U16(&m_hdr, image_info.image_element[i].packing);
488 }
489 
490 
491 void DpxHdr::set_ie_encoding(uint16_t enc, int i)
492 {
493  DPX_SET_U16(&m_hdr, image_info.image_element[i].encoding, enc);
494 }
495 
496 
497 uint16_t DpxHdr::get_ie_encoding(int i) const
498 {
499  return DPX_GET_U16(&m_hdr, image_info.image_element[i].encoding);
500 }
501 
502 
503 void DpxHdr::set_ie_data_offset(uint32_t offs, int i)
504 {
505  DPX_SET_U32(&m_hdr, image_info.image_element[i].data_offset, offs);
506 }
507 
508 
509 uint32_t DpxHdr::get_ie_data_offset (int i) const
510 {
511  return DPX_GET_U32(&m_hdr, image_info.image_element[i].data_offset);
512 }
513 
514 
515 void DpxHdr::set_ie_eol_padding(uint32_t padding, int i)
516 {
517  DPX_SET_U32(&m_hdr, image_info.image_element[i].eol_padding, padding);
518 }
519 
520 
521 uint32_t DpxHdr::get_ie_eol_padding(int i) const
522 {
523  return DPX_GET_U32(&m_hdr, image_info.image_element[i].eol_padding);
524 }
525 
526 
527 void DpxHdr::set_ie_eo_image_padding(uint32_t padding, int i)
528 {
529  DPX_SET_U32(&m_hdr, image_info.image_element[i].eo_image_padding, padding);
530 }
531 
532 
533 uint32_t DpxHdr::get_ie_eo_image_padding(int i) const
534 {
535  return DPX_GET_U32(&m_hdr, image_info.image_element[i].eo_image_padding);
536 }
537 
538 
539 std::string DpxHdr::get_is_filename() const
540 {
541  char buf[101];
542  buf[0] = '\0';
543  DPX_GET_TEXT(&m_hdr,image_source.file_name,buf,100);
544  buf[100] = '\0';
545  return buf;
546 }
547 
548 
549 void DpxHdr::set_is_filename(const std::string& str)
550 {
551  int len = (int)(std::min) (str.size()+1, (size_t)100);
552  DPX_SET_TEXT(&m_hdr,image_source.file_name,str.c_str(),len);
553 }
554 
555 
556 std::string DpxHdr::get_is_creation_time() const
557 {
558  char buf[25];
559  buf[0] = '\0';
560  DPX_GET_TEXT(&m_hdr,image_source.creation_time,buf,24);
561  buf[24] = '\0';
562  return buf;
563 }
564 
565 
566 void DpxHdr::set_is_creation_time(const std::string& str)
567 {
568  int len = (int)(std::min) (str.size()+1, (size_t)24);
569  DPX_SET_TEXT(&m_hdr,image_source.creation_time,str.c_str(),len);
570 }
571 
572 
573 std::string DpxHdr::get_is_input_device() const
574 {
575  char buf[33];
576  buf[0] = '\0';
577  DPX_GET_TEXT(&m_hdr,image_source.input_dev,buf,32);
578  buf[32] = '\0';
579  return buf;
580 }
581 
582 
583 void DpxHdr::set_is_input_device(const std::string& str)
584 {
585  int len = (int)(std::min)(str.size()+1, (size_t)32);
586  DPX_SET_TEXT(&m_hdr,image_source.input_dev,str.c_str(),len);
587 }
588 
589 
590 std::string DpxHdr::get_is_input_serial() const
591 {
592  char buf[33];
593  buf[0] = '\0';
594  DPX_GET_TEXT(&m_hdr,image_source.input_serial,buf,32);
595  buf[32] = '\0';
596  return buf;
597 }
598 
599 
600 void DpxHdr::set_is_input_serial(const std::string& str)
601 {
602  int len = (int)(std::min) (str.size()+1, (size_t)32);
603  DPX_SET_TEXT(&m_hdr,image_source.input_serial,str.c_str(),len);
604 }
605 
606 
607 std::string DpxHdr::get_film_mfg_id() const
608 {
609  char buf[3];
610  buf[0] = '\0';
611  DPX_GET_TEXT (&m_hdr,film_header.film_mfg_id,buf,2);
612  buf[2] = '\0';
613  return buf;
614 }
615 
616 
617 void DpxHdr::set_film_mfg_id(const std::string& str)
618 {
619  int len = (int)(std::min)(str.size()+1, (size_t)2);
620  DPX_SET_TEXT (&m_hdr,film_header.film_mfg_id,str.c_str(),len);
621 }
622 
623 
624 std::string DpxHdr::get_film_type() const
625 {
626  char buf[3];
627  buf[0] = '\0';
628  DPX_GET_TEXT (&m_hdr,film_header.film_type,buf,2);
629  buf[2] = '\0';
630  return buf;
631 }
632 
633 
634 void DpxHdr::set_film_type(const std::string& str)
635 {
636  int len = (int)(std::min)(str.size()+1, (size_t)2);
637  DPX_SET_TEXT (&m_hdr,film_header.film_type,str.c_str(),len);
638 }
639 
640 
641 std::string DpxHdr::get_film_offset() const
642 {
643  char buf[3];
644  buf[0] = '\0';
645  DPX_GET_TEXT (&m_hdr,film_header.offset,buf,2);
646  buf[2] = '\0';
647  return buf;
648 
649 }
650 
651 
652 void DpxHdr::set_film_offset(const std::string& str)
653 {
654  int len = (int)(std::min)(str.size()+1, (size_t)2);
655  DPX_SET_TEXT (&m_hdr,film_header.offset,str.c_str(),len);
656 }
657 
658 
659 std::string DpxHdr::get_film_prefix() const
660 {
661  char buf[7];
662  buf[0] = '\0';
663  DPX_GET_TEXT (&m_hdr,film_header.prefix,buf,6);
664  buf[6] = '\0';
665  return buf;
666 }
667 
668 
669 void DpxHdr::set_film_prefix(const std::string& str)
670 {
671  int len = (int)(std::min)(str.size()+1, (size_t)6);
672  DPX_SET_TEXT (&m_hdr,film_header.prefix,str.c_str(),len);
673 
674 }
675 
676 
677 std::string DpxHdr::get_film_count() const
678 {
679  char buf[5];
680  buf[0] = '\0';
681  DPX_GET_TEXT (&m_hdr,film_header.count,buf,4);
682  buf[4] = '\0';
683  return buf;
684 }
685 
686 
687 void DpxHdr::set_film_count(const std::string& str)
688 {
689  int len = (int)(std::min)(str.size()+1, (size_t)4);
690  DPX_SET_TEXT (&m_hdr,film_header.count,str.c_str(),len);
691 }
692 
693 
694 std::string DpxHdr::get_film_format() const
695 {
696  char buf[33];
697  buf[0] = '\0';
698  DPX_GET_TEXT (&m_hdr,film_header.format,buf,32);
699  buf[32] = '\0';
700  return buf;
701 }
702 
703 
704 void DpxHdr::set_film_format(const std::string& str)
705 {
706  int len = (int)(std::min)(str.size()+1, (size_t)32);
707  DPX_SET_TEXT (&m_hdr,film_header.format,str.c_str(),len);
708 }
709 
710 
712 {
713  return (size_t)DPX_GET_U32(&m_hdr,film_header.frame_position);
714 }
715 
716 
718 {
719  DPX_SET_U32(&m_hdr,film_header.frame_position,(uint32_t)pos);
720 }
721 
722 
724 {
725  return (size_t)DPX_GET_U32(&m_hdr,film_header.sequence_len);
726 }
727 
728 
730 {
731  DPX_SET_U32(&m_hdr,film_header.sequence_len,(uint32_t)len);
732 }
733 
734 
736 {
737  return(size_t)DPX_GET_U32(&m_hdr,film_header.held_count);
738 }
739 
740 
741 void DpxHdr::set_film_held_count(size_t count)
742 {
743  DPX_SET_U32(&m_hdr,film_header.held_count,(uint32_t)count);
744 }
745 
746 
748 {
749  return DPX_GET_R32(&m_hdr,film_header.frame_rate);
750 }
751 
752 
754 {
755  DPX_SET_R32(&m_hdr, film_header.frame_rate, len);
756 }
757 
758 
760 {
761  return DPX_GET_R32(&m_hdr,film_header.shutter_angle);
762 }
763 
764 
766 {
767  DPX_SET_R32(&m_hdr,film_header.shutter_angle,angle);
768 }
769 
770 
771 std::string DpxHdr::get_film_frame_id() const
772 {
773  char buf[33];
774  buf[0] = '\0';
775  DPX_GET_TEXT(&m_hdr,film_header.frame_id,buf,32);
776  buf[32] = '\0';
777  return buf;
778 }
779 
780 
781 void DpxHdr::set_film_frame_id(const std::string& str)
782 {
783  int len = (int)(std::min) (str.size()+1, (size_t)32);
784  DPX_SET_TEXT(&m_hdr,film_header.slate_info,str.c_str(),len);
785 }
786 
787 
788 std::string DpxHdr::get_film_slate_info() const
789 {
790  char buf[201];
791  buf[0] = '\0';
792  DPX_GET_TEXT(&m_hdr,film_header.slate_info,buf,200);
793  buf[200] = '\0';
794  return buf;
795 }
796 
797 
798 void DpxHdr::set_film_slate_info(const std::string& str)
799 {
800  int len = (int)(std::min) (str.size()+1, (size_t)200);
801  DPX_SET_TEXT(&m_hdr,film_header.slate_info,str.c_str(),len);
802 }
803 
804 
805 size_t DpxHdr::get_tv_timecode () const
806 {
807  return DPX_GET_U32(&m_hdr,tv_header.tim_code);
808 }
809 
810 
811 void DpxHdr::set_tv_timecode (size_t tc)
812 {
813  DPX_SET_U32(&m_hdr,tv_header.tim_code,(uint32_t)tc);
814 }
815 
816 
818 {
819  return (size_t)DPX_GET_U32(&m_hdr,tv_header.tim_code);
820 }
821 
822 
823 void DpxHdr::set_tv_userbits(size_t ub)
824 {
825  DPX_SET_U32(&m_hdr,tv_header.userBits,(uint32_t)ub);
826 }
827 
828 
830 {
831  return DPX_GET_R32(&m_hdr,tv_header.frame_rate);
832 }
833 
834 
836 {
837  DPX_SET_R32(&m_hdr,tv_header.frame_rate,fr);
838 }
839 
841 {
842  return (DPX_GET_U8(&m_hdr,tv_header.interlace));
843 }
844 
845 void DpxHdr::set_tv_interlace(uint8_t interlace)
846 {
847  DPX_SET_U8(&m_hdr,tv_header.interlace,interlace);
848 }
849 
850 
852 {
853 }
854 
DpxHdr::set_fi_time_stamp
void set_fi_time_stamp()
Definition: dpx_hdr.cpp:170
DpxHdr::set_ie_data_offset
void set_ie_data_offset(uint32_t offs, int i=0)
Definition: dpx_hdr.cpp:503
DpxHdr::get_ie_ref_low_data
size_t get_ie_ref_low_data(int i=0) const
Definition: dpx_hdr.cpp:389
DpxHdr::get_ii_lines
size_t get_ii_lines(void) const
Definition: dpx_hdr.cpp:346
DpxHdr::set_fi_file_size
void set_fi_file_size(size_t offs)
Definition: dpx_hdr.cpp:214
dpx_file_info_struct::magic_num
uint32_t magic_num
Definition: dpx_hdr.h:46
DpxHdr::get_film_slate_info
std::string get_film_slate_info() const
Definition: dpx_hdr.cpp:788
DpxHdr::set_film_held_count
void set_film_held_count(size_t count)
Definition: dpx_hdr.cpp:741
DpxHdr::set_ie_packing
void set_ie_packing(uint16_t pack, int i=0)
Definition: dpx_hdr.cpp:479
DpxHdr::get_fi_file_size
size_t get_fi_file_size() const
Definition: dpx_hdr.cpp:208
DpxHdr::get_ie_encoding
uint16_t get_ie_encoding(int i=0) const
Definition: dpx_hdr.cpp:497
DpxHdr::get_film_count
std::string get_film_count() const
Definition: dpx_hdr.cpp:677
DpxHdr::set_film_sequence_len
void set_film_sequence_len(size_t len)
Definition: dpx_hdr.cpp:729
DpxHdr::get_fi_creator
std::string get_fi_creator() const
Definition: dpx_hdr.cpp:249
DpxHdr::get_film_mfg_id
std::string get_film_mfg_id() const
Definition: dpx_hdr.cpp:607
DpxHdr::get_ie_data_offset
uint32_t get_ie_data_offset(int i=0) const
Definition: dpx_hdr.cpp:509
types.h
Declares common types used in the ajabase library.
DPX_SET_U16
#define DPX_SET_U16(hdr, fld, val)
Definition: dpx_hdr.h:223
DpxHdr::get_is_input_device
std::string get_is_input_device() const
Definition: dpx_hdr.cpp:573
DpxHdr::get_is_filename
std::string get_is_filename() const
Definition: dpx_hdr.cpp:539
DpxHdr::get_film_sequence_len
size_t get_film_sequence_len() const
Definition: dpx_hdr.cpp:723
DpxHdr::set_fi_create_time
void set_fi_create_time(const std::string &str)
Definition: dpx_hdr.cpp:273
DpxHdr::get_ie_data_sign
size_t get_ie_data_sign(int i=0)
Definition: dpx_hdr.cpp:377
DpxHdr::set_ie_bit_size
void set_ie_bit_size(uint8_t bits, int i=0)
Definition: dpx_hdr.cpp:467
DpxHdr::get_fi_version
std::string get_fi_version() const
Definition: dpx_hdr.cpp:219
ntohf
float ntohf(float f)
Definition: dpx_hdr.cpp:47
FloatSwap::i
uint32_t i
Definition: dpx_hdr.cpp:33
DpxHdr::set_film_frame_rate
void set_film_frame_rate(float len)
Definition: dpx_hdr.cpp:753
DpxHdr::set_tv_frame_rate
void set_tv_frame_rate(float fr)
Definition: dpx_hdr.cpp:835
DpxHdr::set_fi_version
void set_fi_version(const std::string &str)
Definition: dpx_hdr.cpp:228
DpxHdr::set_tv_userbits
void set_tv_userbits(size_t tc)
Definition: dpx_hdr.cpp:823
FloatSwap
Definition: dpx_hdr.cpp:31
dpx_get_u16
uint16_t dpx_get_u16(const uint16_t *ptr, bool BE)
Definition: dpx_hdr.cpp:72
DPX_GET_TEXT
#define DPX_GET_TEXT(hdr, fld, buf, len)
Definition: dpx_hdr.h:243
DPX_GET_U8
#define DPX_GET_U8(hdr, fld)
Definition: dpx_hdr.h:230
DpxHdr::get_ie_colorimetric
uint8_t get_ie_colorimetric(int i=0) const
Definition: dpx_hdr.cpp:461
DpxHdr::get_film_frame_position
size_t get_film_frame_position() const
Definition: dpx_hdr.cpp:711
dpx_file_info_struct::s2
struct dpx_file_info_struct::@0::@1 s2
DpxHdr::get_ie_eol_padding
uint32_t get_ie_eol_padding(int i=0) const
Definition: dpx_hdr.cpp:521
DPX_SET_U8
#define DPX_SET_U8(hdr, fld, val)
Definition: dpx_hdr.h:234
dpx_header_struct
Definition: dpx_hdr.h:171
DpxHdr::set_film_type
void set_film_type(const std::string &str)
Definition: dpx_hdr.cpp:634
DpxHdr::get_ie_descriptor
uint8_t get_ie_descriptor(int i=0) const
Definition: dpx_hdr.cpp:437
DpxHdr
Definition: dpx_hdr.h:249
DpxHdr::init
void init(uint32_t endianness)
Definition: dpx_hdr.cpp:116
DpxHdr::get_film_format
std::string get_film_format() const
Definition: dpx_hdr.cpp:694
DpxHdr::set_fi_copyright
void set_fi_copyright(const std::string &str)
Definition: dpx_hdr.cpp:304
DpxHdr::get_ii_orientation
uint16_t get_ii_orientation() const
Definition: dpx_hdr.cpp:317
DpxHdr::set_film_count
void set_film_count(const std::string &str)
Definition: dpx_hdr.cpp:687
SWAP32
#define SWAP32(e, v)
Definition: dpx_hdr.h:24
DpxHdr::set_ie_description
void set_ie_description(const std::string &str, int i=0)
Definition: dpx_hdr.cpp:355
DpxHdr::get_ii_element_number
uint16_t get_ii_element_number() const
Definition: dpx_hdr.cpp:327
DpxHdr::get_ie_bit_size
uint8_t get_ie_bit_size(int i=0) const
Definition: dpx_hdr.cpp:473
DpxHdr::set_ii_element_number
void set_ii_element_number(uint16_t element_number)
Definition: dpx_hdr.cpp:322
DpxHdr::~DpxHdr
~DpxHdr()
Definition: dpx_hdr.cpp:851
DpxHdr::get_ie_eo_image_padding
uint32_t get_ie_eo_image_padding(int i=0) const
Definition: dpx_hdr.cpp:533
DpxHdr::get_fi_time_stamp
std::string get_fi_time_stamp() const
Definition: dpx_hdr.cpp:187
DpxHdr::get_film_shutter_angle
float get_film_shutter_angle() const
Definition: dpx_hdr.cpp:759
DpxHdr::set_ie_ref_high_data
void set_ie_ref_high_data(uint32_t data, int i=0)
Definition: dpx_hdr.cpp:395
DpxHdr::set_film_prefix
void set_film_prefix(const std::string &str)
Definition: dpx_hdr.cpp:669
DpxHdr::get_fi_create_time
std::string get_fi_create_time() const
Definition: dpx_hdr.cpp:264
DpxHdr::set_s2_tcframe
void set_s2_tcframe(uint32_t frame)
Definition: dpx_hdr.cpp:128
DpxHdr::set_ie_transfer
void set_ie_transfer(uint8_t trans, int i=0)
Definition: dpx_hdr.cpp:443
DpxHdr::set_is_filename
void set_is_filename(const std::string &str)
Definition: dpx_hdr.cpp:549
DpxHdr::set_ie_colorimetric
void set_ie_colorimetric(uint8_t c, int i=0)
Definition: dpx_hdr.cpp:455
dpx_set_u32
void dpx_set_u32(uint32_t *ptr, bool BE, uint32_t val)
Definition: dpx_hdr.cpp:65
dpx_header_struct::file_info
DPX_file_info_t file_info
Definition: dpx_hdr.h:173
DpxHdr::set_ie_ref_low_quantity
void set_ie_ref_low_quantity(float data, int i=0)
Definition: dpx_hdr.cpp:407
DpxHdr::set_film_frame_id
void set_film_frame_id(const std::string &str)
Definition: dpx_hdr.cpp:781
DpxHdr::set_is_input_device
void set_is_input_device(const std::string &str)
Definition: dpx_hdr.cpp:583
DpxHdr::valid
bool valid() const
Definition: dpx_hdr.cpp:122
DpxHdr::get_ie_description
std::string get_ie_description(int i=0) const
Definition: dpx_hdr.cpp:361
DpxHdr::set_is_input_serial
void set_is_input_serial(const std::string &str)
Definition: dpx_hdr.cpp:600
DpxHdr::set_ie_encoding
void set_ie_encoding(uint16_t enc, int i=0)
Definition: dpx_hdr.cpp:491
DpxHdr::get_film_frame_id
std::string get_film_frame_id() const
Definition: dpx_hdr.cpp:771
DpxHdr::get_film_held_count
size_t get_film_held_count() const
Definition: dpx_hdr.cpp:735
DpxHdr::get_tv_timecode
size_t get_tv_timecode() const
Definition: dpx_hdr.cpp:805
DpxHdr::set_ie_descriptor
void set_ie_descriptor(uint8_t desc, int i=0)
Definition: dpx_hdr.cpp:431
DpxHdr::set_film_slate_info
void set_film_slate_info(const std::string &str)
Definition: dpx_hdr.cpp:798
DpxHdr::get_s2_tcframe
size_t get_s2_tcframe() const
Definition: dpx_hdr.cpp:134
DpxHdr::set_fi_image_offset
void set_fi_image_offset(size_t offs)
Definition: dpx_hdr.cpp:203
DpxHdr::set_s2_filenumber
void set_s2_filenumber(uint32_t fr)
Definition: dpx_hdr.cpp:146
DpxHdr::get_fi_image_offset
size_t get_fi_image_offset() const
Definition: dpx_hdr.cpp:197
DpxHdr::get_s2_ids
void get_s2_ids(uint8_t *rid, uint8_t *sid, uint8_t *tid) const
Definition: dpx_hdr.cpp:160
DpxHdr::get_film_frame_rate
float get_film_frame_rate() const
Definition: dpx_hdr.cpp:747
DpxHdr::get_is_creation_time
std::string get_is_creation_time() const
Definition: dpx_hdr.cpp:556
DpxHdr::get_ie_packing
uint16_t get_ie_packing(int i=0) const
Definition: dpx_hdr.cpp:485
DpxHdr::set_film_mfg_id
void set_film_mfg_id(const std::string &str)
Definition: dpx_hdr.cpp:617
DpxHdr::get_fi_copyright
std::string get_fi_copyright() const
Definition: dpx_hdr.cpp:295
DpxHdr::set_s2_ids
void set_s2_ids(uint8_t rid, uint8_t sid, uint8_t tid)
Definition: dpx_hdr.cpp:152
DpxHdr::get_s2_filenumber
uint32_t get_s2_filenumber() const
Definition: dpx_hdr.cpp:140
DpxHdr::operator=
DpxHdr & operator=(const DpxHdr &rhs)
Definition: dpx_hdr.cpp:106
dpx_set_r32
void dpx_set_r32(float *ptr, bool BE, float val)
Definition: dpx_hdr.cpp:88
DpxHdr::set_ii_lines
void set_ii_lines(uint32_t lines)
Definition: dpx_hdr.cpp:342
DpxHdr::set_fi_project
void set_fi_project(const std::string &str)
Definition: dpx_hdr.cpp:289
DpxHdr::set_film_shutter_angle
void set_film_shutter_angle(float)
Definition: dpx_hdr.cpp:765
DPX_GET_R32
#define DPX_GET_R32(hdr, fld)
Definition: dpx_hdr.h:207
FloatSwap::f
float f
Definition: dpx_hdr.cpp:34
DpxHdr::set_film_offset
void set_film_offset(const std::string &str)
Definition: dpx_hdr.cpp:652
DpxHdr::get_tv_frame_rate
float get_tv_frame_rate() const
Definition: dpx_hdr.cpp:829
DpxHdr::get_tv_userbits
size_t get_tv_userbits() const
Definition: dpx_hdr.cpp:817
DpxHdr::get_ie_ref_high_quantity
float get_ie_ref_high_quantity(int i=0) const
Definition: dpx_hdr.cpp:425
DpxHdr::get_film_prefix
std::string get_film_prefix() const
Definition: dpx_hdr.cpp:659
DpxHdr::get_film_offset
std::string get_film_offset() const
Definition: dpx_hdr.cpp:641
dpx_set_u16
void dpx_set_u16(uint16_t *ptr, bool BE, uint16_t val)
Definition: dpx_hdr.cpp:81
DpxHdr::get_ie_ref_low_quantity
float get_ie_ref_low_quantity(int i=0) const
Definition: dpx_hdr.cpp:413
DPX_SET_R32
#define DPX_SET_R32(hdr, fld, val)
Definition: dpx_hdr.h:212
DpxHdr::set_ie_eo_image_padding
void set_ie_eo_image_padding(uint32_t padding, int i=0)
Definition: dpx_hdr.cpp:527
DpxHdr::get_is_input_serial
std::string get_is_input_serial() const
Definition: dpx_hdr.cpp:590
DpxHdr::set_ii_pixels
void set_ii_pixels(uint32_t pixels)
Definition: dpx_hdr.cpp:332
DpxHdr::set_is_creation_time
void set_is_creation_time(const std::string &str)
Definition: dpx_hdr.cpp:566
dpx_get_u32
uint32_t dpx_get_u32(const uint32_t *ptr, bool BE)
Definition: dpx_hdr.cpp:57
DPX_GET_U32
#define DPX_GET_U32(hdr, fld)
Definition: dpx_hdr.h:195
dpx_get_r32
float dpx_get_r32(const float *ptr, bool BE)
Definition: dpx_hdr.cpp:95
DPX_VALID
#define DPX_VALID(p)
Definition: dpx_hdr.h:30
DpxHdr::get_ii_pixels
size_t get_ii_pixels() const
Definition: dpx_hdr.cpp:337
dpx_hdr.h
Declaration of DpxHdr class adapted from STwo's dpx file I/O.
DpxHdr::get_fi_file_name
std::string get_fi_file_name() const
Definition: dpx_hdr.cpp:234
DpxHdr::set_fi_creator
void set_fi_creator(const std::string &str)
Definition: dpx_hdr.cpp:258
DpxHdr::set_ie_ref_low_data
void set_ie_ref_low_data(uint32_t data, int i=0)
Definition: dpx_hdr.cpp:383
DpxHdr::set_film_frame_position
void set_film_frame_position(size_t pos)
Definition: dpx_hdr.cpp:717
DpxHdr::get_tv_interlace
uint8_t get_tv_interlace() const
Definition: dpx_hdr.cpp:840
DPX_SET_TEXT
#define DPX_SET_TEXT(hdr, fld, buf, len)
Definition: dpx_hdr.h:238
DpxHdr::get_ie_ref_high_data
size_t get_ie_ref_high_data(int i=0) const
Definition: dpx_hdr.cpp:401
DpxHdr::set_ie_ref_high_quantity
void set_ie_ref_high_quantity(float data, int i=0)
Definition: dpx_hdr.cpp:419
DpxHdr::get_ie_transfer
uint8_t get_ie_transfer(int i=0) const
Definition: dpx_hdr.cpp:449
DpxHdr::set_tv_interlace
void set_tv_interlace(uint8_t interlace)
Definition: dpx_hdr.cpp:845
DpxHdr::set_ii_orientation
void set_ii_orientation(uint16_t orientation)
Definition: dpx_hdr.cpp:312
DpxHdr::set_ie_eol_padding
void set_ie_eol_padding(uint32_t padding, int i=0)
Definition: dpx_hdr.cpp:515
SWAPR32
#define SWAPR32(e, v)
Definition: dpx_hdr.h:25
dpx_file_info_struct::resv
union dpx_file_info_struct::@0 resv
DpxHdr::set_ie_data_sign
void set_ie_data_sign(uint32_t sign, int i=0)
Definition: dpx_hdr.cpp:371
DpxHdr::get_film_type
std::string get_film_type() const
Definition: dpx_hdr.cpp:624
DPX_GET_U16
#define DPX_GET_U16(hdr, fld)
Definition: dpx_hdr.h:218
SWAP16
#define SWAP16(e, v)
Definition: dpx_hdr.h:23
DpxHdr::set_fi_file_name
void set_fi_file_name(const std::string &str)
Definition: dpx_hdr.cpp:243
DpxHdr::set_tv_timecode
void set_tv_timecode(size_t tc)
Definition: dpx_hdr.cpp:811
DPX_SET_U32
#define DPX_SET_U32(hdr, fld, val)
Definition: dpx_hdr.h:200
htonf
float htonf(float f)
Definition: dpx_hdr.cpp:38
DpxHdr::get_fi_project
std::string get_fi_project() const
Definition: dpx_hdr.cpp:280
DpxHdr::set_film_format
void set_film_format(const std::string &str)
Definition: dpx_hdr.cpp:704