1
mirror of https://github.com/mpv-player/mpv synced 2025-03-11 04:44:32 +01:00
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8471 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
arpi 2002-12-16 01:47:42 +00:00
parent ce37a98f87
commit 6b9defb1fb

@ -323,6 +323,7 @@ enum {
typedef void* ImageCodecDrawBandCompleteUPP; typedef void* ImageCodecDrawBandCompleteUPP;
typedef long long ICMProgressProcRecord; typedef long long ICMProgressProcRecord;
typedef long long ICMCompletionProcRecord; typedef long long ICMCompletionProcRecord;
typedef ICMCompletionProcRecord* ICMCompletionProcRecordPtr;
typedef long long ICMDataProcRecord; typedef long long ICMDataProcRecord;
typedef void* ICMFrameTimePtr; typedef void* ICMFrameTimePtr;
typedef void* CDSequenceDataSourcePtr; typedef void* CDSequenceDataSourcePtr;
@ -335,54 +336,31 @@ typedef GrafPtr CGrafPtr;
/* codec capabilities flags */ /* codec capabilities flags */
enum { enum {
codecCanScale = 1L << 0, codecCanScale = 1L << 0, // 1
// 1 codecCanMask = 1L << 1, // 2
codecCanMask = 1L << 1, codecCanMatte = 1L << 2, // 4
// 2 codecCanTransform = 1L << 3, // 8
codecCanMatte = 1L << 2, codecCanTransferMode = 1L << 4, // 10
// 4 codecCanCopyPrev = 1L << 5, // 20
codecCanTransform = 1L << 3, codecCanSpool = 1L << 6, // 40
// 8 codecCanClipVertical = 1L << 7, // 80
codecCanTransferMode = 1L << 4, codecCanClipRectangular = 1L << 8, // 100
// 10 codecCanRemapColor = 1L << 9, // 200
codecCanCopyPrev = 1L << 5, codecCanFastDither = 1L << 10, // 400
// 20 codecCanSrcExtract = 1L << 11, // 800
codecCanSpool = 1L << 6, codecCanCopyPrevComp = 1L << 12, // 1000
// 40 codecCanAsync = 1L << 13, // 2000
codecCanClipVertical = 1L << 7, codecCanMakeMask = 1L << 14, // 4000
// 80 codecCanShift = 1L << 15, // 8000
codecCanClipRectangular = 1L << 8, codecCanAsyncWhen = 1L << 16, // 10000
// 100 codecCanShieldCursor = 1L << 17, // 20000
codecCanRemapColor = 1L << 9, codecCanManagePrevBuffer = 1L << 18, // 40000
// 200
codecCanFastDither = 1L << 10,
// 400
codecCanSrcExtract = 1L << 11,
// 800
codecCanCopyPrevComp = 1L << 12,
// 1000
codecCanAsync = 1L << 13,
// 2000
codecCanMakeMask = 1L << 14,
// 4000
codecCanShift = 1L << 15,
// 8000
codecCanAsyncWhen = 1L << 16,
// 10000
codecCanShieldCursor = 1L << 17,
// 20000
codecCanManagePrevBuffer = 1L << 18,
// 40000
codecHasVolatileBuffer = 1L << 19, // 80000 /* codec requires redraw after window movement */ codecHasVolatileBuffer = 1L << 19, // 80000 /* codec requires redraw after window movement */
codecWantsRegionMask = 1L << 20, codecWantsRegionMask = 1L << 20, // 100000
// 100000
codecImageBufferIsOnScreen = 1L << 21, // 200000 /* old def of codec using overlay surface, = ( codecIsDirectToScreenOnly | codecUsesOverlaySurface | codecImageBufferIsOverlaySurface | codecSrcMustBeImageBuffer ) */ codecImageBufferIsOnScreen = 1L << 21, // 200000 /* old def of codec using overlay surface, = ( codecIsDirectToScreenOnly | codecUsesOverlaySurface | codecImageBufferIsOverlaySurface | codecSrcMustBeImageBuffer ) */
codecWantsDestinationPixels = 1L << 22, codecWantsDestinationPixels = 1L << 22, // 400000
// 400000 codecWantsSpecialScaling = 1L << 23, // 800000
codecWantsSpecialScaling = 1L << 23, codecHandlesInputs = 1L << 24, // 1000000
// 800000
codecHandlesInputs = 1L << 24,
// 1000000
codecCanDoIndirectSurface = 1L << 25, /* codec can handle indirect surface (GDI) */ codecCanDoIndirectSurface = 1L << 25, /* codec can handle indirect surface (GDI) */
codecIsSequenceSensitive = 1L << 26, codecIsSequenceSensitive = 1L << 26,
codecRequiresOffscreen = 1L << 27, codecRequiresOffscreen = 1L << 27,
@ -404,42 +382,24 @@ enum {
/* codec condition flags */ /* codec condition flags */
// FFD = 13 = 8+4+1 // FFD = 13 = 8+4+1
enum { enum {
codecConditionFirstBand = 1L << 0, codecConditionFirstBand = 1L << 0, // 1
// 1 codecConditionLastBand = 1L << 1, // 2
codecConditionLastBand = 1L << 1, codecConditionFirstFrame = 1L << 2, // 4
// 2 codecConditionNewDepth = 1L << 3, // 8
codecConditionFirstFrame = 1L << 2, codecConditionNewTransform = 1L << 4, // 10
// 4 codecConditionNewSrcRect = 1L << 5, // 20
codecConditionNewDepth = 1L << 3, codecConditionNewMask = 1L << 6, // 40
// 8 codecConditionNewMatte = 1L << 7, // 80
codecConditionNewTransform = 1L << 4, codecConditionNewTransferMode = 1L << 8, // 100
// 10 codecConditionNewClut = 1L << 9, // 200
codecConditionNewSrcRect = 1L << 5, codecConditionNewAccuracy = 1L << 10, // 400
// 20 codecConditionNewDestination = 1L << 11, // 800
codecConditionNewMask = 1L << 6, codecConditionFirstScreen = 1L << 12, // 1000
// 40 codecConditionDoCursor = 1L << 13, // 2000
codecConditionNewMatte = 1L << 7, codecConditionCatchUpDiff = 1L << 14, // 4000
// 80 codecConditionMaskMayBeChanged = 1L << 15, // 8000
codecConditionNewTransferMode = 1L << 8, codecConditionToBuffer = 1L << 16, // 10000
// 100 codecConditionCodecChangedMask = 1L << 31 // 20000
codecConditionNewClut = 1L << 9,
// 200
codecConditionNewAccuracy = 1L << 10,
// 400
codecConditionNewDestination = 1L << 11,
// 800
codecConditionFirstScreen = 1L << 12,
// 1000
codecConditionDoCursor = 1L << 13,
// 2000
codecConditionCatchUpDiff = 1L << 14,
// 4000
codecConditionMaskMayBeChanged = 1L << 15,
// 8000
codecConditionToBuffer = 1L << 16,
// 10000
codecConditionCodecChangedMask = 1L << 31
// 20000
}; };
@ -468,8 +428,7 @@ struct __attribute__((__packed__)) CodecDecompressParams {
long stopLine; long stopLine;
long conditionFlags; long conditionFlags;
CodecFlags callerFlags; CodecFlags callerFlags; // short
// short
CodecCapabilities * capabilities; /* predecompress,banddecompress */ CodecCapabilities * capabilities; /* predecompress,banddecompress */
ICMProgressProcRecord progressProcRecord; ICMProgressProcRecord progressProcRecord;
ICMCompletionProcRecord completionProcRecord; ICMCompletionProcRecord completionProcRecord;
@ -643,6 +602,25 @@ struct __attribute__((__packed__)) CodecInfo {
}; };
typedef struct CodecInfo CodecInfo; typedef struct CodecInfo CodecInfo;
enum {
codecFlagUseImageBuffer = (1L << 0), /* decompress*/
codecFlagUseScreenBuffer = (1L << 1), /* decompress*/
codecFlagUpdatePrevious = (1L << 2), /* compress*/
codecFlagNoScreenUpdate = (1L << 3), /* decompress*/
codecFlagWasCompressed = (1L << 4), /* compress*/
codecFlagDontOffscreen = (1L << 5), /* decompress*/
codecFlagUpdatePreviousComp = (1L << 6), /* compress*/
codecFlagForceKeyFrame = (1L << 7), /* compress*/
codecFlagOnlyScreenUpdate = (1L << 8), /* decompress*/
codecFlagLiveGrab = (1L << 9), /* compress*/
codecFlagDiffFrame = (1L << 9), /* decompress*/
codecFlagDontUseNewImageBuffer = (1L << 10), /* decompress*/
codecFlagInterlaceUpdate = (1L << 11), /* decompress*/
codecFlagCatchUpDiff = (1L << 12), /* decompress*/
codecFlagSupportDisable = (1L << 13), /* decompress*/
codecFlagReenable = (1L << 14) /* decompress*/
};
static inline void dump_ImageDescription(void* xxx){ static inline void dump_ImageDescription(void* xxx){
ImageDescription* id=(ImageDescription*)xxx; ImageDescription* id=(ImageDescription*)xxx;
unsigned char* x; unsigned char* x;