dump stuff

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5335 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
arpi 2002-03-25 13:35:23 +00:00
parent fbba1ecea0
commit cc54e54ca0
1 changed files with 205 additions and 1 deletions

View File

@ -80,7 +80,7 @@ typedef ComponentInstanceRecord * ComponentInstance;
// ========================= QUICKDRAW =========================
struct Rect {
struct __attribute__((__packed__)) Rect {
short top;
short left;
short bottom;
@ -242,6 +242,118 @@ typedef GrafPtr CGrafPtr;
typedef struct OpaqueRgnHandle* RgnHandle;
/* codec capabilities flags */
enum {
codecCanScale = 1L << 0,
// 1
codecCanMask = 1L << 1,
// 2
codecCanMatte = 1L << 2,
// 4
codecCanTransform = 1L << 3,
// 8
codecCanTransferMode = 1L << 4,
// 10
codecCanCopyPrev = 1L << 5,
// 20
codecCanSpool = 1L << 6,
// 40
codecCanClipVertical = 1L << 7,
// 80
codecCanClipRectangular = 1L << 8,
// 100
codecCanRemapColor = 1L << 9,
// 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 */
codecWantsRegionMask = 1L << 20,
// 100000
codecImageBufferIsOnScreen = 1L << 21, // 200000 /* old def of codec using overlay surface, = ( codecIsDirectToScreenOnly | codecUsesOverlaySurface | codecImageBufferIsOverlaySurface | codecSrcMustBeImageBuffer ) */
codecWantsDestinationPixels = 1L << 22,
// 400000
codecWantsSpecialScaling = 1L << 23,
// 800000
codecHandlesInputs = 1L << 24,
// 1000000
codecCanDoIndirectSurface = 1L << 25, /* codec can handle indirect surface (GDI) */
codecIsSequenceSensitive = 1L << 26,
codecRequiresOffscreen = 1L << 27,
codecRequiresMaskBits = 1L << 28,
codecCanRemapResolution = 1L << 29,
codecIsDirectToScreenOnly = 1L << 30, /* codec can only decompress data to the screen */
codecCanLockSurface = 1L << 31 /* codec can lock destination surface, icm doesn't lock for you */
};
/* codec capabilities flags2 */
enum {
codecUsesOverlaySurface = 1L << 0, /* codec uses overlay surface */
codecImageBufferIsOverlaySurface = 1L << 1, /* codec image buffer is overlay surface, the bits in the buffer are on the screen */
codecSrcMustBeImageBuffer = 1L << 2, /* codec can only source data from an image buffer */
codecImageBufferIsInAGPMemory = 1L << 4, /* codec image buffer is in AGP space, byte writes are OK */
codecImageBufferIsInPCIMemory = 1L << 5 /* codec image buffer is across a PCI bus; byte writes are bad */
};
/* codec condition flags */
// FFD = 13 = 8+4+1
enum {
codecConditionFirstBand = 1L << 0,
// 1
codecConditionLastBand = 1L << 1,
// 2
codecConditionFirstFrame = 1L << 2,
// 4
codecConditionNewDepth = 1L << 3,
// 8
codecConditionNewTransform = 1L << 4,
// 10
codecConditionNewSrcRect = 1L << 5,
// 20
codecConditionNewMask = 1L << 6,
// 40
codecConditionNewMatte = 1L << 7,
// 80
codecConditionNewTransferMode = 1L << 8,
// 100
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
};
struct CodecCapabilities {
long flags;
short wantedPixelSize;
@ -441,4 +553,96 @@ struct CodecInfo {
};
typedef struct CodecInfo CodecInfo;
static inline void dump_ImageDescription(void* xxx){
ImageDescription* id=(ImageDescription*)xxx;
unsigned char* x;
printf("=============== ImageDescription at %p ==================\n",xxx);
printf("idSize=0x%X fourcc=0x%08X\n",id->idSize,id->cType);
printf("ver=%d rev=%d vendor=0x%08X\n",id->version,id->revisionLevel,id->vendor);
printf("tempQ=%d spatQ=%d dim: %d x %d dpi: %d x %d depth: %d\n",
id->temporalQuality,id->spatialQuality,
id->width, id->height,
id->hRes, id->vRes,
id->depth);
printf("dataSize=%d frameCount=%d clutID=%d\n",id->dataSize, id->frameCount, id->clutID);
printf("name='%.*s'\n",((char*)(&id->name))[0],((char*)(&id->name))+1);
x=((char*)(&id->clutID))+2;
if(id->idSize>sizeof(ImageDescription)){
printf("%02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X\n",
x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15]);
}
printf("=========================================================\n");
}
static inline void dump_Rect(char* title,Rect *r){
printf("%s: %d;%d - %d;%d\n",title,
(int)r->top,(int)r->left,(int)r->bottom,(int)r->right);
}
static inline void dump_MatrixRecord(char* title, MatrixRecord *m){
printf("%s: [%d %d %d][%d %d %d][%d %d %d]\n",title,
m->matrix[0][0],m->matrix[0][1],m->matrix[0][2],
m->matrix[1][0],m->matrix[1][1],m->matrix[1][2],
m->matrix[2][0],m->matrix[2][1],m->matrix[2][2]);
}
static inline void dump_PixMap(void* xxx){
PixMap *p=xxx;
printf("=============== PixMap at %p ==================\n",xxx);
printf("base=%p stride=%d\n",p->baseAddr, p->rowBytes);
dump_Rect("bounds",&p->bounds);
printf("pmVersion=0x%X packType=0x%X\n packSize=0x%X\n",
p->pmVersion,p->packType, p->packSize);
printf("hRes=0x%X vRes=0x%X pixelType=0x%X pixelSize=0x%X\n",
p->hRes,p->vRes,p->pixelType,p->pixelSize);
printf("cmpCount=0x%X cmpSize=0x%X pixelFormat=0x%X\n",
p->cmpCount,p->cmpSize,p->pixelFormat);
printf("pmTable=%p pmExt=%p\n",p->pmTable,p->pmExt);
printf("=========================================================\n");
}
static inline void dump_CodecCapabilities(void* xxx){
CodecCapabilities* cc=xxx;
if(!xxx) return;
printf("=============== CodecCapabilities at %p =================\n",xxx);
printf("flags=0x%X flags2=0x%X\n",cc->flags,cc->flags2);
printf("wantedPixelSize=%d extendWidth=%d extendHeight=%d band=%d+%d\n",
cc->wantedPixelSize,cc->extendWidth,cc->extendHeight,
cc->bandMin,cc->bandInc);
printf("pad=0x%X time=0x%X\n",cc->pad,cc->time);
printf("=========================================================\n");
}
static inline void dump_CodecDecompressParams(void* xxx){
CodecDecompressParams* cd=xxx;
ImageDescription **idh;
if(!xxx) return;
printf("=============== CodecDecompressParams at %p ==================\n",xxx);
printf("sequenceID=%d\n",cd->sequenceID);
idh=cd->imageDescription;
if(idh && idh[0]) dump_ImageDescription(idh[0]);
printf("data=%p size=%d\n",cd->data,cd->bufferSize);
printf("frameno=%d lines: %d .. %d condflags=0x%X callerflags=0x%X\n",
cd->frameNumber, cd->startLine, cd->stopLine, cd->conditionFlags,cd->callerFlags);
// printf("maskBits=%p mattePixMap=%p\n",
// cd->maskBits,cd->mattePixMap);
// dump_PixMap(&cd->dstPixMap);
// if(cd->mattePixMap) dump_PixMap(cd->mattePixMap);
// dump_MatrixRecord("matrix",cd->matrix);
printf("accuracy=%d transferMode=%d matrixFlags=0x%X matrixType=%d\n",
(int)cd->accuracy, (int)cd->transferMode, (int)cd->matrixFlags, (int)cd->matrixType);
printf("srcrect: %d;%d - %d;%d\n",cd->srcRect.top,cd->srcRect.left,cd->srcRect.bottom,cd->srcRect.right);
printf("dstrect: %d;%d - %d;%d\n",cd->dstRect.top,cd->dstRect.left,cd->dstRect.bottom,cd->dstRect.right);
printf("wantedDestinationPixelTypes=%p\n",cd->wantedDestinationPixelTypes);
printf("screenFloodMethod=%d value=%d preferredOffscreenPixelSize=%d\n",
cd->screenFloodMethod, cd->screenFloodValue, cd->preferredOffscreenPixelSize);
printf("callbacks: progress=%p compl=%p data=%p ftime=%p srcdata=%p sync=%p\n",
cd->progressProcRecord, cd->completionProcRecord,
cd->dataProcRecord, cd->frameTime, cd->sourceData, cd->syncFrameTime);
// printf("\n");
printf("=========================================================\n");
}