27 #ifndef GAVL_H_INCLUDED
28 #define GAVL_H_INCLUDED
32 #include <gavl/gavldefs.h>
33 #include <gavl/gavltime.h>
34 #include <gavl/timecode.h>
133 void * client_data,
int thread);
181 #define GAVL_QUALITY_FASTEST 1
189 #define GAVL_QUALITY_BEST 5
197 #define GAVL_QUALITY_DEFAULT 2
210 #define GAVL_ACCEL_MMX (1<<0)
211 #define GAVL_ACCEL_MMXEXT (1<<1)
212 #define GAVL_ACCEL_SSE (1<<2)
213 #define GAVL_ACCEL_SSE2 (1<<3)
214 #define GAVL_ACCEL_SSE3 (1<<4)
215 #define GAVL_ACCEL_3DNOW (1<<5)
216 #define GAVL_ACCEL_3DNOWEXT (1<<6)
217 #define GAVL_ACCEL_SSSE3 (1<<7)
247 #define GAVL_MAX_CHANNELS 128
850 const char * name_base);
867 #define GAVL_AUDIO_FRONT_TO_REAR_COPY (1<<0)
872 #define GAVL_AUDIO_FRONT_TO_REAR_MUTE (1<<1)
877 #define GAVL_AUDIO_FRONT_TO_REAR_DIFF (1<<2)
882 #define GAVL_AUDIO_FRONT_TO_REAR_MASK \
883 (GAVL_AUDIO_FRONT_TO_REAR_COPY | \
884 GAVL_AUDIO_FRONT_TO_REAR_MUTE | \
885 GAVL_AUDIO_FRONT_TO_REAR_DIFF)
891 #define GAVL_AUDIO_STEREO_TO_MONO_LEFT (1<<3)
894 #define GAVL_AUDIO_STEREO_TO_MONO_RIGHT (1<<4)
897 #define GAVL_AUDIO_STEREO_TO_MONO_MIX (1<<5)
901 #define GAVL_AUDIO_STEREO_TO_MONO_MASK \
902 (GAVL_AUDIO_STEREO_TO_MONO_LEFT | \
903 GAVL_AUDIO_STEREO_TO_MONO_RIGHT | \
904 GAVL_AUDIO_STEREO_TO_MONO_MIX)
909 #define GAVL_AUDIO_NORMALIZE_MIX_MATRIX (1<<6)
918 GAVL_AUDIO_DITHER_NONE = 0,
919 GAVL_AUDIO_DITHER_AUTO = 1,
920 GAVL_AUDIO_DITHER_RECT = 2,
921 GAVL_AUDIO_DITHER_TRI = 3,
922 GAVL_AUDIO_DITHER_SHAPED = 4,
1049 const double ** matrix);
1353 #define GAVL_MAX_PLANES 4
1656 float zoom,
float squeeze);
1682 #define GAVL_PIXFMT_PLANAR (1<<8)
1687 #define GAVL_PIXFMT_RGB (1<<9)
1692 #define GAVL_PIXFMT_YUV (1<<10)
1697 #define GAVL_PIXFMT_YUVJ (1<<11)
1702 #define GAVL_PIXFMT_ALPHA (1<<12)
1707 #define GAVL_PIXFMT_GRAY (1<<13)
1847 #define GAVL_PIXELFORMAT_1D_8 GAVL_GRAY_8
1850 #define GAVL_PIXELFORMAT_2D_8 GAVL_GRAYA_16
1853 #define GAVL_PIXELFORMAT_3D_8 GAVL_RGB_24
1856 #define GAVL_PIXELFORMAT_4D_8 GAVL_RGBA_32
1860 #define GAVL_PIXELFORMAT_1D_16 GAVL_GRAY_16
1863 #define GAVL_PIXELFORMAT_2D_16 GAVL_GRAYA_32
1866 #define GAVL_PIXELFORMAT_3D_16 GAVL_RGB_48
1869 #define GAVL_PIXELFORMAT_4D_16 GAVL_RGBA_64
1873 #define GAVL_PIXELFORMAT_1D_FLOAT GAVL_GRAY_FLOAT
1876 #define GAVL_PIXELFORMAT_2D_FLOAT GAVL_GRAYA_FLOAT
1879 #define GAVL_PIXELFORMAT_3D_FLOAT GAVL_RGB_FLOAT
1882 #define GAVL_PIXELFORMAT_4D_FLOAT GAVL_RGBA_FLOAT
1912 #define gavl_pixelformat_is_gray(fmt) ((fmt) & GAVL_PIXFMT_GRAY)
1921 #define gavl_pixelformat_is_rgb(fmt) ((fmt) & GAVL_PIXFMT_RGB)
1929 #define gavl_pixelformat_is_yuv(fmt) ((fmt) & GAVL_PIXFMT_YUV)
1937 #define gavl_pixelformat_is_jpeg_scaled(fmt) ((fmt) & GAVL_PIXFMT_YUVJ)
1945 #define gavl_pixelformat_has_alpha(fmt) ((fmt) & GAVL_PIXFMT_ALPHA)
1953 #define gavl_pixelformat_is_planar(fmt) ((fmt) & GAVL_PIXFMT_PLANAR)
2275 float * off_x,
float * off_y);
2323 int pad_h,
int pad_v);
2514 const float * color);
2745 const char * namebase);
2886 #define GAVL_FORCE_DEINTERLACE (1<<0)
2892 #define GAVL_CONVOLVE_CHROMA (1<<1)
2898 #define GAVL_CONVOLVE_NORMALIZE (1<<2)
2907 #define GAVL_RESAMPLE_CHROMA (1<<3)
3089 int conversion_flags);
3168 const float * color);
3309 void * client_data);
3323 void ** client_data);
3337 void * client_data);
3351 void ** client_data);
3576 int h_radius,
const float * h_coeffs,
3577 int v_radius,
const float * v_coeffs);
3763 gavl_overlay_t * ovl);
4029 int64_t frame,
int * duration);
4044 int64_t * start_time);
4059 int64_t * start_time,
4090 int64_t * start_time,
4135 const char * filename);