rendered paste body--- libhb/hb.c (revision 884)+++ libhb/hb.c (working copy)@@ -311,14 +311,27 @@ hb_job_t * job = title->job; char filename[1024]; FILE * file;- uint8_t * pen;+ uint8_t * buf1, * buf2, * buf3, * buf4, * pen; uint32_t * p32; AVPicture pic_in, pic_preview, pic_deint, pic_crop, pic_scale; struct SwsContext * context; int i; + buf1 = malloc( title->width * title->height * 3 / 2 );+ buf2 = malloc( title->width * title->height * 3 / 2 );+ buf3 = malloc( title->width * title->height * 3 / 2 );+ buf4 = malloc( title->width * title->height * 4 );+ avpicture_fill( &pic_in, buf1, PIX_FMT_YUV420P,+ title->width, title->height );+ avpicture_fill( &pic_deint, buf2, PIX_FMT_YUV420P,+ title->width, title->height );+ avpicture_fill( &pic_scale, buf3, PIX_FMT_YUV420P,+ job->width, job->height );+ avpicture_fill( &pic_preview, buf4, PIX_FMT_RGBA32,+ job->width, job->height );+ // Allocate the AVPicture frames and fill in- avpicture_alloc( &pic_in, PIX_FMT_YUV420P, title->width, title->height );+ //avpicture_alloc( &pic_in, PIX_FMT_YUV420P, title->width, title->height ); memset( filename, 0, 1024 ); @@ -332,13 +345,13 @@ return; } - fread( pic_in.data[0], title->width * title->height * 3 / 2, 1, file );+ fread( buf1, title->width * title->height * 3 / 2, 1, file ); fclose( file ); if( job->deinterlace ) { // Allocate picture to deinterlace into and deinterlace- avpicture_alloc( &pic_deint, PIX_FMT_YUV420P, title->width, title->height );+ //avpicture_alloc( &pic_deint, PIX_FMT_YUV420P, title->width, title->height ); avpicture_deinterlace( &pic_deint, &pic_in, PIX_FMT_YUV420P, title->width, title->height ); av_picture_crop( &pic_crop, &pic_deint, PIX_FMT_YUV420P, job->crop[0], job->crop[2] );@@ -349,7 +362,7 @@ } // Allocate picture to scale into, get scaling context and scale- avpicture_alloc( &pic_scale, PIX_FMT_YUV420P, job->width, job->height );+ //avpicture_alloc( &pic_scale, PIX_FMT_YUV420P, job->width, job->height ); context = sws_getContext(title->width - (job->crop[2] + job->crop[3]), title->height - (job->crop[0] + job->crop[1]), PIX_FMT_YUV420P,@@ -361,7 +374,7 @@ pic_scale.data, pic_scale.linesize); // Allocate RGBA32 preview picture and create preview- avpicture_alloc( &pic_preview, PIX_FMT_RGBA32, job->width, job->height );+ //avpicture_alloc( &pic_preview, PIX_FMT_RGBA32, job->width, job->height ); context = sws_getContext(job->width, job->height, PIX_FMT_YUV420P, job->width, job->height, PIX_FMT_RGBA32, SWS_LANCZOS, NULL, NULL, NULL);@@ -388,17 +401,21 @@ nextLine = pen + 4 * ( title->width + 2 ); memset( pen, 0xFF, 4 ); pen += 4;- memcpy( pen, pic_preview.data[0] + 4 * job->width * i, 4 * job->width );+ memcpy( pen, buf4 + 4 * job->width * i, 4 * job->width ); pen += 4 * job->width; memset( pen, 0xFF, 4 ); pen = nextLine; } memset( pen, 0xFF, 4 * ( job->width + 2 ) ); - avpicture_free( &pic_preview );- avpicture_free( &pic_scale );- if( job->deinterlace ) avpicture_free( &pic_deint );- avpicture_free( &pic_in );+ //avpicture_free( &pic_preview );+ //avpicture_free( &pic_scale );+ //if( job->deinterlace ) avpicture_free( &pic_deint );+ //avpicture_free( &pic_in );+ free( buf1 );+ free( buf2 );+ free( buf3 );+ free( buf4 ); } /**