123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- #ifndef __INC_VP60_COMP_INTERFACE_H
- #define __INC_VP60_COMP_INTERFACE_H
- #ifdef _MSC_VER
- #pragma warning(disable: 4514)
- #endif
- #include "codec_common_interface.h"
- #include "type_aliases.h"
- #include "string.h"
- #define DEFAULT_VALUE -999
- typedef enum
- {
- USAGE_STREAM_FROM_SERVER = 0x0,
- USAGE_LOCAL_FILE_PLAYBACK = 0x1
- } END_USAGE;
- typedef enum
- {
- MODE_REALTIME = 0x0,
- MODE_GOODQUALITY = 0x1,
- MODE_BESTQUALITY = 0x2,
- MODE_FIRSTPASS = 0x3,
- MODE_SECONDPASS = 0x4,
- MODE_SECONDPASS_BEST= 0x5
- } MODE;
- typedef struct
- {
-
-
- UINT32 FrameSize;
- UINT32 TargetBitRate;
- UINT32 FrameRate;
- UINT32 KeyFrameFrequency;
- UINT32 KeyFrameDataTarget;
- UINT32 Quality;
- BOOL AllowDF;
- BOOL QuickCompress;
- BOOL AutoKeyFrameEnabled;
- INT32 AutoKeyFrameThreshold;
- UINT32 MinimumDistanceToKeyFrame;
- INT32 ForceKeyFrameEvery;
- INT32 NoiseSensitivity;
- BOOL AllowSpatialResampling;
-
- UINT32 HScale;
- UINT32 HRatio;
-
- UINT32 VScale;
- UINT32 VRatio;
-
- UINT32 ScalingMode;
-
- UINT32 Interlaced;
- BOOL FixedQ;
- INT32 StartingBufferLevel;
- INT32 OptimalBufferLevel;
- INT32 DropFramesWaterMark;
- INT32 ResampleDownWaterMark;
- INT32 ResampleUpWaterMark;
- INT32 OutputFrameRate;
- INT32 Speed;
- BOOL ErrorResilientMode;
-
- INT32 Profile;
- BOOL DisableGolden;
- BOOL VBMode;
- UINT32 BestAllowedQ;
- INT32 UnderShootPct;
- INT32 MaxAllowedDatarate;
- INT32 MaximumBufferSize;
- BOOL TwoPassVBREnabled;
- INT32 TwoPassVBRBias;
- INT32 TwoPassVBRMaxSection;
- INT32 TwoPassVBRMinSection;
- INT32 Pass;
- MODE Mode;
- END_USAGE EndUsage;
- char FirstPassFile[512];
- char SettingsFile[512];
- char RootDirectory[512];
- INT32 PlaceHolder;
- INT32 DeleteFirstPassFile;
- INT32 Sharpness;
- } COMP_CONFIG_VP6;
- typedef struct
- {
- int YWidth;
- int YHeight;
- int YStride;
- int UVWidth;
- int UVHeight;
- int UVStride;
- char *YBuffer;
- char *UBuffer;
- char *VBuffer;
- } YUV_INPUT_BUFFER_CONFIG;
- #ifdef _MSC_VER
- _inline
- void comp_config_default_vp6 ( COMP_CONFIG_VP6* pcc )
- {
- pcc->FrameSize = 0;
- pcc->TargetBitRate = 300;
- pcc->FrameRate = 0;
- pcc->KeyFrameFrequency = 120;
- pcc->KeyFrameDataTarget = 0;
- pcc->Quality = 56;
- pcc->AllowDF = 0;
- pcc->AutoKeyFrameEnabled = 1;
- pcc->AutoKeyFrameThreshold = 80;
- pcc->MinimumDistanceToKeyFrame = 4;
- pcc->ForceKeyFrameEvery = 120;
- pcc->NoiseSensitivity = 0;
- pcc->AllowSpatialResampling = 0;
- pcc->HScale = 1;
- pcc->HRatio = 1;
- pcc->VScale = 1;
- pcc->VRatio = 1;
- pcc->ScalingMode = MAINTAIN_ASPECT_RATIO;
- pcc->Interlaced = 0;
- pcc->FixedQ = 0;
- pcc->StartingBufferLevel = 4;
- pcc->OptimalBufferLevel = 5;
- pcc->DropFramesWaterMark = 20;
- pcc->ResampleDownWaterMark = 35;
- pcc->ResampleUpWaterMark = 45;
- pcc->OutputFrameRate = 30;
- pcc->Speed = 4;
- pcc->ErrorResilientMode = FALSE;
- pcc->Profile = 0;
- pcc->DisableGolden = 0;
- pcc->BestAllowedQ = 4;
- pcc->UnderShootPct = 90;
- pcc->MaxAllowedDatarate = 100;
- pcc->MaximumBufferSize = 6;
- pcc->TwoPassVBRBias = 70;
- pcc->TwoPassVBRMaxSection = 400;
- pcc->TwoPassVBRMinSection = 40;
- pcc->Mode = MODE_GOODQUALITY;
- pcc->EndUsage = USAGE_STREAM_FROM_SERVER;
-
- pcc->QuickCompress = DEFAULT_VALUE;
- pcc->Pass = DEFAULT_VALUE;
- pcc->VBMode = DEFAULT_VALUE;
- pcc->TwoPassVBREnabled = DEFAULT_VALUE;
- pcc->SettingsFile[0] = 0;
- pcc->RootDirectory[0] = 0;
- pcc->Sharpness = 5;
- strncpy(pcc->FirstPassFile,"firstpass.fpf",512);
-
-
- return;
- }
- #endif
- #endif
|