comparison dnxhdenc.c @ 8303:bf6a78c6697b libavcodec

dnxhd get_pixels_8x4_sym sse2
author bcoudurier
date Fri, 12 Dec 2008 00:19:14 +0000
parents f54976d6a8a5
children 7a463923ecd1
comparison
equal deleted inserted replaced
8302:f54976d6a8a5 8303:bf6a78c6697b
171 171
172 ctx->m.avctx = avctx; 172 ctx->m.avctx = avctx;
173 ctx->m.mb_intra = 1; 173 ctx->m.mb_intra = 1;
174 ctx->m.h263_aic = 1; 174 ctx->m.h263_aic = 1;
175 175
176 ctx->get_pixels_8x4_sym = dnxhd_get_pixels_8x4;
177
176 dsputil_init(&ctx->m.dsp, avctx); 178 dsputil_init(&ctx->m.dsp, avctx);
177 ff_dct_common_init(&ctx->m); 179 ff_dct_common_init(&ctx->m);
180 #ifdef HAVE_MMX
181 ff_dnxhd_init_mmx(ctx);
182 #endif
178 if (!ctx->m.dct_quantize) 183 if (!ctx->m.dct_quantize)
179 ctx->m.dct_quantize = dct_quantize_c; 184 ctx->m.dct_quantize = dct_quantize_c;
180 185
181 ctx->m.mb_height = (avctx->height + 15) / 16; 186 ctx->m.mb_height = (avctx->height + 15) / 16;
182 ctx->m.mb_width = (avctx->width + 15) / 16; 187 ctx->m.mb_width = (avctx->width + 15) / 16;
359 dsp->get_pixels(ctx->blocks[2], ptr_u , ctx->m.uvlinesize); 364 dsp->get_pixels(ctx->blocks[2], ptr_u , ctx->m.uvlinesize);
360 dsp->get_pixels(ctx->blocks[3], ptr_v , ctx->m.uvlinesize); 365 dsp->get_pixels(ctx->blocks[3], ptr_v , ctx->m.uvlinesize);
361 366
362 if (mb_y+1 == ctx->m.mb_height && ctx->m.avctx->height == 1080) { 367 if (mb_y+1 == ctx->m.mb_height && ctx->m.avctx->height == 1080) {
363 if (ctx->interlaced) { 368 if (ctx->interlaced) {
364 dnxhd_get_pixels_8x4(ctx->blocks[4], ptr_y + ctx->dct_y_offset , ctx->m.linesize); 369 ctx->get_pixels_8x4_sym(ctx->blocks[4], ptr_y + ctx->dct_y_offset , ctx->m.linesize);
365 dnxhd_get_pixels_8x4(ctx->blocks[5], ptr_y + ctx->dct_y_offset + 8, ctx->m.linesize); 370 ctx->get_pixels_8x4_sym(ctx->blocks[5], ptr_y + ctx->dct_y_offset + 8, ctx->m.linesize);
366 dnxhd_get_pixels_8x4(ctx->blocks[6], ptr_u + ctx->dct_uv_offset , ctx->m.uvlinesize); 371 ctx->get_pixels_8x4_sym(ctx->blocks[6], ptr_u + ctx->dct_uv_offset , ctx->m.uvlinesize);
367 dnxhd_get_pixels_8x4(ctx->blocks[7], ptr_v + ctx->dct_uv_offset , ctx->m.uvlinesize); 372 ctx->get_pixels_8x4_sym(ctx->blocks[7], ptr_v + ctx->dct_uv_offset , ctx->m.uvlinesize);
368 } else { 373 } else {
369 dsp->clear_block(ctx->blocks[4]); dsp->clear_block(ctx->blocks[5]); 374 dsp->clear_block(ctx->blocks[4]); dsp->clear_block(ctx->blocks[5]);
370 dsp->clear_block(ctx->blocks[6]); dsp->clear_block(ctx->blocks[7]); 375 dsp->clear_block(ctx->blocks[6]); dsp->clear_block(ctx->blocks[7]);
371 } 376 }
372 } else { 377 } else {