LiVES 1.3.11-svn
|
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