OSDN Git Service

Make the ugly hack which uses an unused entry in the internal buffer
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 19 Jul 2008 00:32:15 +0000 (00:32 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 19 Jul 2008 00:32:15 +0000 (00:32 +0000)
array actually use a unused one, so it does work.

Originally committed as revision 14286 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/utils.c

index b3d9b36..fd160de 100644 (file)
@@ -195,7 +195,7 @@ int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic){
         return -1;
 
     if(s->internal_buffer==NULL){
-        s->internal_buffer= av_mallocz(INTERNAL_BUFFER_SIZE*sizeof(InternalBuffer));
+        s->internal_buffer= av_mallocz((INTERNAL_BUFFER_SIZE+1)*sizeof(InternalBuffer));
     }
 #if 0
     s->internal_buffer= av_fast_realloc(
@@ -206,7 +206,7 @@ int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic){
 #endif
 
     buf= &((InternalBuffer*)s->internal_buffer)[s->internal_buffer_count];
-    picture_number= &(((InternalBuffer*)s->internal_buffer)[INTERNAL_BUFFER_SIZE-1]).last_pic_num; //FIXME ugly hack
+    picture_number= &(((InternalBuffer*)s->internal_buffer)[INTERNAL_BUFFER_SIZE]).last_pic_num; //FIXME ugly hack
     (*picture_number)++;
 
     if(buf->base[0] && (buf->width != w || buf->height != h || buf->pix_fmt != s->pix_fmt)){