Doxygen Source Code Documentation
video_out_pgm.c File Reference
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include "video_out.h"
Go to the source code of this file.
Data Structures | |
struct | pgm_instance_t |
Functions | |
void | internal_draw_frame (pgm_instance_t *instance, FILE *file, uint8_t *const *buf) |
void | pgm_draw_frame (vo_instance_t *_instance, uint8_t *const *buf, void *id) |
int | pgm_setup (vo_instance_t *_instance, int width, int height, vo_setup_result_t *result) |
vo_instance_t * | internal_open (void draw(vo_instance_t *, uint8_t *const *, void *)) |
vo_instance_t * | vo_pgm_open (void) |
void | pgmpipe_draw_frame (vo_instance_t *_instance, uint8_t *const *buf, void *id) |
vo_instance_t * | vo_pgmpipe_open (void) |
void | md5_draw_frame (vo_instance_t *_instance, uint8_t *const *buf, void *id) |
vo_instance_t * | vo_md5_open (void) |
Function Documentation
|
Definition at line 42 of file video_out_pgm.c. References file, pgm_instance_t::header, pgm_instance_t::height, i, uint8_t, and pgm_instance_t::width. Referenced by pgm_draw_frame(), and pgmpipe_draw_frame().
00044 { 00045 int i; 00046 00047 fwrite (instance->header, strlen (instance->header), 1, file); 00048 fwrite (buf[0], instance->width, instance->height, file); 00049 for (i = 0; i < instance->height >> 1; i++) { 00050 fwrite (buf[1] + i * (instance->width >> 1), instance->width >> 1, 1, 00051 file); 00052 fwrite (buf[2] + i * (instance->width >> 1), instance->width >> 1, 1, 00053 file); 00054 } 00055 } |
|
Definition at line 86 of file video_out_pgm.c. References vo_instance_s::close, vo_instance_s::discard, vo_instance_s::draw, pgm_instance_t::framenum, malloc, pgm_setup(), vo_instance_s::set_fbuf, vo_instance_s::setup, vo_instance_s::setup_fbuf, vo_instance_s::start_fbuf, uint8_t, and pgm_instance_t::vo. Referenced by vo_md5_open(), vo_null_open(), vo_nullrgb16_open(), vo_nullrgb32_open(), vo_nullslice_open(), vo_pgm_open(), and vo_pgmpipe_open().
00088 { 00089 pgm_instance_t * instance; 00090 00091 instance = (pgm_instance_t *) malloc (sizeof (pgm_instance_t)); 00092 if (instance == NULL) 00093 return NULL; 00094 00095 instance->vo.setup = pgm_setup; 00096 instance->vo.setup_fbuf = NULL; 00097 instance->vo.set_fbuf = NULL; 00098 instance->vo.start_fbuf = NULL; 00099 instance->vo.draw = draw; 00100 instance->vo.discard = NULL; 00101 instance->vo.close = NULL; 00102 instance->framenum = 0; 00103 00104 return (vo_instance_t *) instance; 00105 } |
|
Definition at line 126 of file video_out_pgm.c. References pgm_instance_t::filename, pgm_draw_frame(), and uint8_t. Referenced by vo_md5_open().
00128 { 00129 pgm_instance_t * instance; 00130 char command[100]; 00131 00132 instance = (pgm_instance_t *) _instance; 00133 pgm_draw_frame (_instance, buf, id); 00134 sprintf (command, "md5sum -b %s", instance->filename); 00135 system (command); 00136 remove (instance->filename); 00137 } |
|
Definition at line 57 of file video_out_pgm.c. References file, pgm_instance_t::filename, pgm_instance_t::framenum, internal_draw_frame(), and uint8_t. Referenced by md5_draw_frame(), and vo_pgm_open().
00059 { 00060 pgm_instance_t * instance; 00061 FILE * file; 00062 00063 instance = (pgm_instance_t *) _instance; 00064 sprintf (instance->filename, "%d.pgm", instance->framenum++); 00065 file = fopen (instance->filename, "wb"); 00066 if (!file) 00067 return; 00068 internal_draw_frame (instance, file, buf); 00069 fclose (file); 00070 } |
|
Definition at line 72 of file video_out_pgm.c. References vo_setup_result_t::convert, pgm_instance_t::header, pgm_instance_t::height, and pgm_instance_t::width. Referenced by internal_open().
00074 { 00075 pgm_instance_t * instance; 00076 00077 instance = (pgm_instance_t *) _instance; 00078 00079 instance->width = width; 00080 instance->height = height; 00081 sprintf (instance->header, "P5\n%d %d\n255\n", width, height * 3 / 2); 00082 result->convert = NULL; 00083 return 0; 00084 } |
|
Definition at line 112 of file video_out_pgm.c. References internal_draw_frame(), and uint8_t. Referenced by vo_pgmpipe_open().
00114 { 00115 pgm_instance_t * instance; 00116 00117 instance = (pgm_instance_t *) _instance; 00118 internal_draw_frame (instance, stdout, buf); 00119 } |
|
Definition at line 139 of file video_out_pgm.c. References internal_open(), and md5_draw_frame().
00140 { 00141 return internal_open (md5_draw_frame); 00142 } |
|
Definition at line 107 of file video_out_pgm.c. References internal_open(), and pgm_draw_frame().
00108 { 00109 return internal_open (pgm_draw_frame); 00110 } |
|
Definition at line 121 of file video_out_pgm.c. References internal_open(), and pgmpipe_draw_frame().
00122 { 00123 return internal_open (pgmpipe_draw_frame); 00124 } |