27 #ifndef GAVL_H_INCLUDED
28 #define GAVL_H_INCLUDED
32 #include <gavl/gavldefs.h>
33 #include <gavl/gavltime.h>
39 #include <gavl/timecode.h>
82 void * client_data,
int thread);
130 #define GAVL_QUALITY_FASTEST 1
138 #define GAVL_QUALITY_BEST 5
146 #define GAVL_QUALITY_DEFAULT 2
159 #define GAVL_ACCEL_MMX (1<<0)
160 #define GAVL_ACCEL_MMXEXT (1<<1)
161 #define GAVL_ACCEL_SSE (1<<2)
162 #define GAVL_ACCEL_SSE2 (1<<3)
163 #define GAVL_ACCEL_SSE3 (1<<4)
164 #define GAVL_ACCEL_3DNOW (1<<5)
165 #define GAVL_ACCEL_3DNOWEXT (1<<6)
166 #define GAVL_ACCEL_SSSE3 (1<<7)
196 #define GAVL_MAX_CHANNELS 128
716 const char * name_base);
733 #define GAVL_AUDIO_FRONT_TO_REAR_COPY (1<<0)
738 #define GAVL_AUDIO_FRONT_TO_REAR_MUTE (1<<1)
743 #define GAVL_AUDIO_FRONT_TO_REAR_DIFF (1<<2)
748 #define GAVL_AUDIO_FRONT_TO_REAR_MASK \
749 (GAVL_AUDIO_FRONT_TO_REAR_COPY | \
750 GAVL_AUDIO_FRONT_TO_REAR_MUTE | \
751 GAVL_AUDIO_FRONT_TO_REAR_DIFF)
757 #define GAVL_AUDIO_STEREO_TO_MONO_LEFT (1<<3)
760 #define GAVL_AUDIO_STEREO_TO_MONO_RIGHT (1<<4)
763 #define GAVL_AUDIO_STEREO_TO_MONO_MIX (1<<5)
767 #define GAVL_AUDIO_STEREO_TO_MONO_MASK \
768 (GAVL_AUDIO_STEREO_TO_MONO_LEFT | \
769 GAVL_AUDIO_STEREO_TO_MONO_RIGHT | \
770 GAVL_AUDIO_STEREO_TO_MONO_MIX)
775 #define GAVL_AUDIO_NORMALIZE_MIX_MATRIX (1<<6)
784 GAVL_AUDIO_DITHER_NONE = 0,
785 GAVL_AUDIO_DITHER_AUTO = 1,
786 GAVL_AUDIO_DITHER_RECT = 2,
787 GAVL_AUDIO_DITHER_TRI = 3,
788 GAVL_AUDIO_DITHER_SHAPED = 4,
913 const double ** matrix);
1278 double * min,
double * max,
1295 double * min,
double * max,
1315 #define GAVL_MAX_PLANES 4
1618 float zoom,
float squeeze);
1644 #define GAVL_PIXFMT_PLANAR (1<<8)
1649 #define GAVL_PIXFMT_RGB (1<<9)
1654 #define GAVL_PIXFMT_YUV (1<<10)
1659 #define GAVL_PIXFMT_YUVJ (1<<11)
1664 #define GAVL_PIXFMT_ALPHA (1<<12)
1669 #define GAVL_PIXFMT_GRAY (1<<13)
1809 #define GAVL_PIXELFORMAT_1D_8 GAVL_GRAY_8
1812 #define GAVL_PIXELFORMAT_2D_8 GAVL_GRAYA_16
1815 #define GAVL_PIXELFORMAT_3D_8 GAVL_RGB_24
1818 #define GAVL_PIXELFORMAT_4D_8 GAVL_RGBA_32
1822 #define GAVL_PIXELFORMAT_1D_16 GAVL_GRAY_16
1825 #define GAVL_PIXELFORMAT_2D_16 GAVL_GRAYA_32
1828 #define GAVL_PIXELFORMAT_3D_16 GAVL_RGB_48
1831 #define GAVL_PIXELFORMAT_4D_16 GAVL_RGBA_64
1835 #define GAVL_PIXELFORMAT_1D_FLOAT GAVL_GRAY_FLOAT
1838 #define GAVL_PIXELFORMAT_2D_FLOAT GAVL_GRAYA_FLOAT
1841 #define GAVL_PIXELFORMAT_3D_FLOAT GAVL_RGB_FLOAT
1844 #define GAVL_PIXELFORMAT_4D_FLOAT GAVL_RGBA_FLOAT
1873 #define gavl_pixelformat_is_gray(fmt) ((fmt) & GAVL_PIXFMT_GRAY)
1882 #define gavl_pixelformat_is_rgb(fmt) ((fmt) & GAVL_PIXFMT_RGB)
1890 #define gavl_pixelformat_is_yuv(fmt) ((fmt) & GAVL_PIXFMT_YUV)
1898 #define gavl_pixelformat_is_jpeg_scaled(fmt) ((fmt) & GAVL_PIXFMT_YUVJ)
1906 #define gavl_pixelformat_has_alpha(fmt) ((fmt) & GAVL_PIXFMT_ALPHA)
1914 #define gavl_pixelformat_is_planar(fmt) ((fmt) & GAVL_PIXFMT_PLANAR)
2182 float * off_x,
float * off_y);
2357 const float * color);
2588 const char * namebase);
2699 #define GAVL_FORCE_DEINTERLACE (1<<0)
2705 #define GAVL_CONVOLVE_CHROMA (1<<1)
2711 #define GAVL_CONVOLVE_NORMALIZE (1<<2)
2720 #define GAVL_RESAMPLE_CHROMA (1<<3)
2902 int conversion_flags);
2981 const float * color);
3122 void * client_data);
3135 void ** client_data);
3149 void * client_data);
3162 void ** client_data);
3387 int h_radius,
const float * h_coeffs,
3388 int v_radius,
const float * v_coeffs);
3838 int64_t frame,
int * duration);
3853 int64_t * start_time);
3868 int64_t * start_time,
3899 int64_t * start_time,
3944 const char * filename);