comparison indeo3.c @ 1228:d63e0185a90f libavcodec

release buffer cleanup
author michaelni
date Tue, 06 May 2003 20:43:37 +0000
parents cae31b22b14e
children 8988af3ae1e8
comparison
equal deleted inserted replaced
1227:184c480cefc3 1228:d63e0185a90f
1054 unsigned char *src, *dest; 1054 unsigned char *src, *dest;
1055 int y; 1055 int y;
1056 1056
1057 iv_decode_frame(s, buf, buf_size); 1057 iv_decode_frame(s, buf, buf_size);
1058 1058
1059 if(s->frame.data[0])
1060 avctx->release_buffer(avctx, &s->frame);
1061
1059 s->frame.reference = 0; 1062 s->frame.reference = 0;
1060 if(avctx->get_buffer(avctx, &s->frame) < 0) { 1063 if(avctx->get_buffer(avctx, &s->frame) < 0) {
1061 fprintf(stderr, "get_buffer() failed\n"); 1064 fprintf(stderr, "get_buffer() failed\n");
1062 return -1; 1065 return -1;
1063 } 1066 }
1086 dest += s->frame.linesize[2]; 1089 dest += s->frame.linesize[2];
1087 } 1090 }
1088 1091
1089 *data_size=sizeof(AVFrame); 1092 *data_size=sizeof(AVFrame);
1090 *(AVFrame*)data= s->frame; 1093 *(AVFrame*)data= s->frame;
1091
1092 avctx->release_buffer(avctx, &s->frame);
1093 1094
1094 return buf_size; 1095 return buf_size;
1095 } 1096 }
1096 1097
1097 static int indeo3_decode_end(AVCodecContext *avctx) 1098 static int indeo3_decode_end(AVCodecContext *avctx)