Mercurial > libavcodec.hg
diff mpegvideo.c @ 3245:c2c29be6282e libavcodec
remove mpegvideo.c img resample dependancy
author | michael |
---|---|
date | Fri, 31 Mar 2006 20:43:37 +0000 |
parents | 4186eb8d29a1 |
children | f7a9d8dd476b |
line wrap: on
line diff
--- a/mpegvideo.c Fri Mar 31 20:40:22 2006 +0000 +++ b/mpegvideo.c Fri Mar 31 20:43:37 2006 +0000 @@ -2180,10 +2180,11 @@ int i, j, out_size, p_lambda, b_lambda, lambda2; int outbuf_size= s->width * s->height; //FIXME uint8_t *outbuf= av_malloc(outbuf_size); - ImgReSampleContext *resample; int64_t best_rd= INT64_MAX; int best_b_count= -1; + assert(scale>=0 && scale <=3); + // emms_c(); p_lambda= s->last_lambda_for[P_TYPE]; //s->next_picture_ptr->quality; b_lambda= s->last_lambda_for[B_TYPE]; //p_lambda *ABS(s->avctx->b_quant_factor) + s->avctx->b_quant_offset; @@ -2205,8 +2206,6 @@ if (avcodec_open(c, codec) < 0) return -1; - resample= img_resample_init(c->width, c->height, s->width, s->height); //FIXME use sws - for(i=0; i<s->max_b_frames+2; i++){ int ysize= c->width*c->height; int csize= (c->width/2)*(c->height/2); @@ -2229,9 +2228,11 @@ input[i].linesize[1]= input[i].linesize[2]= c->width/2; - if(!i || s->input_picture[i-1]) - img_resample(resample, (AVPicture*)&input[i], - (AVPicture*)&pre_input); + if(!i || s->input_picture[i-1]){ + s->dsp.shrink[scale](input[i].data[0], input[i].linesize[0], pre_input.data[0], pre_input.linesize[0], c->width, c->height); + s->dsp.shrink[scale](input[i].data[1], input[i].linesize[1], pre_input.data[1], pre_input.linesize[1], c->width>>1, c->height>>1); + s->dsp.shrink[scale](input[i].data[2], input[i].linesize[2], pre_input.data[2], pre_input.linesize[2], c->width>>1, c->height>>1); + } } for(j=0; j<s->max_b_frames+1; j++){ @@ -2273,7 +2274,6 @@ av_freep(&outbuf); avcodec_close(c); av_freep(&c); - img_resample_close(resample); for(i=0; i<s->max_b_frames+2; i++){ av_freep(&input[i].data[0]);