# HG changeset patch # User arpi # Date 1040503360 0 # Node ID 2b955a07fdcf5c7c395fdaa4d6564b9bf884e165 # Parent 43a716922d4102d2d707fde57c612d5d69389316 set keyframe flag at encoding diff -r 43a716922d41 -r 2b955a07fdcf libmpcodecs/ve_qtvideo.c --- a/libmpcodecs/ve_qtvideo.c Sat Dec 21 20:39:40 2002 +0000 +++ b/libmpcodecs/ve_qtvideo.c Sat Dec 21 20:42:40 2002 +0000 @@ -172,7 +172,7 @@ OSErr cres; long framesizemax; - UInt8 similarity; + UInt8 similarity=0; long compressedsize; int in_format=kYUVSPixelFormat; int width = mpi->width; @@ -216,6 +216,7 @@ &framesizemax ); printf("GetMaxCompressionSize returned:%i : MaxSize:%i\n",cres&0xFFFF,framesizemax); frame_comp=malloc(framesizemax); + desc = (ImageDescriptionHandle)NewHandleClear(MAX_IDSIZE); //memory where the desc will be stored (*desc)->idSize=MAX_IDSIZE; @@ -230,7 +231,7 @@ compressor, // codec component codecNormalQuality, //codecNormalQuality, codecMaxQuality, //codecNormalQuality, - 10*25, // keyframe rate + 10*30, // keyframe rate 0, 0, desc); @@ -251,11 +252,11 @@ 0); if(cres&0xFFFF)printf("CompressSequenceFrame returned:%i\n",cres&0xFFFF); +#if 0 printf("Size %i->%i \n",stride*height,compressedsize); -#if 0 printf("Ratio: %i:1\n",(stride*height)/compressedsize); #endif - mencoder_write_chunk(mux_v, compressedsize , 0x10); + mencoder_write_chunk(mux_v, compressedsize , similarity?0:0x10); if(((*desc)->idSize)>MAX_IDSIZE){ printf("FATAL! idSize=%d too big, increase MAX_IDSIZE in ve_qtvideo.c!\n",((*desc)->idSize));