void allo_array_adapt2d( AlloArray * arr, uint8_t components, AlloTy type, uint32_t dimx, uint32_t dimy, size_t align ) { AlloArrayHeader header; header.type = type; header.components = components; allo_array_setdim2d(&header, dimx, dimy); allo_array_setstride(&header, align); allo_array_adapt(arr, &header); }
Video :: Video() : mImpl(NULL), mFrame(NULL) { mFrame = new al::ArrayWrapper(1); // default header AlloArrayHeader h; h.components = 4; h.type = AlloUInt8Ty; h.dimcount = 2; h.dim[0] = 16; h.dim[1] = 16; allo_array_setstride(&h, 1); allo_array_adapt(mFrame, &h); memset(mFrame->data.ptr, '\0', allo_array_size(mFrame)); }
VideoCamera :: VideoCamera() : mImpl(NULL), mFrame(NULL), mFormat(PIX_FMT_RGB), mWidth(1), mHeight(1), mOpen(false) { mFrame = new al::ArrayWrapper(1); // default header AlloArrayHeader h; h.components = 4; h.type = AlloUInt8Ty; h.dimcount = 2; h.dim[0] = 16; h.dim[1] = 16; allo_array_setstride(&h, 1); allo_array_adapt(mFrame, &h); memset(mFrame->data.ptr, '\0', allo_array_size(mFrame)); }
void allo_array_copy(AlloArray *dst, AlloArray *src){ allo_array_adapt(dst, &(src->header)); memcpy(dst->data.ptr, src->data.ptr, allo_array_size(src)); }