LiVES 1.4.9

src/lives-yuv4mpeg.h

Go to the documentation of this file.
00001 // yuv4mpeg.h
00002 // LiVES (lives-exe)
00003 // (c) G. Finch 2004 - 2010
00004 // released under the GNU GPL 3 or later
00005 // see file ../COPYING or www.gnu.org for licensing details
00006 
00007 
00008 #ifndef YUV4MPEG_H
00009 #define YUV4MPEG_H
00010 
00011 #include <yuv4mpeg.h>
00012 
00013 #define YUV4_TYPE_GENERIC 0
00014 #define YUV4_TYPE_FW 1
00015 #define YUV4_TYPE_TV 2
00016 
00017 
00018 typedef struct {
00019   gint type;
00020   gint cardno;
00021   y4m_stream_info_t streaminfo;
00022   y4m_frame_info_t frameinfo;
00023   y4m_ratio_t sar;
00024   y4m_ratio_t dar;
00025   gchar *name;
00026   gchar *filename;
00027   int fd;
00028   gint hsize;
00029   gint vsize;
00030   void **pixel_data;
00031   gboolean ready;
00032 } lives_yuv4m_t;
00033 
00034 void weed_layer_set_from_yuv4m (weed_plant_t *layer, file *);
00035 
00036 // callbacks
00037 void on_open_yuv4m_activate (GtkMenuItem *, gpointer);
00038 void on_live_tvcard_activate (GtkMenuItem *, gpointer);
00039 void on_live_fw_activate (GtkMenuItem *, gpointer);
00040 
00041 void lives_yuv_stream_stop_read (lives_yuv4m_t *);
00042 
00043 
00045 gboolean lives_yuv_stream_start_write (lives_yuv4m_t *, const gchar *filename, gint hsize, gint vsize, gdouble fps);
00046 gboolean lives_yuv_stream_write_frame (lives_yuv4m_t *, void *pixel_data);
00047 void lives_yuv_stream_stop_write (lives_yuv4m_t *);
00048 
00049 
00050 typedef struct {
00051   GtkWidget *dialog;
00052   GtkWidget *card_spin;
00053   GtkWidget * channel_spin;
00054 } lives_card_w;
00055 
00056 
00057 
00058 
00059 #endif
00060 
00061 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines