Mercurial > libavcodec.hg
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) |