Mercurial > libavcodec.hg
comparison motion_est.c @ 1064:b32afefe7d33 libavcodec
* UINTX -> uintx_t INTX -> intx_t
author | kabi |
---|---|
date | Tue, 11 Feb 2003 16:35:48 +0000 |
parents | bb5de8a59da8 |
children | d3b93dc997a3 |
comparison
equal
deleted
inserted
replaced
1063:fdeac9642346 | 1064:b32afefe7d33 |
---|---|
385 else | 385 else |
386 s->me.get_mb_score= simple_hpel_get_mb_score; | 386 s->me.get_mb_score= simple_hpel_get_mb_score; |
387 } | 387 } |
388 } | 388 } |
389 | 389 |
390 static int pix_dev(UINT8 * pix, int line_size, int mean) | 390 static int pix_dev(uint8_t * pix, int line_size, int mean) |
391 { | 391 { |
392 int s, i, j; | 392 int s, i, j; |
393 | 393 |
394 s = 0; | 394 s = 0; |
395 for (i = 0; i < 16; i++) { | 395 for (i = 0; i < 16; i++) { |
420 int *mx_ptr, int *my_ptr, int range, | 420 int *mx_ptr, int *my_ptr, int range, |
421 int xmin, int ymin, int xmax, int ymax, uint8_t *ref_picture) | 421 int xmin, int ymin, int xmax, int ymax, uint8_t *ref_picture) |
422 { | 422 { |
423 int x1, y1, x2, y2, xx, yy, x, y; | 423 int x1, y1, x2, y2, xx, yy, x, y; |
424 int mx, my, dmin, d; | 424 int mx, my, dmin, d; |
425 UINT8 *pix; | 425 uint8_t *pix; |
426 | 426 |
427 xx = 16 * s->mb_x; | 427 xx = 16 * s->mb_x; |
428 yy = 16 * s->mb_y; | 428 yy = 16 * s->mb_y; |
429 x1 = xx - range + 1; /* we loose one pixel to avoid boundary pb with half pixel pred */ | 429 x1 = xx - range + 1; /* we loose one pixel to avoid boundary pb with half pixel pred */ |
430 if (x1 < xmin) | 430 if (x1 < xmin) |
474 int *mx_ptr, int *my_ptr, int range, | 474 int *mx_ptr, int *my_ptr, int range, |
475 int xmin, int ymin, int xmax, int ymax, uint8_t *ref_picture) | 475 int xmin, int ymin, int xmax, int ymax, uint8_t *ref_picture) |
476 { | 476 { |
477 int x1, y1, x2, y2, xx, yy, x, y; | 477 int x1, y1, x2, y2, xx, yy, x, y; |
478 int mx, my, dmin, d; | 478 int mx, my, dmin, d; |
479 UINT8 *pix; | 479 uint8_t *pix; |
480 | 480 |
481 xx = s->mb_x << 4; | 481 xx = s->mb_x << 4; |
482 yy = s->mb_y << 4; | 482 yy = s->mb_y << 4; |
483 | 483 |
484 /* Left limit */ | 484 /* Left limit */ |
550 int *mx_ptr, int *my_ptr, int range, | 550 int *mx_ptr, int *my_ptr, int range, |
551 int xmin, int ymin, int xmax, int ymax, uint8_t *ref_picture) | 551 int xmin, int ymin, int xmax, int ymax, uint8_t *ref_picture) |
552 { | 552 { |
553 int x1, y1, x2, y2, xx, yy, x, y, lastx, d; | 553 int x1, y1, x2, y2, xx, yy, x, y, lastx, d; |
554 int mx, my, dminx, dminy; | 554 int mx, my, dminx, dminy; |
555 UINT8 *pix; | 555 uint8_t *pix; |
556 | 556 |
557 xx = s->mb_x << 4; | 557 xx = s->mb_x << 4; |
558 yy = s->mb_y << 4; | 558 yy = s->mb_y << 4; |
559 | 559 |
560 /* Left limit */ | 560 /* Left limit */ |
655 { | 655 { |
656 uint8_t *ref_picture= picture->data[0]; | 656 uint8_t *ref_picture= picture->data[0]; |
657 uint32_t *score_map= s->me.score_map; | 657 uint32_t *score_map= s->me.score_map; |
658 const int penalty_factor= s->me.sub_penalty_factor; | 658 const int penalty_factor= s->me.sub_penalty_factor; |
659 int mx, my, xx, yy, dminh; | 659 int mx, my, xx, yy, dminh; |
660 UINT8 *pix, *ptr; | 660 uint8_t *pix, *ptr; |
661 op_pixels_abs_func pix_abs_x2; | 661 op_pixels_abs_func pix_abs_x2; |
662 op_pixels_abs_func pix_abs_y2; | 662 op_pixels_abs_func pix_abs_y2; |
663 op_pixels_abs_func pix_abs_xy2; | 663 op_pixels_abs_func pix_abs_xy2; |
664 | 664 |
665 if(size==0){ | 665 if(size==0){ |
962 } | 962 } |
963 | 963 |
964 void ff_estimate_p_frame_motion(MpegEncContext * s, | 964 void ff_estimate_p_frame_motion(MpegEncContext * s, |
965 int mb_x, int mb_y) | 965 int mb_x, int mb_y) |
966 { | 966 { |
967 UINT8 *pix, *ppix; | 967 uint8_t *pix, *ppix; |
968 int sum, varc, vard, mx, my, range, dmin, xx, yy; | 968 int sum, varc, vard, mx, my, range, dmin, xx, yy; |
969 int xmin, ymin, xmax, ymax; | 969 int xmin, ymin, xmax, ymax; |
970 int rel_xmin, rel_ymin, rel_xmax, rel_ymax; | 970 int rel_xmin, rel_ymin, rel_xmax, rel_ymax; |
971 int pred_x=0, pred_y=0; | 971 int pred_x=0, pred_y=0; |
972 int P[10][2]; | 972 int P[10][2]; |
1300 int pred_bx, int pred_by) | 1300 int pred_bx, int pred_by) |
1301 { | 1301 { |
1302 //FIXME optimize? | 1302 //FIXME optimize? |
1303 //FIXME move into template? | 1303 //FIXME move into template? |
1304 //FIXME better f_code prediction (max mv & distance) | 1304 //FIXME better f_code prediction (max mv & distance) |
1305 UINT16 *mv_penalty= s->me.mv_penalty[s->f_code] + MAX_MV; // f_code of the prev frame | 1305 uint16_t *mv_penalty= s->me.mv_penalty[s->f_code] + MAX_MV; // f_code of the prev frame |
1306 uint8_t *dest_y = s->me.scratchpad; | 1306 uint8_t *dest_y = s->me.scratchpad; |
1307 uint8_t *ptr; | 1307 uint8_t *ptr; |
1308 int dxy; | 1308 int dxy; |
1309 int src_x, src_y; | 1309 int src_x, src_y; |
1310 int fbmin; | 1310 int fbmin; |
1533 int ff_get_best_fcode(MpegEncContext * s, int16_t (*mv_table)[2], int type) | 1533 int ff_get_best_fcode(MpegEncContext * s, int16_t (*mv_table)[2], int type) |
1534 { | 1534 { |
1535 if(s->me_method>=ME_EPZS){ | 1535 if(s->me_method>=ME_EPZS){ |
1536 int score[8]; | 1536 int score[8]; |
1537 int i, y; | 1537 int i, y; |
1538 UINT8 * fcode_tab= s->fcode_tab; | 1538 uint8_t * fcode_tab= s->fcode_tab; |
1539 int best_fcode=-1; | 1539 int best_fcode=-1; |
1540 int best_score=-10000000; | 1540 int best_score=-10000000; |
1541 | 1541 |
1542 for(i=0; i<8; i++) score[i]= s->mb_num*(8-i); | 1542 for(i=0; i<8; i++) score[i]= s->mb_num*(8-i); |
1543 | 1543 |
1582 | 1582 |
1583 void ff_fix_long_p_mvs(MpegEncContext * s) | 1583 void ff_fix_long_p_mvs(MpegEncContext * s) |
1584 { | 1584 { |
1585 const int f_code= s->f_code; | 1585 const int f_code= s->f_code; |
1586 int y; | 1586 int y; |
1587 UINT8 * fcode_tab= s->fcode_tab; | 1587 uint8_t * fcode_tab= s->fcode_tab; |
1588 //int clip=0; | 1588 //int clip=0; |
1589 //int noclip=0; | 1589 //int noclip=0; |
1590 /* clip / convert to intra 16x16 type MVs */ | 1590 /* clip / convert to intra 16x16 type MVs */ |
1591 for(y=0; y<s->mb_height; y++){ | 1591 for(y=0; y<s->mb_height; y++){ |
1592 int x; | 1592 int x; |
1646 } | 1646 } |
1647 | 1647 |
1648 void ff_fix_long_b_mvs(MpegEncContext * s, int16_t (*mv_table)[2], int f_code, int type) | 1648 void ff_fix_long_b_mvs(MpegEncContext * s, int16_t (*mv_table)[2], int f_code, int type) |
1649 { | 1649 { |
1650 int y; | 1650 int y; |
1651 UINT8 * fcode_tab= s->fcode_tab; | 1651 uint8_t * fcode_tab= s->fcode_tab; |
1652 | 1652 |
1653 // RAL: 8 in MPEG-1, 16 in MPEG-4 | 1653 // RAL: 8 in MPEG-1, 16 in MPEG-4 |
1654 int range = (((s->codec_id == CODEC_ID_MPEG1VIDEO) ? 8 : 16) << f_code); | 1654 int range = (((s->codec_id == CODEC_ID_MPEG1VIDEO) ? 8 : 16) << f_code); |
1655 | 1655 |
1656 /* clip / convert to intra 16x16 type MVs */ | 1656 /* clip / convert to intra 16x16 type MVs */ |