void setup_request(ntp_message *p){ struct timeval t; memset(p, 0, sizeof(ntp_message)); LI_SET(p->flags, LI_ALARM); VN_SET(p->flags, 4); MODE_SET(p->flags, MODE_CLIENT); p->poll=4; p->precision=(int8_t)0xfa; L16(p->rtdelay)=htons(1); L16(p->rtdisp)=htons(1); gettimeofday(&t, NULL); TVtoNTP64(t,p->txts); }
TextureFormat const * TextureFormat::fromImageType(AbstractImage::Type type, bool is_depth) { if (is_depth) { switch (type) { case AbstractImage::Type::LUMINANCE_16U : return DEPTH16(); case AbstractImage::Type::LUMINANCE_32U : return DEPTH32(); case AbstractImage::Type::LUMINANCE_32F : return DEPTH32F(); default: throw Error("TextureFormat: No supported depth texture format corresponds to the specified image format"); } } enum { COLOR_ORDER_RGB, COLOR_ORDER_BGR } color_order; color_order = (AbstractImage::Channel::RED < AbstractImage::Channel::BLUE ? COLOR_ORDER_RGB : COLOR_ORDER_BGR); switch (type) { case AbstractImage::Type::LUMINANCE_8U : return L8(); case AbstractImage::Type::LUMINANCE_16U : return L16(); case AbstractImage::Type::LUMINANCE_32F : return L32F(); case AbstractImage::Type::RGB_8U : return color_order == COLOR_ORDER_RGB ? RGB8() : BGR8(); case AbstractImage::Type::RGBA_8U : return color_order == COLOR_ORDER_RGB ? RGBA8() : BGRA8(); case AbstractImage::Type::RGB_16U : return color_order == COLOR_ORDER_RGB ? RGB16() : BGR16(); case AbstractImage::Type::RGBA_16U : return color_order == COLOR_ORDER_RGB ? RGBA16() : BGRA16(); case AbstractImage::Type::RGB_32F : return color_order == COLOR_ORDER_RGB ? RGB32F() : BGR32F(); case AbstractImage::Type::RGBA_32F : return color_order == COLOR_ORDER_RGB ? RGBA32F() : BGRA32F(); default: throw Error("TextureFormat: No supported texture format corresponds to the specified image format"); } }
void idt_dev_get_info(int fd, idt_dev_info_t* info) { uint32_t data; memset(info, 0, sizeof(idt_dev_info_t)); data = idt_reg_r32(fd, IDTR_DEV_IDENT_CAR); info->dev_id = H16(data); info->vendor_id = L16(data); data = idt_reg_r32(fd, IDTR_DEV_INF_CAR); info->major = (data >> DS2CPU(10)) & 0x03; info->minor = (data >> DS2CPU(15)) & 0x1f; }
TextureFormat const * TextureFormat::fromCode(Code code) { switch (code) { case Code::L8: return L8(); case Code::L16: return L16(); case Code::L16F: return L16F(); case Code::L32F: return L32F(); case Code::A8: return A8(); case Code::A16: return A16(); case Code::A16F: return A16F(); case Code::A32F: return A32F(); case Code::LA4: return LA4(); case Code::LA8: return LA8(); case Code::LA16: return LA16(); case Code::LA16F: return LA16F(); break; case Code::LA32F: return LA32F(); case Code::RGB5: return RGB5(); case Code::RGB5A1: return RGB5A1(); case Code::RGB8: return RGB8(); case Code::RGB10: return RGB10(); case Code::RGB10A2: return RGB10A2(); case Code::RGB16: return RGB16(); case Code::RGB32F: return RGB32F(); case Code::R11G11B10F: return R11G11B10F(); case Code::RGB9E5F: return RGB9E5F(); case Code::RGB8I: return RGB8I(); case Code::RGB8UI: return RGB8UI(); case Code::ARGB8: return NULL; case Code::BGR8: return BGR8(); case Code::BGRA8: return BGRA8(); case Code::BGR16: return BGR16(); case Code::BGRA16: return BGRA16(); case Code::BGR32F: return BGR32F(); case Code::BGRA32F: return BGRA32F(); case Code::R8: return R8(); case Code::RG8: return RG8(); case Code::RG8I: return RG8I(); case Code::RG8UI: return RG8UI(); case Code::RG16F: return RG16F(); case Code::RGBA8: return RGBA8(); case Code::RGBA16: return RGBA16(); case Code::RGBA16F: return RGBA16F(); case Code::RGBA32F: return RGBA32F(); case Code::RGBA32UI: return RGBA32UI(); case Code::BAYER_RGGB8: // TODO case Code::BAYER_GRBG8: // TODO case Code::BAYER_GBRG8: // TODO case Code::BAYER_BGGR8: // TODO case Code::BAYER_RGGB32F: // TODO case Code::BAYER_GRBG32F: // TODO case Code::BAYER_GBRG32F: // TODO case Code::BAYER_BGGR32F: // TODO case Code::HSV8: // TODO case Code::HSV32F: // TODO return NULL; break; case Code::RGB_DXT1: return RGB_DXT1(); break; case Code::RGBA_DXT1: return RGBA_DXT1(); break; case Code::RGBA_DXT3: return RGBA_DXT3(); break; case Code::RGBA_DXT5: return RGBA_DXT5(); break; case Code::SRGB8: return SRGB8(); break; case Code::SRGBA8: return SRGBA8(); break; case Code::SL8: return SL8(); break; case Code::SLA8: return SLA8(); break; case Code::SRGB_DXT1: return SRGB_DXT1(); break; case Code::SRGBA_DXT1: return SRGBA_DXT1(); break; case Code::SRGBA_DXT3: return SRGBA_DXT3(); break; case Code::SRGBA_DXT5: return SRGBA_DXT5(); break; case Code::DEPTH16: return DEPTH16(); break; case Code::DEPTH24: return DEPTH24(); break; case Code::DEPTH32: return DEPTH32(); break; case Code::DEPTH32F: return DEPTH32F(); break; case Code::STENCIL1: return STENCIL1(); break; case Code::STENCIL4: return STENCIL4(); break; case Code::STENCIL8: return STENCIL8(); break; case Code::STENCIL16: return STENCIL16(); break; case Code::DEPTH24_STENCIL8: return DEPTH24_STENCIL8(); break; case Code::YUV420_PLANAR: return YUV420_PLANAR(); break; case Code::YUV422: return YUV422(); break; case Code::YUV444: return YUV444(); break; default: return NULL; } }