Instrument Neutral Distributed Interface INDI  2.0.2
Namespaces | Macros
v4l2_base.cpp File Reference
#include "v4l2_base.h"
#include "ccvt.h"
#include "eventloop.h"
#include "indidevapi.h"
#include "indilogger.h"
#include "lilxml.h"
#include "pwc-ioctl.h"
#include <iostream>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <assert.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <cerrno>
#include <sys/mman.h>
#include <cstring>
#include <ctime>
#include <cmath>
#include <sys/time.h>

Go to the source code of this file.

Namespaces

 INDI
 Namespace to encapsulate INDI client, drivers, and mediator classes.
 

Macros

#define ERRMSGSIZ   1024
 
#define CLEAR(x)   memset(&(x), 0, sizeof(x))
 
#define XIOCTL(fd, ioctl, arg)   xioctl(fd, ioctl, arg, #ioctl)
 
#define DBG_STR_PIX   "%c%c%c%c"
 
#define DBG_PIX(pf)   ((pf) >> 0) & 0xFF, ((pf) >> 8) & 0xFF, ((pf) >> 16) & 0xFF, ((pf) >> 24) & 0xFF
 
#define DBG_STR_FLAGS   "...%c .%c%c%c %c%c.%c .%c%c%c %c%c%c%c"
 
#define DBG_FLAGS(b)
 
#define DBG_STR_FMT   "%ux%u " DBG_STR_PIX " %scompressed (%ssupported)"
 
#define DBG_FMT(f)
 
#define DBG_STR_BUF   "#%d " DBG_STR_FLAGS " % 7d bytes %4.4s seq %d:%d stamp %ld.%06ld"
 
#define DBG_BUF(b)
 

Macro Definition Documentation

◆ CLEAR

#define CLEAR (   x)    memset(&(x), 0, sizeof(x))

Definition at line 60 of file v4l2_base.cpp.

◆ DBG_BUF

#define DBG_BUF (   b)
Value:
(b).index, DBG_FLAGS(b), (b).bytesused, \
((b).memory == V4L2_MEMORY_MMAP) ? \
"mmap" : \
((b).memory == V4L2_MEMORY_USERPTR) ? "uptr" : \
((b).memory == 4 /* kernel 3.8.0: V4L2_MEMORY_DMABUF */) ? \
"dma" : \
((b).memory == V4L2_MEMORY_OVERLAY) ? "over" : "", \
(b).sequence, (b).field, (b).timestamp.tv_sec, (b).timestamp.tv_usec
#define DBG_FLAGS(b)
Definition: v4l2_base.cpp:76

Definition at line 110 of file v4l2_base.cpp.

◆ DBG_FLAGS

#define DBG_FLAGS (   b)
Value:
/* 0x00010000 */ ((b).flags & V4L2_BUF_FLAG_TSTAMP_SRC_SOE) ? 'S' : 'E', \
/* 0x00004000 */ ((b).flags & V4L2_BUF_FLAG_TIMESTAMP_COPY) ? 'c' : '.', \
/* 0x00002000 */ ((b).flags & V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC) ? 'm' : '.', \
/* 0x00001000 */ ((b).flags & V4L2_BUF_FLAG_NO_CACHE_CLEAN) ? 'C' : '.', \
/* 0x00000800 */ ((b).flags & V4L2_BUF_FLAG_NO_CACHE_INVALIDATE) ? 'I' : '.', \
/* 0x00000400 */ ((b).flags & V4L2_BUF_FLAG_PREPARED) ? 'p' : '.', \
/* 0x00000100 */ ((b).flags & V4L2_BUF_FLAG_TIMECODE) ? 'T' : '.', \
/* 0x00000040 */ ((b).flags & V4L2_BUF_FLAG_ERROR) ? 'E' : '.', \
/* 0x00000020 */ ((b).flags & V4L2_BUF_FLAG_BFRAME) ? 'B' : '.', \
/* 0x00000010 */ ((b).flags & V4L2_BUF_FLAG_PFRAME) ? 'P' : '.', \
/* 0x00000008 */ ((b).flags & V4L2_BUF_FLAG_KEYFRAME) ? 'K' : '.', \
/* 0x00000004 */ ((b).flags & V4L2_BUF_FLAG_DONE) ? 'd' : '.', \
/* 0x00000002 */ ((b).flags & V4L2_BUF_FLAG_QUEUED) ? 'q' : '.', \
/* 0x00000001 */ ((b).flags & V4L2_BUF_FLAG_MAPPED) ? 'm' : '.'

Definition at line 76 of file v4l2_base.cpp.

◆ DBG_FMT

#define DBG_FMT (   f)
Value:
(f).fmt.pix.width, (f).fmt.pix.height, DBG_PIX((f).fmt.pix.pixelformat), \
((f).fmt.pix.flags & V4L2_FMT_FLAG_COMPRESSED) ? "" : "un", \
(decoder->issupportedformat((f).fmt.pix.pixelformat) ? "" : "un")
#define DBG_PIX(pf)
Definition: v4l2_base.cpp:65

Definition at line 98 of file v4l2_base.cpp.

◆ DBG_PIX

#define DBG_PIX (   pf)    ((pf) >> 0) & 0xFF, ((pf) >> 8) & 0xFF, ((pf) >> 16) & 0xFF, ((pf) >> 24) & 0xFF

Definition at line 65 of file v4l2_base.cpp.

◆ DBG_STR_BUF

#define DBG_STR_BUF   "#%d " DBG_STR_FLAGS " % 7d bytes %4.4s seq %d:%d stamp %ld.%06ld"

Definition at line 109 of file v4l2_base.cpp.

◆ DBG_STR_FLAGS

#define DBG_STR_FLAGS   "...%c .%c%c%c %c%c.%c .%c%c%c %c%c%c%c"

Definition at line 75 of file v4l2_base.cpp.

◆ DBG_STR_FMT

#define DBG_STR_FMT   "%ux%u " DBG_STR_PIX " %scompressed (%ssupported)"

Definition at line 97 of file v4l2_base.cpp.

◆ DBG_STR_PIX

#define DBG_STR_PIX   "%c%c%c%c"

Definition at line 64 of file v4l2_base.cpp.

◆ ERRMSGSIZ

#define ERRMSGSIZ   1024

Definition at line 58 of file v4l2_base.cpp.

◆ XIOCTL

#define XIOCTL (   fd,
  ioctl,
  arg 
)    xioctl(fd, ioctl, arg, #ioctl)

Definition at line 62 of file v4l2_base.cpp.