• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/libav-0.8.8/libavdevice/

Lines Matching refs:fbdev

27  * @see http://linux-fbdev.sourceforge.net/
101 FBDevContext *fbdev = avctx->priv_data;
106 ret = av_parse_video_rate(&fbdev->framerate_q, fbdev->framerate);
108 av_log(avctx, AV_LOG_ERROR, "Could not parse framerate '%s'.\n", fbdev->framerate);
116 /* NONBLOCK is ignored by the fbdev driver, only set for consistency */
120 if ((fbdev->fd = open(avctx->filename, flags)) == -1) {
128 if (ioctl(fbdev->fd, FBIOGET_VSCREENINFO, &fbdev->varinfo) < 0) {
135 if (ioctl(fbdev->fd, FBIOGET_FSCREENINFO, &fbdev->fixinfo) < 0) {
142 pix_fmt = get_pixfmt_from_fb_varinfo(&fbdev->varinfo);
150 fbdev->width = fbdev->varinfo.xres;
151 fbdev->height = fbdev->varinfo.yres;
152 fbdev->bytes_per_pixel = (fbdev->varinfo.bits_per_pixel + 7) >> 3;
153 fbdev->frame_linesize = fbdev->width * fbdev->bytes_per_pixel;
154 fbdev->frame_size = fbdev->frame_linesize * fbdev->height;
155 fbdev->time_frame = AV_NOPTS_VALUE;
156 fbdev->data = mmap(NULL, fbdev->fixinfo.smem_len, PROT_READ, MAP_SHARED, fbdev->fd, 0);
157 if (fbdev->data == MAP_FAILED) {
165 st->codec->width = fbdev->width;
166 st->codec->height = fbdev->height;
168 st->codec->time_base = (AVRational){fbdev->framerate_q.den, fbdev->framerate_q.num};
170 fbdev->width * fbdev->height * fbdev->bytes_per_pixel * av_q2d(fbdev->framerate_q) * 8;
174 fbdev->width, fbdev->height, fbdev->varinfo.bits_per_pixel,
176 fbdev->framerate_q.num, fbdev->framerate_q.den,
181 close(fbdev->fd);
187 FBDevContext *fbdev = avctx->priv_data;
193 if (fbdev->time_frame == AV_NOPTS_VALUE)
194 fbdev->time_frame = av_gettime();
198 delay = fbdev->time_frame - curtime;
201 fbdev->time_frame, curtime, delay);
210 fbdev->time_frame += INT64_C(1000000) / av_q2d(fbdev->framerate_q);
212 if ((ret = av_new_packet(pkt, fbdev->frame_size)) < 0)
215 /* refresh fbdev->varinfo, visible data position may change at each call */
216 if (ioctl(fbdev->fd, FBIOGET_VSCREENINFO, &fbdev->varinfo) < 0)
223 pin = fbdev->data + fbdev->bytes_per_pixel * fbdev->varinfo.xoffset +
224 fbdev->varinfo.yoffset * fbdev->fixinfo.line_length;
228 for (i = 0; i < fbdev->height; i++) {
229 memcpy(pout, pin, fbdev->frame_linesize);
230 pin += fbdev->fixinfo.line_length;
231 pout += fbdev->frame_linesize;
234 return fbdev->frame_size;
239 FBDevContext *fbdev = avctx->priv_data;
241 munmap(fbdev->data, fbdev->frame_size);
242 close(fbdev->fd);
255 .class_name = "fbdev indev",
262 .name = "fbdev",