diff options
| author | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-09-11 14:38:47 +0900 |
|---|---|---|
| committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-09-11 14:38:47 +0900 |
| commit | 884c8093d63402a1ad0b502244b791e3c6782be3 (patch) | |
| tree | a600d4ab0d431a2bdfe4c15b70df43c14fbd8dd0 /debian/transcode/transcode-1.1.7/pvm3/pvm_functions.h | |
| parent | 14e1aa2006796f147f3f4811fb908a6b01e79253 (diff) | |
| download | extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.tar.gz extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.zip | |
Added debian extra dependency packages.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/transcode/transcode-1.1.7/pvm3/pvm_functions.h')
| -rw-r--r-- | debian/transcode/transcode-1.1.7/pvm3/pvm_functions.h | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/debian/transcode/transcode-1.1.7/pvm3/pvm_functions.h b/debian/transcode/transcode-1.1.7/pvm3/pvm_functions.h new file mode 100644 index 00000000..bdf3e809 --- /dev/null +++ b/debian/transcode/transcode-1.1.7/pvm3/pvm_functions.h @@ -0,0 +1,125 @@ +/* + * pvm_functions.h + * + * Copyright (C) Marzio Malanchini - July 2003 + * + * This file is part of transcode, a video stream processing tool + * + * transcode is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * transcode is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +#ifndef _PVM_FUNCTIONS_H +#define _PVM_FUNCTIONS_H + +#include <stdio.h> +#include <pvm3.h> +#include <pvm_version.h> + + +typedef struct _pvm_res_func_t { + int s_rc; + int s_ret_size; + int s_msg_type; + int s_dim_buffer; + char *p_result; + } pvm_res_func_t; + + +typedef struct _pvm_func_t { + int s_nproc; + int s_nhosts; + int s_current_tid; + int *p_slave_tids; + int *p_used_tid; + } pvm_func_t; + +#define PVM_EXP_OPT_INIT 0x00000000 +#define PVM_EXP_OPT_OPEN 0x00000001 +#define PVM_EXP_OPT_ENCODE 0x00000002 +#define PVM_EXP_OPT_CLOSE 0x00000003 +#define PVM_EXP_OPT_STOP 0x00000004 +#define PVM_EXP_OPT_RESTART_ENCODE1 0x00000005 +#define PVM_JOIN_OPT_RUN 0x00000006 +#define PVM_JOIN_OPT_ADD_ELAB 0x00000007 +#define PVM_JOIN_OPT_ADD_REMOVE 0x00000008 +#define PVM_JOIN_OPT_INIT 0x00000009 +#define PVM_INIT_SKED 0x0000000A +#define PVM_INIT_JOIN 0x0000000B +#define PVM_CHECK_VERSION 0x0000000C +#define PVM_JOIN_OPT_SENDFILE 0x0000000D +#define PVM_MERGER_INIT 0x0000000E +#define PVM_EXP_OPT_PREINIT 0x0000000F +#define PVM_EXP_OPT_RESTART_ENCODE2 0x00000010 + +#define PVM_MSG_WORK 0x00000020 +#define PVM_MSG_RING 0x00000021 +#define PVM_MSG_CONF 0x00000022 +#define PVM_MSG_WRKN 0x00000023 +#define PVM_MSG_JOIN 0x00000024 +#define PVM_MSG_CONF_JOIN 0x00000025 +#define PVM_MSG_MERG_SEND 0x00000026 +#define PVM_MSG_MERG_PASTE 0x00000027 +#define PVM_MSG_ADD_REM 0x00000028 +#define PVM_MSG_ENDTASK_SYSTEM INT_MAX-2 +#define PVM_MSG_ENDTASK_VIDEO INT_MAX-1 +#define PVM_MSG_ENDTASK_AUDIO INT_MAX +#define PVM_MSG_LAST_SEQ PVM_MSG_ENDTASK_SYSTEM + +#ifdef PVM_DL_FUNC + +/*public function*/ +pvm_func_t * (*f_pvm_master_start_stop)(char *p_option,char *p_spawn_process,char **p_argv,int s_nproc_host,int s_nproc_max,pvm_func_t *p_func); +void (*f_pvm_skeduler)(pvm_res_func_t *(*f_my_elab_func)(int,char *,int,int)); +int (*f_pvm_send)(int s_buff_size,char *p_buffer,int s_option,int s_pos_tids,pvm_func_t *p_func); +int (*f_pvm_set_send)(int s_set_seq); +int (*f_pvm_multi_send)(int s_buff_size,char *p_buffer,int s_option,pvm_func_t *p_func); +int (*f_pvm_multi_send_nw)(int s_buff_size,char *p_buffer,int s_option,pvm_func_t *p_func); +int (*f_pvm_nrecv)(int *s_buff_size,char *p_buffer,int *s_rc); +int (*f_pvm_recv)(int *s_buff_size,char *p_buffer,int *s_rc); +int (*f_pvm_set_nrecv)(int s_seq); +int (*f_pvm_set_recv)(int s_seq); +int (*f_pvm_start_single_process)(char *p_spawn_process,char **p_argv,char *p_where); +void (*f_pvm_stop_single_process)(int p_slave_tid); +#else + +/*private function*/ + +/* f_pvm_master_start_stop: + s_type: 1 start 0 end + p_spawn_process: process to spawn + s_nproc_host: number of process per host + s_nproc_max: max number of process +*/ +pvm_func_t *f_pvm_master_start_stop(char *p_option,char *p_spawn_process,char **p_argv,int s_nproc_host,int s_nproc_max,pvm_func_t *p_func); +/* the skeduler require a function to elab the input data*/ +void f_pvm_skeduler(pvm_res_func_t *(*f_my_elab_func)(int,char *,int,int)); +int f_pvm_send(int s_buff_size,char *p_buffer,int s_option,int s_pos_tids,pvm_func_t *p_func); +int f_pvm_set_send(int s_set_seq); +int f_pvm_multi_send(int s_buff_size,char *p_buffer,int s_option,pvm_func_t *p_func);/*broadcast the info and wait for the completition of all the task*/ +int f_pvm_multi_send_nw(int s_buff_size,char *p_buffer,int s_option,pvm_func_t *p_func);/*broadcast the info*/ +/* If you start with a non blocking receive you must continue with the save api or set the seq number with the set api*/ +int f_pvm_nrecv(int *s_buff_size,char *p_buffer,int *s_rc); +int f_pvm_recv(int *s_buff_size,char *p_buffer,int *s_rc); +int f_pvm_set_nrecv(int s_seq); +int f_pvm_set_recv(int s_seq); +int f_ring(int s_father_tid,int *s_rec_seq,int s_msg_type,int s_rc); +int f_pvm_start_single_process(char *p_spawn_process,char **p_argv,char *p_where); +void f_pvm_stop_single_process(int p_slave_tid); + + +#endif + +#endif |
