changeset 8511:2b955a07fdcf

set keyframe flag at encoding
author arpi
date Sat, 21 Dec 2002 20:42:40 +0000
parents 43a716922d41
children 9c784bd027ad
files libmpcodecs/ve_qtvideo.c
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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));