removed some junk, added quicktime support to veejay-ng, added opendml avi to veejay-ng

git-svn-id: svn://code.dyne.org/veejay/trunk@683 eb8d1916-c9e9-0310-b8de-cf0c9472ead5
This commit is contained in:
Niels Elburg
2006-11-11 17:40:58 +00:00
parent 399568b541
commit 9dd9b7d558
12 changed files with 4282 additions and 1685 deletions

View File

@@ -1,271 +0,0 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Compiling for MIPS CPU */
#undef ARCH_MIPS
/* Compiling for PowerPC */
#undef ARCH_PPC
/* Compiling for x86 architecture */
#undef ARCH_X86
/* Compiling for x86-64 architecture CPU */
#undef ARCH_X86_64
/* Define to 1 if you have the <alloca.h> header file. */
#undef HAVE_ALLOCA_H
/* Inline PPC Altivec primitives available */
#undef HAVE_ALTIVEC
/* Compiling in 3Dnow */
#undef HAVE_ASM_3DNOW
/* Compiling in MMX support */
#undef HAVE_ASM_MMX
/* Compiling in MMX2 */
#undef HAVE_ASM_MMX2
/* Compiling with nasm */
#undef HAVE_ASM_NASM
/* Compiling in SSE support */
#undef HAVE_ASM_SSE
/* Compiling in SSE2 support */
#undef HAVE_ASM_SSE2
/* use avcodec */
#undef HAVE_AVCODEC
/* use avformat */
#undef HAVE_AVFORMAT
/* Define to 1 if you have the `bzero' function. */
#undef HAVE_BZERO
/* Compiling in CMOV */
#undef HAVE_CMOV
/* MAC OS X Darin */
#undef HAVE_DARWIN
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Compile with dlopen support */
#undef HAVE_DL_DLOPEN
/* Define to 1 if you have the <fenv.h> header file. */
#undef HAVE_FENV_H
/* long getopt support */
#undef HAVE_GETOPT_LONG
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Glib library present */
#undef HAVE_GLIB
/* Define to 1 if you have the <GL/glut.h> header file. */
#undef HAVE_GL_GLUT_H
/* Define to 1 if you have the <GL/gl.h> header file. */
#undef HAVE_GL_GL_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Compiling with support for Jack */
#undef HAVE_JACK
/* Define to 1 if you have the `dl' library (-ldl). */
#undef HAVE_LIBDL
/* liblo installed */
#undef HAVE_LIBLO
/* Compiling with pthread library */
#undef HAVE_LIBPTHREAD
/* libxf86dga is present */
#undef HAVE_LIBXXF86DGA
/* Linux platform */
#undef HAVE_LINUX
/* Define to 1 if you have the `memalign' function. */
#undef HAVE_MEMALIGN
/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Compiling for MIPS CPU */
#undef HAVE_MIPS
/* MJPEGTools installed */
#undef HAVE_MJPEGTOOLS
/* Define to 1 if you have the `mmap' function. */
#undef HAVE_MMAP
/* Compiling in MMX support in ffmpeg */
#undef HAVE_MMX
/* Compiling in MMX2 */
#undef HAVE_MMX2
/* Define to 1 if you have the `posix_memalign' function. */
#undef HAVE_POSIX_MEMALIGN
/* Define to 1 if you have the `pow' function. */
#undef HAVE_POW
/* Compiling for PowerPC CPU */
#undef HAVE_PPCCPU
/* Compile for playstation2 */
#undef HAVE_PS2
/* Using pthread stack size */
#undef HAVE_PTHREADSTACKSIZE
/* Set to 1 if you have libsamplerate. */
#undef HAVE_SAMPLERATE
/* Define to 1 if you have the `sched_get_priority_max' function. */
#undef HAVE_SCHED_GET_PRIORITY_MAX
/* SDL library present */
#undef HAVE_SDL
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Compiling in SSE support */
#undef HAVE_SSE
/* Compiling in SSE2 support */
#undef HAVE_SSE2
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strncasecmp' function. */
#undef HAVE_STRNCASECMP
/* Define to 1 if you have the `strndup' function. */
#undef HAVE_STRNDUP
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Set to 1 if you have unicap. */
#undef HAVE_UNICAP
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Building for Linux - using the video4linux API */
#undef HAVE_V4L
/* Compiling for x86 architecture CPU */
#undef HAVE_X86CPU
/* Compiling for x86-64 architecture CPU */
#undef HAVE_X86_CPU
/* Compiling with XML2 */
#undef HAVE_XML2
/* Is __progname defined by system? */
#undef HAVE___PROGNAME
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* libdv is present */
#undef SUPPORT_READ_DV2
/* Compiling in a video output X screen */
#undef USE_DISPLAY
/* Building veejay */
#undef VEEJAY
/* Version number of package */
#undef VERSION
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif

