home *** CD-ROM | disk | FTP | other *** search
- /*
- * FlasKMPEG.h
- *
- * Copyright (C) Alberto Vigata - January 2000 - ultraflask@yahoo.com
- *
- * This file is part of FlasKMPEG, a free MPEG to MPEG/AVI converter
- *
- * FlasKMPEG 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.
- *
- * FlasKMPEG 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.
- *
- */
-
- #ifndef FLASKMPEG_H
- #define FLASKMPEG_H
-
- #include <windows.h>
- #include <winbase.h>
- #include <wingdi.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <fcntl.h>
-
-
- //Premiere Includes
- #include ".\Premiere\prTypes.h"
- #include ".\Premiere\prCompile.h"
- #include ".\Premiere\prWinEnv.h"
- #include ".\Premiere\premiere.h"
-
- #include <io.h>
-
- #define MAXFILENAME 1024
-
- typedef __int8 i8;
- typedef __int16 i16;
- typedef __int32 i32;
- typedef __int64 i64;
-
- typedef unsigned __int8 ui8;
- typedef unsigned __int16 ui16;
- typedef unsigned __int32 ui32;
- typedef unsigned __int64 ui64;
-
-
-
- #define VERSION 594
-
- /* FlasK MPEG options */
- typedef struct
- {
- //Miscelaneous
- bool firstTimeRunning;
- bool showDetailsInProgress;
- bool compileWhole;
- int displayTimeUnits; /* general diag box: 0 = seconds, 1 = frames */
- unsigned long framesToCompile;
- int outputFormat;
- int selectedTab;
- int priority;
- int selected_language;
-
- bool warn_overwrite;
- bool shutdown;
-
- int lurk_size;
- //Video options
- int InterpolatedWidth;
- int InterpolatedHeight;
- compTimebaseRec timeBase;
- bool recons_progressive;
-
- //Crop and letterboxing
- bool crop;
- int cropTopOffset;
- int cropHeight;
- int cropLeftOffset;
- int cropWidth;
-
- bool letterbox;
- int letterboxTop;
- int letterboxBottom;
- int letterboxLeft;
- int letterboxRight;
-
- //Interlacing
- int deinterlace;
- int threshold;
- int blend;
-
- bool keepAspect;
- int idctType;
- bool displayVideo;
- bool syncVideo;
-
- //Audio options
- int audioMode;
- int outSampleFrequency;
- bool sampleFreqSameAsInput;
-
- //File options
- HANDLE hOutputFile; //Handle to output file
- char inputFile[MAXFILENAME];
- char inputDir[MAXFILENAME];
- char outputFile[MAXFILENAME];
- char outputDir[MAXFILENAME];
- char audioOutFile[MAXFILENAME];
- char audioOutDir[MAXFILENAME];
-
- //Interpolation filter options
- int filter;
- ui32 presentFrame;
-
- } TagOptions;
-
- typedef struct
- {
- int version;
- TagOptions options;
- } TConfig;
-
-
- //audioTypes
- #define AC3 0
- #define MPEG 1
- #define NO 2
-
-
- typedef struct
- {
- ULONG totalFileSize;
- ULONG currentPosition;
- } TFileProgress;
-
-
- int LoadRegistryConfig( TConfig *Config );
- void SaveRegistryConfig( TConfig *Config );
- void ShowInConsole(char *buffer);
-
- /*
- #define NEAREST 0
- #define BILINEAL 1
- #define BELL 2
- #define BSPLINE 3
- #define LANCZOS3 5
- #define MITCHELL 6
- #define BICUBIC 3
- #define HANNING 4
- */
-
- #define MAX_IMAGE_MEM 1024*1024*4
-
- #define INPUT_NOEXIST 1
- #define IS_TRANSPORTSTREAM 2
- #define NOT_RECOGNIZED 3
- #define NO_AUDIOVIDEO 4
-
- //Audio modes
- #define NO_AUDIO 0
- #define DSC 1
- #define DO_AUDIO 2
-
-
- // Priorities
- #define IDLE_PRIO 0
- #define NORMAL_PRIO 1
- #define HIGH_PRIO 2
- #define HIGHEST_PRIO 3
- #endif