X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=libhb%2Fdetelecine.c;h=92d279d6fb015141943cedbc19b5036685b94447;hb=8425b4e14041ee668806cff29e458ae73bcd894f;hp=a305cb4d20a6065ba63802e837646759b909b35c;hpb=4bc5b5e9a9eeb72edde3d9f6b5ba092d5f96b2f0;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/libhb/detelecine.c b/libhb/detelecine.c index a305cb4d..92d279d6 100644 --- a/libhb/detelecine.c +++ b/libhb/detelecine.c @@ -567,15 +567,17 @@ void pullup_free_context( struct pullup_context * c ) free( c->buffers ); - f = c->head; - do + f = c->head->next; + while( f != c->head ) { free( f->diffs ); free( f->comb ); f = f->next; free( f->prev ); } - while( f != c->head ); + free( f->diffs ); + free( f->comb ); + free(f); free( c->frame ); free( c ); @@ -827,8 +829,7 @@ hb_filter_private_t * hb_detelecine_init( int pix_fmt, pv->width[1] = pv->width[2] = width >> 1; pv->height[1] = pv->height[2] = height >> 1; - int buf_size = 3 * width * height / 2; - pv->buf_out = hb_buffer_init( buf_size ); + pv->buf_out = hb_video_buffer_init( width, height ); struct pullup_context * ctx; pv->pullup_ctx = ctx = pullup_alloc_context();