1 /* 2 * pvm_parser.h 3 * 4 * Copyright (C) Marzio Malanchini - August 2003 5 * 6 * This file is part of transcode, a video stream processing tool 7 * 8 * transcode is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2, or (at your option) 11 * any later version. 12 * 13 * transcode is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with GNU Make; see the file COPYING. If not, write to 20 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 21 * 22 */ 23 24 #ifndef _PVM_PARSER_H 25 #define _PVM_PARSER_H 26 27 #include "tc_defaults.h" /*TC_xxxx variables*/ 28 29 #define PVM_MAX_CODEC_PARAMS 3 30 31 typedef struct _pvm_config_filelist { 32 char *p_codec; 33 char *p_filename; 34 char *p_destination; 35 int s_type; 36 struct _pvm_config_filelist *p_next; 37 } pvm_config_filelist; 38 39 typedef struct _pvm_config_merger { 40 char *p_hostname; 41 int s_build_only_list; 42 } pvm_config_merger; 43 44 typedef struct _pvm_config_hosts { 45 char *p_hostname; 46 int s_nproc; 47 struct _pvm_config_hosts *p_next; 48 } pvm_config_hosts; 49 50 typedef struct _pvm_config_codec { 51 char *p_codec; 52 char *p_par1; 53 char *p_par2; 54 char *p_par3; 55 } pvm_config_codec; 56 57 typedef struct _pvm_config_env { 58 int s_nproc; 59 int s_max_proc; 60 int s_num_frame_task; 61 int s_build_intermed_file; 62 int s_internal_multipass; 63 char *p_multiplex_cmd; 64 pvm_config_codec s_audio_codec; 65 pvm_config_codec s_video_codec; 66 pvm_config_merger s_system_merger; 67 pvm_config_merger s_video_merger; 68 pvm_config_merger s_audio_merger; 69 pvm_config_hosts *p_pvm_hosts; 70 pvm_config_filelist *p_add_list; 71 pvm_config_filelist *p_add_loglist; 72 pvm_config_filelist *p_rem_list; 73 pvm_config_filelist s_sys_list; 74 } pvm_config_env; 75 76 77 pvm_config_env *pvm_parser_open(char *p_hostfile, int verbose, int full); 78 void pvm_parser_close(void); 79 80 #endif 81