+ PREALLOC( frame->i_inv_qscale_factor, (h->mb.i_mb_count+3) * sizeof(uint16_t) );
+ }
+ }
+
+ PREALLOC_END( frame->base );
+
+ if( i_csp == X264_CSP_NV12 || i_csp == X264_CSP_NV16 )
+ {
+ int chroma_padv = i_padv >> (i_csp == X264_CSP_NV12);
+ frame->plane[1] = frame->buffer[1] + frame->i_stride[1] * chroma_padv + PADH;
+ if( PARAM_INTERLACED )
+ frame->plane_fld[1] = frame->buffer_fld[1] + frame->i_stride[1] * chroma_padv + PADH;
+ }
+
+ for( int p = 0; p < luma_plane_count; p++ )
+ {
+ int luma_plane_size = align_plane_size( frame->i_stride[p] * (frame->i_lines[p] + 2*i_padv), disalign );
+ if( h->param.analyse.i_subpel_refine && b_fdec )
+ {
+ for( int i = 0; i < 4; i++ )
+ {
+ frame->filtered[p][i] = frame->buffer[p] + i*luma_plane_size + frame->i_stride[p] * i_padv + PADH;
+ frame->filtered_fld[p][i] = frame->buffer_fld[p] + i*luma_plane_size + frame->i_stride[p] * i_padv + PADH;
+ }
+ frame->plane[p] = frame->filtered[p][0];
+ frame->plane_fld[p] = frame->filtered_fld[p][0];
+ }
+ else
+ {
+ frame->filtered[p][0] = frame->plane[p] = frame->buffer[p] + frame->i_stride[p] * i_padv + PADH;
+ frame->filtered_fld[p][0] = frame->plane_fld[p] = frame->buffer_fld[p] + frame->i_stride[p] * i_padv + PADH;
+ }
+ }
+
+ if( b_fdec )
+ {
+ M32( frame->mv16x16[0] ) = 0;
+ frame->mv16x16++;
+
+ if( h->param.analyse.i_me_method >= X264_ME_ESA )
+ frame->integral = (uint16_t*)frame->buffer[3] + frame->i_stride[0] * i_padv + PADH;
+ }
+ else
+ {
+ if( h->frames.b_have_lowres )
+ {
+ int luma_plane_size = align_plane_size( frame->i_stride_lowres * (frame->i_lines[0]/2 + 2*PADV), disalign );
+ for( int i = 0; i < 4; i++ )
+ frame->lowres[i] = frame->buffer_lowres[0] + (frame->i_stride_lowres * PADV + PADH) + i * luma_plane_size;
+
+ for( int j = 0; j <= !!h->param.i_bframe; j++ )
+ for( int i = 0; i <= h->param.i_bframe; i++ )
+ memset( frame->lowres_mvs[j][i], 0, 2*h->mb.i_mb_count*sizeof(int16_t) );
+
+ frame->i_intra_cost = frame->lowres_costs[0][0];
+ memset( frame->i_intra_cost, -1, (i_mb_count+3) * sizeof(uint16_t) );
+
+ if( h->param.rc.i_aq_mode )