comparison drivers/radeon/radeon_vid.c @ 3020:e5ebde3ebdd6

Minor fixes with the same results
author nick
date Tue, 20 Nov 2001 10:34:00 +0000
parents 64ce4a515a78
children ef3b9b104648
comparison
equal deleted inserted replaced
3019:64ce4a515a78 3020:e5ebde3ebdd6
379 left = XXX_SRC_X << 16; 379 left = XXX_SRC_X << 16;
380 top = XXX_SRC_Y << 16; 380 top = XXX_SRC_Y << 16;
381 381
382 besr.fourcc = config->format; 382 besr.fourcc = config->format;
383 383
384 besr.v_inc = (config->src_height << 20) / XXX_DRW_H; /*9c0e0 -> 9c528*/ 384 besr.v_inc = (config->src_height << 20) / XXX_DRW_H;
385 h_inc = (config->src_width << 12) / XXX_DRW_W; 385 h_inc = (config->src_width << 12) / XXX_DRW_W;
386 step_by = 1; 386 step_by = 1;
387 387
388 while(h_inc >= (2 << 12)) { 388 while(h_inc >= (2 << 12)) {
389 step_by++; 389 step_by++;
393 /* keep everything in 16.16 */ 393 /* keep everything in 16.16 */
394 394
395 if(is_420) 395 if(is_420)
396 { 396 {
397 uint32_t dstPitch,d1line,d2line,d3line; 397 uint32_t dstPitch,d1line,d2line,d3line;
398 dstPitch = (XXX_WIDTH + 31) & ~31; /* of luma */ 398 dstPitch = (XXX_WIDTH + 15) & ~15; /* of luma */
399 d1line = top * dstPitch; 399 d1line = top * dstPitch;
400 d2line = (XXX_HEIGHT * dstPitch) + ((top >> 1) * (dstPitch >> 1)); 400 d2line = (XXX_HEIGHT * dstPitch) + ((top >> 1) * (dstPitch >> 1));
401 d3line = d2line + ((XXX_HEIGHT >> 1) * (dstPitch >> 1)); 401 d3line = d2line + ((XXX_HEIGHT >> 1) * (dstPitch >> 1));
402 d1line += (left >> 16) & ~15; 402 d1line += (left >> 16) & ~15;
403 d2line += (left >> 17) & ~15; 403 d2line += (left >> 17) & ~15;
437 437
438 leftUV = (left >> 17) & 7; 438 leftUV = (left >> 17) & 7;
439 left = (left >> 16) & 7; 439 left = (left >> 16) & 7;
440 besr.h_inc = h_inc | ((h_inc >> 1) << 16); 440 besr.h_inc = h_inc | ((h_inc >> 1) << 16);
441 besr.step_by = step_by | (step_by << 8); 441 besr.step_by = step_by | (step_by << 8);
442 besr.y_x_start = (config->x_org+8) | (config->y_org << 16); /*5c008->5d009*/ 442 besr.y_x_start = (config->x_org+8) | (config->y_org << 16);
443 besr.y_x_end = (config->x_org + config->dest_width+8) | ((config->y_org + config->dest_height) << 16); 443 besr.y_x_end = (config->x_org + config->dest_width+8) | ((config->y_org + config->dest_height) << 16);
444 besr.p1_blank_lines_at_top = 0x00000fff | ((config->src_height - 1) << 16); 444 besr.p1_blank_lines_at_top = 0x00000fff | ((config->src_height - 1) << 16);
445 besr.p23_blank_lines_at_top = is_420 ? 0x000007ff | ((((config->src_height+1)>>1) - 1) << 16) : 0; 445 besr.p23_blank_lines_at_top = is_420 ? 0x000007ff | ((((config->src_height+1)>>1) - 1) << 16) : 0;
446 besr.vid_buf_pitch0_value = pitch; 446 besr.vid_buf_pitch0_value = pitch;
447 besr.vid_buf_pitch1_value = is_420 ? pitch/2 : pitch; 447 besr.vid_buf_pitch1_value = is_420 ? pitch/2 : pitch;