Lines Matching refs:ctx

121     CamSource *ctx;  in camera_source_init()  local
123 ctx = mpp_calloc(CamSource, 1); in camera_source_init()
124 if (!ctx) in camera_source_init()
127 ctx->bufcnt = bufcnt; in camera_source_init()
128 ctx->fd = open(device, O_RDWR | O_CLOEXEC, 0); in camera_source_init()
129 if (ctx->fd < 0) { in camera_source_init()
138 while (!camera_source_ioctl(ctx->fd, VIDIOC_ENUMINPUT, &input)) { in camera_source_init()
145 if (0 != camera_source_ioctl(ctx->fd, VIDIOC_QUERYCAP, &cap)) { in camera_source_init()
175 while (!camera_source_ioctl(ctx->fd, VIDIOC_ENUM_FMT, &fmtdesc)) { in camera_source_init()
194 ctx->type = vfmt.type; in camera_source_init()
196 if (-1 == camera_source_ioctl(ctx->fd, VIDIOC_S_FMT, &vfmt)) { in camera_source_init()
201 if (-1 == camera_source_ioctl(ctx->fd, VIDIOC_G_FMT, &vfmt)) { in camera_source_init()
210 req.count = ctx->bufcnt; in camera_source_init()
213 if (-1 == camera_source_ioctl(ctx->fd, VIDIOC_REQBUFS, &req)) { in camera_source_init()
218 if (req.count != ctx->bufcnt) { in camera_source_init()
224 for (i = 0 ; i < ctx->bufcnt; i++) { in camera_source_init()
235 if (-1 == camera_source_ioctl(ctx->fd, VIDIOC_QUERYBUF, &buf)) { in camera_source_init()
243 ctx->fbuf[i].start = in camera_source_init()
248 ctx->fd, buf.m.planes[0].m.mem_offset); in camera_source_init()
251 ctx->fbuf[i].start = in camera_source_init()
256 ctx->fd, buf.m.offset); in camera_source_init()
258 if (MAP_FAILED == ctx->fbuf[i].start) { in camera_source_init()
263 ctx->fbuf[i].length = buf_len; // record buffer length for unmap in camera_source_init()
270 if (camera_source_ioctl(ctx->fd, VIDIOC_EXPBUF, &expbuf) < 0) { in camera_source_init()
281 mpp_buffer_import(&ctx->fbuf[i].buffer, &info); in camera_source_init()
283 ctx->fbuf[i].export_fd = expbuf.fd; in camera_source_init()
286 for (i = 0; i < ctx->bufcnt; i++ ) { in camera_source_init()
299 if (-1 == camera_source_ioctl(ctx->fd, VIDIOC_QBUF, &buf)) { in camera_source_init()
306 if (-1 == camera_source_ioctl(ctx->fd, VIDIOC_STREAMON, &type)) { in camera_source_init()
312 for (i = 0; i < ctx->bufcnt; i++ ) { in camera_source_init()
313 RK_S32 idx = camera_source_get_frame(ctx); in camera_source_init()
315 camera_source_put_frame(ctx, idx); in camera_source_init()
318 return ctx; in camera_source_init()
321 camera_source_deinit(ctx); in camera_source_init()
327 MPP_RET camera_source_deinit(CamSource *ctx) in camera_source_deinit() argument
333 if (NULL == ctx) in camera_source_deinit()
336 if (ctx->fd < 0) in camera_source_deinit()
340 type = ctx->type; in camera_source_deinit()
342 camera_source_ioctl(ctx->fd, VIDIOC_STREAMOFF, &type); in camera_source_deinit()
345 for (i = 0 ; i < ctx->bufcnt; i++) { in camera_source_deinit()
350 camera_source_ioctl(ctx->fd, VIDIOC_QUERYBUF, &buf); in camera_source_deinit()
351 if (ctx->fbuf[buf.index].buffer) { in camera_source_deinit()
352 mpp_buffer_put(ctx->fbuf[buf.index].buffer); in camera_source_deinit()
354 munmap(ctx->fbuf[buf.index].start, ctx->fbuf[buf.index].length); in camera_source_deinit()
355 close(ctx->fbuf[i].export_fd); in camera_source_deinit()
359 close(ctx->fd); in camera_source_deinit()
360 MPP_FREE(ctx); in camera_source_deinit()
365 RK_S32 camera_source_get_frame(CamSource *ctx) in camera_source_get_frame() argument
370 type = ctx->type; in camera_source_get_frame()
381 if (-1 == camera_source_ioctl(ctx->fd, VIDIOC_DQBUF, &buf)) { in camera_source_get_frame()
386 if (buf.index > ctx->bufcnt) { in camera_source_get_frame()
398 MPP_RET camera_source_put_frame(CamSource *ctx, RK_S32 idx) in camera_source_put_frame() argument
406 type = ctx->type; in camera_source_put_frame()
419 if (-1 == camera_source_ioctl(ctx->fd, VIDIOC_QBUF, &buf)) { in camera_source_put_frame()
427 MppBuffer camera_frame_to_buf(CamSource *ctx, RK_S32 idx) in camera_frame_to_buf() argument
434 buf = ctx->fbuf[idx].buffer; in camera_frame_to_buf()