		IMPORT MODULE WRITING HOWTO
		---------------------------

Some very short documentation on writing import modules for transcode

include this file:
------------------

#include "transcode.h"       // definition of vob_t and transfer_t structures


data exchange structures for modules:
-----------------------------------

typedef struct _vob_t {
// see transcode.h for details
} vob_t;

typedef struct _transfer_t {

  int flag;		// specifies context: TC_VIDEO for video 
					      TC_AUDIO for audio
		        // or passes an integer to the module

  FILE *fd;             // file handle for input stream   
			// NULL if import module performs reading

  int size;             // total amount of bytes in the buffer

  char *buffer;         // pointer to data array with frame data
  char *buffer2;

  int attributes;

} transfer_t;


single function interface:
--------------------------

int tc_import(int opt, void *para1, void *para2);

exit codes: all handled by transcode
TC_IMPORT_UNKNOWN option not supported
TC_IMPORT_OK      no error, hopefully the default
TC_IMPORT_ERROR   a critical error occurred

input parameter:
opt contains the requested action id
para1/2 its actually meaning depends on option

requested method:

transcode calls the following routines in this order
for both import modules, i.e., first for video and subsequent with the
audio context flag set. 

[1]
opt=TC_IMPORT_NAME
para1=_transfer_t
para2=NULL
requested action: print out some general module infos to stderr
		  and inherit transcode verbosity flag
		  (optional return capability flag)

		  //>0.3.3 of transcode interpret flag returned
		  //to read module capabilities for sanity checks
status: optional

[2]
opt=TC_IMPORT_OPEN
para1=_transfer_t
para2=_vob_t
requested action: return a file handle for reading from the pipe or
                  return NULL if import modules handles data read
status: required if following option is not implemented

[3]
opt=TC_IMPORT_DECODE
para1=_transfer_t
para2=_vob_t
requested action: return a frame and the total amount of bytes read

		  //>0.3.3 of transcode accepts import module returned amount
		  //of bytes in buffer. Module does the error checks anyway.

status: required if previous option is not implemented

[4]
opt=TC_IMPORT_CLOSE
para1=_transfer_t
para2=NULL
requested action: close streams or any open files, free memory and prepare 
		  module removal
status: required
