Home | History | Annotate | Download | only in dvr
      1 #ifndef ANDROID_DVR_VSYNC_H_
      2 #define ANDROID_DVR_VSYNC_H_
      3 
      4 #include <stdint.h>
      5 #include <sys/cdefs.h>
      6 
      7 __BEGIN_DECLS
      8 
      9 // Represents a vsync sample. The size of this struct is 32 bytes.
     10 typedef struct __attribute__((packed, aligned(16))) DvrVsync {
     11   // The timestamp for the last vsync in nanoseconds.
     12   uint64_t vsync_timestamp_ns;
     13 
     14   // The index of the last vsync.
     15   uint32_t vsync_count;
     16 
     17   // Scan out for the left eye = vsync_timestamp_ns + vsync_left_eye_offset_ns.
     18   int32_t vsync_left_eye_offset_ns;
     19 
     20   // Scan out for the right eye = vsync_timestamp_ns + vsync_right_eye_offset_ns
     21   int32_t vsync_right_eye_offset_ns;
     22 
     23   // The period of a vsync in nanoseconds.
     24   uint32_t vsync_period_ns;
     25 
     26   // Padding to 32 bytes so the size is a multiple of 16.
     27   uint8_t padding[8];
     28 } DvrVsync;
     29 
     30 __END_DECLS
     31 
     32 #endif  // ANDROID_DVR_VSYNC_H_
     33