View File

@@ -281,6 +281,22 @@ if test x$with_libdv != xno ; then
[have_libdv=false])
fi
dnl *********************************************************************
dnl Check for quicktime
dnl (creates LIBQUICKTIME_CFLAGS, LIBQUICKTIME_LIBS; defines HAVE_LIBQUICKTIME)
dnl *********************************************************************
have_libquicktime=false
if test x$with_libquicktime != xno ; then
PKG_CHECK_MODULES(LIBQUICKTIME, [libquicktime >= 0.9.7],
[have_libquicktime=true
AC_DEFINE(HAVE_LIBQUICKTIME, 1, [libquicktime > 0.9.7 prese
nt])],
[have_libquicktime=false])
fi
AM_CONDITIONAL(HAVE_LIBQUICKTIME, test x$have_libquicktime = xtrue)
dnl *********************************************************************
dnl Check for mjpegtools
dnl (creates MJPEGYTOOLS_CFLAGS,
@@ -866,6 +882,7 @@ AC_MSG_NOTICE([])
AC_MSG_NOTICE([ Required dependencies:])
AC_MSG_NOTICE([ - POSIX Threads (pthread) : ${have_pthread}])
AC_MSG_NOTICE([ - MJPEGTools : ${have_mjpegtools}])
AC_MSG_NOTICE([ - QuickTime support : ${have_libquicktime} ])
AC_MSG_NOTICE([ - SDL Video : ${have_sdl}])
AC_MSG_NOTICE([ - Leightweight OSC : ${have_liblo}])
AC_MSG_NOTICE([ Optional dependencies])

View File

@@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in
INCLUDES = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/vjmem \
-I$(top_srcdir)/vjmsg \
$(MJPEGTOOLS_CFLAGS) ${FFMPEG_CFLAGS}
$(MJPEGTOOLS_CFLAGS) ${FFMPEG_CFLAGS} ${LIBQUICKTIME_CFLAGS}
VJEL_LIB_FILE = libel.la
noinst_LTLIBRARIES = $(VJEL_LIB_FILE)

File diff suppressed because it is too large Load Diff

View File

@@ -1,40 +1,204 @@
/*
This program 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 of the License, or
(at your option) any later version.
* avilib.h
*
* Copyright (C) Thomas <20>streich - June 2001
* multiple audio track support Copyright (C) 2002 Thomas <20>streich
*
* Original code:
* Copyright (C) 1999 Rainer Johanni <Rainer@Johanni.de>
*
* 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.
*
*/
This program 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.
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <inttypes.h>
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <limits.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <libel/vj-mmap.h>
#ifndef AVILIB_H
#define AVILIB_H
#include <mjpegtools/mjpeg_types.h>
#include <libel/vj-mmap.h>
#define AVI_MAX_TRACKS 8
typedef struct
{
long pos;
long len;
off_t key;
off_t pos;
off_t len;
} video_index_entry;
typedef struct
{
long pos;
long len;
long tot;
off_t pos;
off_t len;
off_t tot;
} audio_index_entry;
// Index types
#define AVI_INDEX_OF_INDEXES 0x00 // when each entry in aIndex
// array points to an index chunk
#define AVI_INDEX_OF_CHUNKS 0x01 // when each entry in aIndex
// array points to a chunk in the file
#define AVI_INDEX_IS_DATA 0x80 // when each entry is aIndex is
// really the data
// bIndexSubtype codes for INDEX_OF_CHUNKS
//
#define AVI_INDEX_2FIELD 0x01 // when fields within frames
// are also indexed
typedef struct _avisuperindex_entry {
uint64_t qwOffset; // absolute file offset
uint32_t dwSize; // size of index chunk at this offset
uint32_t dwDuration; // time span in stream ticks
} avisuperindex_entry;
typedef struct _avistdindex_entry {
uint32_t dwOffset; // qwBaseOffset + this is absolute file offset
uint32_t dwSize; // bit 31 is set if this is NOT a keyframe
} avistdindex_entry;
// Standard index
typedef struct _avistdindex_chunk {
char fcc[4]; // ix##
uint32_t dwSize; // size of this chunk
uint16_t wLongsPerEntry; // must be sizeof(aIndex[0])/sizeof(DWORD)
uint8_t bIndexSubType; // must be 0
uint8_t bIndexType; // must be AVI_INDEX_OF_CHUNKS
uint32_t nEntriesInUse; //
char dwChunkId[4]; // '##dc' or '##db' or '##wb' etc..
uint64_t qwBaseOffset; // all dwOffsets in aIndex array are relative to this
uint32_t dwReserved3; // must be 0
avistdindex_entry *aIndex;
} avistdindex_chunk;
// Base Index Form 'indx'
typedef struct _avisuperindex_chunk {
char fcc[4];
uint32_t dwSize; // size of this chunk
uint16_t wLongsPerEntry; // size of each entry in aIndex array (must be 8 for us)
uint8_t bIndexSubType; // future use. must be 0
uint8_t bIndexType; // one of AVI_INDEX_* codes
uint32_t nEntriesInUse; // index of first unused member in aIndex array
char dwChunkId[4]; // fcc of what is indexed
uint32_t dwReserved[3]; // meaning differs for each index type/subtype.
// 0 if unused
avisuperindex_entry *aIndex; // where are the ix## chunks
avistdindex_chunk **stdindex; // the ix## chunks itself (array)
} avisuperindex_chunk;
typedef struct track_s
{
long a_fmt; /* Audio format, see #defines below */
long a_chans; /* Audio channels, 0 for no audio */
long a_rate; /* Rate in Hz */
long a_bits; /* bits per audio sample */
long mp3rate; /* mp3 bitrate kbs*/
long a_vbr; /* 0 == no Variable BitRate */
long padrate; /* byte rate used for zero padding */
long audio_strn; /* Audio stream number */
off_t audio_bytes; /* Total number of bytes of audio data */
long audio_chunks; /* Chunks of audio data in the file */
char audio_tag[4]; /* Tag of audio data */
long audio_posc; /* Audio position: chunk */
long audio_posb; /* Audio position: byte within chunk */
off_t a_codech_off; /* absolut offset of audio codec information */
off_t a_codecf_off; /* absolut offset of audio codec information */
audio_index_entry *audio_index;
avisuperindex_chunk *audio_superindex;
} track_t;
typedef struct
{
uint32_t bi_size;
uint32_t bi_width;
uint32_t bi_height;
uint16_t bi_planes;
uint16_t bi_bit_count;
uint32_t bi_compression;
uint32_t bi_size_image;
uint32_t bi_x_pels_per_meter;
uint32_t bi_y_pels_per_meter;
uint32_t bi_clr_used;
uint32_t bi_clr_important;
} alBITMAPINFOHEADER;
typedef struct __attribute__((__packed__))
{
uint16_t w_format_tag;
uint16_t n_channels;
uint32_t n_samples_per_sec;
uint32_t n_avg_bytes_per_sec;
uint16_t n_block_align;
uint16_t w_bits_per_sample;
uint16_t cb_size;
} alWAVEFORMATEX;
typedef struct __attribute__((__packed__))
{
uint32_t fcc_type;
uint32_t fcc_handler;
uint32_t dw_flags;
uint32_t dw_caps;
uint16_t w_priority;
uint16_t w_language;
uint32_t dw_scale;
uint32_t dw_rate;
uint32_t dw_start;
uint32_t dw_length;
uint32_t dw_initial_frames;
uint32_t dw_suggested_buffer_size;
uint32_t dw_quality;
uint32_t dw_sample_size;
uint32_t dw_left;
uint32_t dw_top;
uint32_t dw_right;
uint32_t dw_bottom;
uint32_t dw_edit_count;
uint32_t dw_format_change_count;
char sz_name[64];
} alAVISTREAMINFO;
typedef struct
{
long fdes; /* File descriptor of AVI file */
long mode; /* 0 for reading, 1 for writing */
@@ -42,37 +206,51 @@ typedef struct
long height; /* Height of a video frame */
double fps; /* Frames per second */
char compressor[8]; /* Type of compressor, 4 bytes + padding for 0 byte */
int ffmpeg_codec_id; /* Codec ID to avoid strcmp for compressor */
char compressor2[8]; /* Type of compressor, 4 bytes + padding for 0 byte */
long video_strn; /* Video stream number */
long video_frames; /* Number of video frames */
uint8_t video_tag[4]; /* Tag of video data */
char video_tag[4]; /* Tag of video data */
long video_pos; /* Number of next frame to be read
(if index present) */
long a_fmt; /* Audio format, see #defines below */
long a_chans; /* Audio channels, 0 for no audio */
long a_rate; /* Rate in Hz */
long a_bits; /* bits per audio clip */
long audio_strn; /* Audio stream number */
long audio_bytes; /* Total number of bytes of audio data */
long audio_chunks; /* Chunks of audio data in the file */
uint8_t audio_tag[4]; /* Tag of audio data */
long audio_posc; /* Audio position: chunk */
long audio_posb; /* Audio position: byte within chunk */
uint32_t max_len; /* maximum video chunk present */
long pos; /* position in file */
track_t track[AVI_MAX_TRACKS]; // up to AVI_MAX_TRACKS audio tracks supported
off_t pos; /* position in file */
long n_idx; /* number of index entries actually filled */
long max_idx; /* number of index entries actually allocated */
off_t v_codech_off; /* absolut offset of video codec (strh) info */
off_t v_codecf_off; /* absolut offset of video codec (strf) info */
uint8_t (*idx)[16]; /* index entries (AVI idx1 tag) */
video_index_entry * video_index;
audio_index_entry * audio_index;
long last_pos; /* Position of last frame written */
long last_len; /* Length of last frame written */
video_index_entry *video_index;
avisuperindex_chunk *video_superindex; /* index of indices */
int is_opendml; /* set to 1 if this is an odml file with multiple index chunks */
off_t last_pos; /* Position of last frame written */
uint32_t last_len; /* Length of last frame written */
int must_use_index; /* Flag if frames are duplicated */
long movi_start;
off_t movi_start;
int total_frames; /* total number of frames if dmlh is present */
int anum; // total number of audio tracks
int aptr; // current audio working track
int comment_fd; // Read avi header comments from this fd
char *index_file; // read the avi index from this file
alBITMAPINFOHEADER *bitmap_info_header;
alWAVEFORMATEX *wave_format_ex[AVI_MAX_TRACKS];
void* extradata;
unsigned long extradata_size;
mmap_region_t *mmap_region;
off_t mmap_offset;
size_t mmap_size;
int ffmpeg_codec_id;
} avi_t;
#define AVI_MODE_WRITE 0
@@ -121,10 +299,11 @@ typedef struct
getIndex==0, but an operation has been
performed that needs an index */
#define AVI_ERR_EMPTY 15 /* AVI file is empty (only header) */
#define AVI_ERR_EMPTY 14 /* AVI file is empty (header only)*/
/* Possible Audio formats */
#ifndef WAVE_FORMAT_PCM
#define WAVE_FORMAT_UNKNOWN (0x0000)
#define WAVE_FORMAT_PCM (0x0001)
#define WAVE_FORMAT_ADPCM (0x0002)
@@ -141,46 +320,144 @@ typedef struct
#define IBM_FORMAT_MULAW (0x0101)
#define IBM_FORMAT_ALAW (0x0102)
#define IBM_FORMAT_ADPCM (0x0103)
#endif
avi_t* AVI_open_output_file(char * filename);
void AVI_set_video(avi_t *AVI, int width, int height, double fps, const char *compressor);
void AVI_set_video(avi_t *AVI, int width, int height, double fps, char *compressor);
void AVI_set_audio(avi_t *AVI, int channels, long rate, int bits, int format);
int AVI_write_frame(avi_t *AVI, uint8_t *data, long bytes);
int AVI_write_frame(avi_t *AVI, char *data, long bytes);
int AVI_dup_frame(avi_t *AVI);
int AVI_write_audio(avi_t *AVI, uint8_t *data, long bytes);
int AVI_write_audio(avi_t *AVI, char *data, long bytes);
int AVI_append_audio(avi_t *AVI, char *data, long bytes);
long AVI_bytes_remain(avi_t *AVI);
int AVI_close(avi_t *AVI);
int AVI_fileno(avi_t *AVI);
long AVI_bytes_written(avi_t *AVI);
avi_t *AVI_open_input_file(char *filename, int getIndex, int mmap_size);
avi_t *AVI_open_input_indexfile(char *filename, int getIndex, char *indexfile);
avi_t *AVI_open_fd(int fd, int getIndex, int mmap_size);
avi_t *AVI_open_indexfd(int fd, int getIndex, char *indexfile);
int avi_parse_input_file(avi_t *AVI, int getIndex);
int avi_parse_index_from_file(avi_t *AVI, char *filename);
long AVI_audio_mp3rate(avi_t *AVI);
long AVI_audio_padrate(avi_t *AVI);
long AVI_video_frames(avi_t *AVI);
int AVI_video_width(avi_t *AVI);
int AVI_video_height(avi_t *AVI);
double AVI_frame_rate(avi_t *AVI);
char* AVI_video_compressor(avi_t *AVI);
int AVI_video_compressor_type(avi_t *AVI);
int AVI_audio_channels(avi_t *AVI);
int AVI_audio_bits(avi_t *AVI);
int AVI_audio_format(avi_t *AVI);
long AVI_audio_rate(avi_t *AVI);
long AVI_audio_bytes(avi_t *AVI);
long AVI_audio_chunks(avi_t *AVI);
int AVI_can_read_audio(avi_t *AVI);
long AVI_max_video_chunk(avi_t *AVI);
long AVI_frame_size(avi_t *AVI, long frame);
long AVI_audio_size(avi_t *AVI, long frame);
int AVI_seek_start(avi_t *AVI);
int AVI_set_video_position(avi_t *AVI, long frame);
long AVI_read_frame(avi_t *AVI, uint8_t *vidbuf);
int AVI_set_audio_position(avi_t *AVI, long byte);
long AVI_read_audio(avi_t *AVI, uint8_t *audbuf, long bytes);
long AVI_get_video_position(avi_t *AVI, long frame);
long AVI_read_frame(avi_t *AVI, char *vidbuf, int *keyframe);
int AVI_read_data(avi_t *AVI, uint8_t *vidbuf, long max_vidbuf,
uint8_t *audbuf, long max_audbuf,
int AVI_set_audio_position(avi_t *AVI, long byte);
int AVI_set_audio_bitrate(avi_t *AVI, long bitrate);
long AVI_get_audio_position_index(avi_t *AVI);
int AVI_set_audio_position_index(avi_t *AVI, long indexpos);
long AVI_read_audio(avi_t *AVI, char *audbuf, long bytes);
long AVI_read_audio_chunk(avi_t *AVI, char *audbuf);
long AVI_audio_codech_offset(avi_t *AVI);
long AVI_audio_codecf_offset(avi_t *AVI);
long AVI_video_codech_offset(avi_t *AVI);
long AVI_video_codecf_offset(avi_t *AVI);
int AVI_read_data(avi_t *AVI, char *vidbuf, long max_vidbuf,
char *audbuf, long max_audbuf,
long *len);
void AVI_print_error(const char *str);
const char *AVI_strerror(void);
const char *AVI_syserror(void);
void AVI_print_error(char *str);
char *AVI_strerror(void);
char *AVI_syserror(void);
int AVI_scan(char *name);
int AVI_dump(char *name, int mode);
char *AVI_codec2str(short cc);
int AVI_file_check(char *import_file);
void AVI_info(avi_t *avifile);
uint64_t AVI_max_size(void);
int avi_update_header(avi_t *AVI);
int AVI_set_audio_track(avi_t *AVI, int track);
int AVI_get_audio_track(avi_t *AVI);
int AVI_audio_tracks(avi_t *AVI);
void AVI_set_audio_vbr(avi_t *AVI, long is_vbr);
long AVI_get_audio_vbr(avi_t *AVI);
void AVI_set_comment_fd(avi_t *AVI, int fd);
int AVI_get_comment_fd(avi_t *AVI);
struct riff_struct
{
uint8_t id[4]; /* RIFF */
uint32_t len;
uint8_t wave_id[4]; /* WAVE */
};
struct chunk_struct
{
uint8_t id[4];
uint32_t len;
};
struct common_struct
{
uint16_t wFormatTag;
uint16_t wChannels;
uint32_t dwSamplesPerSec;
uint32_t dwAvgBytesPerSec;
uint16_t wBlockAlign;
uint16_t wBitsPerSample; /* Only for PCM */
};
struct wave_header
{
struct riff_struct riff;
struct chunk_struct format;
struct common_struct common;
struct chunk_struct data;
};
// Simple WAV IO
int AVI_read_wave_header( int fd, struct wave_header * wave );
int AVI_write_wave_header( int fd, const struct wave_header * wave );
size_t AVI_read_wave_pcm_data( int fd, void * buffer, size_t buflen );
size_t AVI_write_wave_pcm_data( int fd, const void * buffer, size_t buflen );
struct AVIStreamHeader {
long fccType;
long fccHandler;
long dwFlags;
long dwPriority;
long dwInitialFrames;
long dwScale;
long dwRate;
long dwStart;
long dwLength;
long dwSuggestedBufferSize;
long dwQuality;
long dwSampleSize;
};
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -30,7 +30,7 @@
// play with mlt here, avformat producer/several consumers (we can write to)
// for normalized output (720x576/480) , dv1394 capture and playback
#include <mjpegtools/yuv4mpeg.h>
#include <yuv4mpeg.h>
#define LAV_INTER_UNKNOWN Y4M_UNKNOWN
#define LAV_NOT_INTERLACED Y4M_ILACE_NONE
@@ -65,6 +65,7 @@ typedef struct
#ifdef SUPPORT_READ_DV2
dv_t *dv_fd;
#endif
void *qt_fd;
int jpeg_fd;
char *jpeg_filename;
#ifdef USE_GDK_PIXBUF

View File

@@ -1,630 +0,0 @@
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# Makefile for veejay ui
SOURCES = $(libveejayui_la_SOURCES) $(veejayui_SOURCES)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
bin_PROGRAMS = $(am__EXEEXT_1)
subdir = ui
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"
libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libveejayui_la_DEPENDENCIES = /
am_libveejayui_la_OBJECTS = buffer.lo concretebuilder.lo builder.lo \
samplebank.lo anim.lo anim_ui.lo director.lo uiosc.lo
libveejayui_la_OBJECTS = $(am_libveejayui_la_OBJECTS)
am__EXEEXT_1 = veejayui$(EXEEXT)
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_veejayui_OBJECTS = testui.$(OBJEXT)
veejayui_OBJECTS = $(am_veejayui_OBJECTS)
am__DEPENDENCIES_1 =
veejayui_DEPENDENCIES = libveejayui.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libveejayui_la_SOURCES) $(veejayui_SOURCES)
DIST_SOURCES = $(libveejayui_la_SOURCES) $(veejayui_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALTIVEC_CFLAGS = @ALTIVEC_CFLAGS@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FFMPEG_AVCODEC_CFLAGS = @FFMPEG_AVCODEC_CFLAGS@
FFMPEG_AVCODEC_LIBS = @FFMPEG_AVCODEC_LIBS@
FFMPEG_AVFORMAT_CFLAGS = @FFMPEG_AVFORMAT_CFLAGS@
FFMPEG_AVFORMAT_LIBS = @FFMPEG_AVFORMAT_LIBS@
GLADE_CFLAGS = @GLADE_CFLAGS@
GLADE_LIBS = @GLADE_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_CONFIG = @GLIB_CONFIG@
GLIB_LIBS = @GLIB_LIBS@
GL_CFLAGS = @GL_CFLAGS@
GL_LIBS = @GL_LIBS@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
HAVE_ALTIVEC_FALSE = @HAVE_ALTIVEC_FALSE@
HAVE_ALTIVEC_TRUE = @HAVE_ALTIVEC_TRUE@
HAVE_ASM_MMX2_FALSE = @HAVE_ASM_MMX2_FALSE@
HAVE_ASM_MMX2_TRUE = @HAVE_ASM_MMX2_TRUE@
HAVE_ASM_MMX_FALSE = @HAVE_ASM_MMX_FALSE@
HAVE_ASM_MMX_TRUE = @HAVE_ASM_MMX_TRUE@
HAVE_ASM_NASM_FALSE = @HAVE_ASM_NASM_FALSE@
HAVE_ASM_NASM_TRUE = @HAVE_ASM_NASM_TRUE@
HAVE_ASM_SSE2_FALSE = @HAVE_ASM_SSE2_FALSE@
HAVE_ASM_SSE2_TRUE = @HAVE_ASM_SSE2_TRUE@
HAVE_ASM_SSE_FALSE = @HAVE_ASM_SSE_FALSE@
HAVE_ASM_SSE_TRUE = @HAVE_ASM_SSE_TRUE@
HAVE_DL_DLOPEN_FALSE = @HAVE_DL_DLOPEN_FALSE@
HAVE_DL_DLOPEN_TRUE = @HAVE_DL_DLOPEN_TRUE@
HAVE_JACK_FALSE = @HAVE_JACK_FALSE@
HAVE_JACK_TRUE = @HAVE_JACK_TRUE@
HAVE_MMX2_FALSE = @HAVE_MMX2_FALSE@
HAVE_MMX2_TRUE = @HAVE_MMX2_TRUE@
HAVE_MMX_FALSE = @HAVE_MMX_FALSE@
HAVE_MMX_TRUE = @HAVE_MMX_TRUE@
HAVE_PPCCPU_FALSE = @HAVE_PPCCPU_FALSE@
HAVE_PPCCPU_TRUE = @HAVE_PPCCPU_TRUE@
HAVE_SDL_FALSE = @HAVE_SDL_FALSE@
HAVE_SDL_TRUE = @HAVE_SDL_TRUE@
HAVE_SSE2_FALSE = @HAVE_SSE2_FALSE@
HAVE_SSE2_TRUE = @HAVE_SSE2_TRUE@
HAVE_SSE_FALSE = @HAVE_SSE_FALSE@
HAVE_SSE_TRUE = @HAVE_SSE_TRUE@
HAVE_V4L_FALSE = @HAVE_V4L_FALSE@
HAVE_V4L_TRUE = @HAVE_V4L_TRUE@
HAVE_X86CPU_FALSE = @HAVE_X86CPU_FALSE@
HAVE_X86CPU_TRUE = @HAVE_X86CPU_TRUE@
HAVE_XML2_FALSE = @HAVE_XML2_FALSE@
HAVE_XML2_TRUE = @HAVE_XML2_TRUE@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_CFLAGS = @JACK_CFLAGS@
JACK_LIBS = @JACK_LIBS@
LDFLAGS = @LDFLAGS@
LIBDV_CFLAGS = @LIBDV_CFLAGS@
LIBDV_LIBS = @LIBDV_LIBS@
LIBGETOPT_LIB = @LIBGETOPT_LIB@
LIBLO_CFLAGS = @LIBLO_CFLAGS@
LIBLO_LIBS = @LIBLO_LIBS@
LIBM_LIBS = @LIBM_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_RELEASE = @LT_RELEASE@
LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MJPEGTOOLS_CFLAGS = @MJPEGTOOLS_CFLAGS@
MJPEGTOOLS_LIBS = @MJPEGTOOLS_LIBS@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PROGRAM_NOPIC = @PROGRAM_NOPIC@
PTHREAD_LIBS = @PTHREAD_LIBS@
RANLIB = @RANLIB@
SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
SDL_LIBS = @SDL_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SUPPORT_READ_DV2_FALSE = @SUPPORT_READ_DV2_FALSE@
SUPPORT_READ_DV2_TRUE = @SUPPORT_READ_DV2_TRUE@
UNICAP_CFLAGS = @UNICAP_CFLAGS@
UNICAP_LIBS = @UNICAP_LIBS@
V4LCONF_LIBS = @V4LCONF_LIBS@
VERSION = @VERSION@
XML2_CONFIG = @XML2_CONFIG@
XML_CPPFLAGS = @XML_CPPFLAGS@
XML_LIBS = @XML_LIBS@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
MAINTAINERCLEANFILES = Makefile.in
INCLUDES = -I$(top_srcdir) -I$(includedir) \
-DG_LOG_DOMAIN=\"veejayui\" -DVEEJAY_VERSION=\"$(VERSION)\" \
-I /usr/X11R6/include \
-I$(top_srcdir)/libhash \
-I$(top_srcdir)/libvjmem \
-I$(top_srcdir)/libvjmsg \
-I$(top_srcdir)/libvevo \
${XML_CFLAGS} \
${LIBLO_CFLAGS} \
${GLADE_CFLAGS} \
${GTK_CFLAGS} \
${GLIB_CFLAGS}
UI_LIB_FILE = libveejayui.la
lib_LTLIBRARIES = $(UI_LIB_FILE)
UI_ALL_LIB_OPTS = \
-version-info $(LT_AGE):$(LT_REVISION):$(LT_AGE) \
-release $(LT_RELEASE) \
-export-dynamic
libveejayui_la_SOURCES = buffer.c concretebuilder.c builder.c samplebank.c anim.c anim_ui.c director.c uiosc.c
libveejayui_la_LDFLAGS = $(UI_ALL_LIB_OPTS )
libveejayui_la_LIBADD = -L$(top_builddir)/libhash / -lhash \
-L$(top_builddir)/libvjmsg -lvjmsg \
-L$(top_builddir)/libvjmem/ -lvjmem \
-L$(top_builddir)/libvevo -lvevo
UI_BIN = veejayui
veejayui_SOURCES = testui.c
veejayui_LDADD = libveejayui.la @LIBGETOPT_LIB@ \
${XML_LIBS} ${LIBLO_LIBS} ${GLADE_LIBS} ${GTK_LIBS} ${GLIB_LIBS} -lgthread-2.0
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ui/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu ui/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
libveejayui.la: $(libveejayui_la_OBJECTS) $(libveejayui_la_DEPENDENCIES)
$(LINK) -rpath $(libdir) $(libveejayui_la_LDFLAGS) $(libveejayui_la_OBJECTS) $(libveejayui_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
|| test -f $$p1 \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f "$(DESTDIR)$(bindir)/$$f"; \
done
clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
veejayui$(EXEEXT): $(veejayui_OBJECTS) $(veejayui_DEPENDENCIES)
@rm -f veejayui$(EXEEXT)
$(LINK) $(veejayui_LDFLAGS) $(veejayui_OBJECTS) $(veejayui_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anim.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anim_ui.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/builder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/concretebuilder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/director.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/samplebank.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testui.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uiosc.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
install-binPROGRAMS: install-libLTLIBRARIES
installdirs:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
clean-libtool mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
uninstall-libLTLIBRARIES
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic clean-libLTLIBRARIES clean-libtool ctags \
distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-libLTLIBRARIES \
install-man install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-binPROGRAMS uninstall-info-am \
uninstall-libLTLIBRARIES
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -18,7 +18,7 @@ INCLUDES = -I$(top_srcdir) -I$(includedir) \
-I$(top_srcdir)/libsamplerec \
-I$(top_srcdir)/libvevo \
$(FFMPEG_CFLAGS)\
${XML_CFLAGS} ${DV_FLAGS} ${X_CFLAGS} ${XML_CPPFLAGS} \
${XML_CFLAGS} ${DV_FLAGS} ${X_CFLAGS} ${XML_CPPFLAGS} ${LIBQUICKTIME_CFLAGS} \
${PTHREAD_CFLAGS} ${MJPEGTOOLS_CFLAGS} ${GL_CFLAGS} ${SDL_CFLAGS} ${LIBLO_CFLAGS}
VEEJAY_LIB_FILE = libveejayng.la
@@ -68,5 +68,5 @@ bin_PROGRAMS = $(VEEJAY_BIN)
veejayng_SOURCES = veejay.c
veejayng_LDADD = libveejayng.la @LIBGETOPT_LIB@ ${FFMPEG_AVCODEC_LIBS} ${FFMPEG_AVFORMAT_LIBS} \
${PTHREAD_LIBS} ${XML_LIBS} ${LIBDV_LIBS} ${GL_LIBS} \
${PTHREAD_LIBS} ${XML_LIBS} ${LIBDV_LIBS} ${GL_LIBS} ${LIBQUICKTIME_LIBS} \
${MJPEGTOOLS_LIBS} ${UNICAP_LIBS} ${LIBM_LIBS} ${SDL_LIBS} ${LIBLO_LIBS}

View File

@@ -50,6 +50,9 @@ typedef struct AFrame_t
#define FMT_422 1
#define FMT_444 2
#define FMT_411 3
#define FMT_420F 10
#define FMT_422F 11
#define FMT_444F 12
#define NO_AUDIO 0
#define AUDIO_PLAY 1

View File

@@ -316,14 +316,14 @@ int veejay_init_project_from_args( veejay_t *info, int w, int h, float fps, int
veejay_msg(2, "\tvideo settings: %d x %d, @%2.2f in %s", svit->w,svit->h,svit->fps, (svit->norm ? "NTSC" :"PAL") );
veejay_msg(2, "\taudio settings: %ld Hz, %d bits, %d channels, %d bps",
svit->rate, svit->bits,svit->chans, svit->bps );
veejay_msg(2, "\toutput pixel format: %d", fmt);
info->video_info = (void*) svit;
#ifdef STRICT_CHECKING
assert( info->video_info != NULL );
#endif
info->use_display = display;
vj_el_init();
vj_el_init(fmt);
if(prepare_cache_line( 10, 3 ))
{
@@ -1244,6 +1244,8 @@ void veejay_add_client( veejay_t *info, char *uri )
void *veejay_get_osc_sender(veejay_t * info )
{
if(!info)
return NULL;
void *sender = NULL;
if(!info->current_client)
return NULL;

View File

@@ -348,7 +348,6 @@ int sample_get_run_id( void *info )
sample_runtime_data *srd = (sample_runtime_data*) info;
return srd->primary_key;
}
int sample_get_key_ptr( void *info )
{
if(!info)
@@ -368,6 +367,7 @@ int sample_get_key_ptr( void *info )
void sample_delete_ptr( void *info )
{
sample_runtime_data *srd = (sample_runtime_data*) info;
//@ FIXME: get default channel configuratioe_data *srd = (sample_runtime_data*) info;
#ifdef STRICT_CHECKING
assert( info != NULL );
@@ -386,15 +386,10 @@ void sample_delete_ptr( void *info )
void *osc_space = NULL;
error = vevo_property_get( srd->info_port, "HOST_osc",0,&osc_space );
#ifdef STRICT_CHECKING
assert( error == VEVO_NO_ERROR );
#endif
if( error == VEVO_NO_ERROR )
veejay_osc_del_methods( srd->user_data, osc_space,srd->info_port ,srd);
// sample_fx_clean_up( info, srd->user_data );
sample_fx_chain_reset( info );
sample_fx_clean_up( info, srd->user_data );
sample_close( srd );
@@ -1221,7 +1216,7 @@ static void sample_ui_close_all( void *sample )
// {
// sample_ui_fx_close( sample, i, srd->user_data );
// }
if(srd->data)
sample_ui_close(sample);
}
@@ -1230,14 +1225,14 @@ static void sample_fx_entry_clean_up( void *sample, int id, void *user_data )
{
sample_runtime_data *srd = (sample_runtime_data*) sample;
fx_slot_t *slot = sample_get_fx_port_ptr( srd, id );
#ifdef STRICT_CHECKING
assert( srd->info_port != NULL );
#endif
if(slot->window)
{
sample_ui_fx_close( sample, id, user_data );
else
veejay_msg(0, "FX slot %d has no window, sample %d", id,
sample_get_key_ptr(sample) );
if(slot->window)
free(slot->window);
}
if(slot->frame)
free(slot->frame);
@@ -1247,14 +1242,15 @@ static void sample_fx_entry_clean_up( void *sample, int id, void *user_data )
plug_deactivate( slot->fx_instance );
}
if( slot->in_values )
vevo_port_free( slot->in_values );
if( slot->out_values)
vevo_port_free( slot->out_values );
if( slot->out_channels)
vevo_port_free( slot->out_channels );
if( slot->bind )
{
sample_reset_bind ( sample, slot );
}
free(slot);