comparison h263.c @ 3255:183e3eb0824a libavcodec

100l to loren. at least this fixes the compile error, but the code is still broken (decoding buggy/crashing)
author rfelker
date Sun, 09 Apr 2006 06:04:00 +0000
parents ac7bfc9bf1a4
children aec4f27b1248
comparison
equal deleted inserted replaced
3254:9ff165550d75 3255:183e3eb0824a
551 } 551 }
552 } 552 }
553 553
554 #endif //CONFIG_ENCODERS 554 #endif //CONFIG_ENCODERS
555 555
556 #define tab_size (sizeof(s->direct_scale_mv[0])/sizeof(int16_t))
557 #define tab_bias (tab_size/2)
558
556 static void ff_mpeg4_init_direct_mv(MpegEncContext *s){ 559 static void ff_mpeg4_init_direct_mv(MpegEncContext *s){
557 //FIXME table is stored in MpegEncContext for thread-safety,
558 // but a static array would be faster
559 static const int tab_size = sizeof(s->direct_scale_mv[0])/sizeof(int16_t);
560 static const int tab_bias = (tab_size/2);
561 int i; 560 int i;
562 for(i=0; i<tab_size; i++){ 561 for(i=0; i<tab_size; i++){
563 s->direct_scale_mv[0][i] = (i-tab_bias)*s->pb_time/s->pp_time; 562 s->direct_scale_mv[0][i] = (i-tab_bias)*s->pb_time/s->pp_time;
564 s->direct_scale_mv[1][i] = (i-tab_bias)*(s->pb_time-s->pp_time)/s->pp_time; 563 s->direct_scale_mv[1][i] = (i-tab_bias)*(s->pb_time-s->pp_time)/s->pp_time;
565 } 564 }
566 } 565 }
567 566
568 static inline void ff_mpeg4_set_one_direct_mv(MpegEncContext *s, int mx, int my, int i){ 567 static inline void ff_mpeg4_set_one_direct_mv(MpegEncContext *s, int mx, int my, int i){
569 static const int tab_size = sizeof(s->direct_scale_mv[0])/sizeof(int16_t);
570 static const int tab_bias = (tab_size/2);
571 int xy= s->block_index[i]; 568 int xy= s->block_index[i];
572 uint16_t time_pp= s->pp_time; 569 uint16_t time_pp= s->pp_time;
573 uint16_t time_pb= s->pb_time; 570 uint16_t time_pb= s->pb_time;
574 int p_mx, p_my; 571 int p_mx, p_my;
575 572
592 s->mv[0][i][1] = p_my*time_pb/time_pp + my; 589 s->mv[0][i][1] = p_my*time_pb/time_pp + my;
593 s->mv[1][i][1] = my ? s->mv[0][i][1] - p_my 590 s->mv[1][i][1] = my ? s->mv[0][i][1] - p_my
594 : p_my*(time_pb - time_pp)/time_pp; 591 : p_my*(time_pb - time_pp)/time_pp;
595 } 592 }
596 } 593 }
594
595 #undef tab_size
596 #undef tab_bias
597 597
598 /** 598 /**
599 * 599 *
600 * @return the mb_type 600 * @return the mb_type
601 */ 601 */