--- /dev/null
+#ifndef CAP_H
+#define CAP_H
+
+#ifdef CONFIG_VIDEO_CAPTURE
+
+#include "qtypes.h"
+#include "qdefs.h"
+#include "fs.h"
+#include "snd_main.h"
+
+typedef enum capturevideoformat_e
+{
+ CAPTUREVIDEOFORMAT_AVI_I420,
+ CAPTUREVIDEOFORMAT_OGG_VORBIS_THEORA
+}
+capturevideoformat_t;
+
+typedef struct capturevideostate_s
+{
+ double startrealtime;
+ double framerate;
+ int framestep;
+ int framestepframe;
+ qbool active;
+ qbool realtime;
+ qbool error;
+ int soundrate;
+ int soundchannels;
+ int frame;
+ double starttime;
+ double lastfpstime;
+ int lastfpsframe;
+ int soundsampleframe;
+ unsigned char *screenbuffer;
+ unsigned char *outbuffer;
+ char basename[MAX_QPATH];
+ int width, height;
+
+ // precomputed RGB to YUV tables
+ // converts the RGB values to YUV (see cap_avi.c for how to use them)
+ short rgbtoyuvscaletable[3][3][256];
+ unsigned char yuvnormalizetable[3][256];
+
+ // precomputed gamma ramp (only needed if the capturevideo module uses RGB output)
+ // note: to map from these values to RGB24, you have to multiply by 255.0/65535.0, then add 0.5, then cast to integer
+ unsigned short vidramp[256 * 3];
+
+ // stuff to be filled in by the video format module
+ capturevideoformat_t format;
+ const char *formatextension;
+ qfile_t *videofile;
+ // always use this:
+ // cls.capturevideo.videofile = FS_OpenRealFile(va(vabuf, sizeof(vabuf), "%s.%s", cls.capturevideo.basename, cls.capturevideo.formatextension), "wb", false);
+ void (*endvideo) (void);
+ void (*videoframes) (int num);
+ void (*soundframe) (const portable_sampleframe_t *paintbuffer, size_t length);
+
+ // format specific data
+ void *formatspecific;
+}
+capturevideostate_t;
+#endif
+
+#endif
#include "matrixlib.h"
#include "snd_main.h"
#include "view.h"
+#include "cap.h"
// NOTE: r_stat_name[] must match this indexing
typedef enum r_stat_e
}
qw_downloadtype_t;
-#ifdef CONFIG_VIDEO_CAPTURE
-typedef enum capturevideoformat_e
-{
- CAPTUREVIDEOFORMAT_AVI_I420,
- CAPTUREVIDEOFORMAT_OGG_VORBIS_THEORA
-}
-capturevideoformat_t;
-
-typedef struct capturevideostate_s
-{
- double startrealtime;
- double framerate;
- int framestep;
- int framestepframe;
- qbool active;
- qbool realtime;
- qbool error;
- int soundrate;
- int soundchannels;
- int frame;
- double starttime;
- double lastfpstime;
- int lastfpsframe;
- int soundsampleframe;
- unsigned char *screenbuffer;
- unsigned char *outbuffer;
- char basename[MAX_QPATH];
- int width, height;
-
- // precomputed RGB to YUV tables
- // converts the RGB values to YUV (see cap_avi.c for how to use them)
- short rgbtoyuvscaletable[3][3][256];
- unsigned char yuvnormalizetable[3][256];
-
- // precomputed gamma ramp (only needed if the capturevideo module uses RGB output)
- // note: to map from these values to RGB24, you have to multiply by 255.0/65535.0, then add 0.5, then cast to integer
- unsigned short vidramp[256 * 3];
-
- // stuff to be filled in by the video format module
- capturevideoformat_t format;
- const char *formatextension;
- qfile_t *videofile;
- // always use this:
- // cls.capturevideo.videofile = FS_OpenRealFile(va(vabuf, sizeof(vabuf), "%s.%s", cls.capturevideo.basename, cls.capturevideo.formatextension), "wb", false);
- void (*endvideo) (void);
- void (*videoframes) (int num);
- void (*soundframe) (const portable_sampleframe_t *paintbuffer, size_t length);
-
- // format specific data
- void *formatspecific;
-}
-capturevideostate_t;
-#endif
-
#define CL_MAX_DOWNLOADACKS 4
typedef struct cl_downloadack_s
<ItemGroup>\r
<ClInclude Include="bih.h" />\r
<ClInclude Include="bspfile.h" />\r
+ <ClInclude Include="cap.h" />\r
<ClInclude Include="cap_avi.h" />\r
<ClInclude Include="cap_ogg.h" />\r
<ClInclude Include="cdaudio.h" />\r
<ItemGroup>\r
<ClInclude Include="bih.h" />\r
<ClInclude Include="bspfile.h" />\r
+ <ClInclude Include="cap.h" />\r
<ClInclude Include="cap_avi.h" />\r
<ClInclude Include="cap_ogg.h" />\r
<ClInclude Include="cdaudio.h" />\r