enix news

27.04.2003: ogg/theora support + massively reduced external dependancies ogg/vorbis/theora/speex are all statically included in the source tree

25.02.2003: enix-user and enix-devel mailing lists have been created

24.02.2003: enix sources have been checked into cvs.

what is enix?

enix is to become for encoding and video processing what xine is today for video playback:

enix applications

possible applications that can be built using enix include:

enix architecture

enix is built around a very simple basic primitive, called enix_stream_t:

typedef struct enix_stream_s enix_stream_t;

struct enix_stream_s {

  int  (*play) (enix_stream_t *stream, 
                int start_pos, 
                int start_time);
  
  int  (*get_next_video_frame) (enix_stream_t *stream,
                                xine_video_frame_t *frame);
  
  int  (*get_next_audio_frame) (enix_stream_t *stream,
                                xine_audio_frame_t *frame);
  
  void (*dispose) (enix_stream_t *stream);

  int (*get_property) (enix_stream_t *stream, int property); 

} ;
these primitives can be used as a common interface for inputs (e.g. a wrapper around the xine engine is provided so any stream that xine can decode can be processed in enix but also other inputs such as low-latency frame grabbing can be implemented) and filters. enix_stream_t can be recursively used to form pipelines for multimedia stram processing. usually you'll find a multiplexer and encoder at the end of the pipeline:

download/CVS

enix is in the very early stages of it's developement, so please be patient. currently enix sources are only available from cvs:

access enix cvs here

contact / mailing lists

enix mailing lists: mailing lists

author

guenter bartsch (guenter at users.sourceforge.net)
The project is hosted by BerliOS Logo