Mercurial > libavcodec.hg
comparison vp8.c @ 12254:17c151e1280a libavcodec
VP8: Use vp56_rac_get_prob_branchy when the bit is only used by an if()
author | conrad |
---|---|
date | Fri, 23 Jul 2010 21:46:20 +0000 |
parents | 112b3a0db187 |
children | 7db147ea02c4 |
comparison
equal
deleted
inserted
replaced
12253:112b3a0db187 | 12254:17c151e1280a |
---|---|
492 | 492 |
493 for (i = 0; i < 4; i++) | 493 for (i = 0; i < 4; i++) |
494 for (j = 0; j < 8; j++) | 494 for (j = 0; j < 8; j++) |
495 for (k = 0; k < 3; k++) | 495 for (k = 0; k < 3; k++) |
496 for (l = 0; l < NUM_DCT_TOKENS-1; l++) | 496 for (l = 0; l < NUM_DCT_TOKENS-1; l++) |
497 if (vp56_rac_get_prob(c, vp8_token_update_probs[i][j][k][l])) | 497 if (vp56_rac_get_prob_branchy(c, vp8_token_update_probs[i][j][k][l])) |
498 s->prob->token[i][j][k][l] = vp8_rac_get_uint(c, 8); | 498 s->prob->token[i][j][k][l] = vp8_rac_get_uint(c, 8); |
499 | 499 |
500 if ((s->mbskip_enabled = vp8_rac_get(c))) | 500 if ((s->mbskip_enabled = vp8_rac_get(c))) |
501 s->prob->mbskip = vp8_rac_get_uint(c, 8); | 501 s->prob->mbskip = vp8_rac_get_uint(c, 8); |
502 | 502 |
513 s->prob->pred8x8c[i] = vp8_rac_get_uint(c, 8); | 513 s->prob->pred8x8c[i] = vp8_rac_get_uint(c, 8); |
514 | 514 |
515 // 17.2 MV probability update | 515 // 17.2 MV probability update |
516 for (i = 0; i < 2; i++) | 516 for (i = 0; i < 2; i++) |
517 for (j = 0; j < 19; j++) | 517 for (j = 0; j < 19; j++) |
518 if (vp56_rac_get_prob(c, vp8_mv_update_prob[i][j])) | 518 if (vp56_rac_get_prob_branchy(c, vp8_mv_update_prob[i][j])) |
519 s->prob->mvc[i][j] = vp8_rac_get_nn(c); | 519 s->prob->mvc[i][j] = vp8_rac_get_nn(c); |
520 } | 520 } |
521 | 521 |
522 return 0; | 522 return 0; |
523 } | 523 } |
599 */ | 599 */ |
600 static int read_mv_component(VP56RangeCoder *c, const uint8_t *p) | 600 static int read_mv_component(VP56RangeCoder *c, const uint8_t *p) |
601 { | 601 { |
602 int x = 0; | 602 int x = 0; |
603 | 603 |
604 if (vp56_rac_get_prob(c, p[0])) { | 604 if (vp56_rac_get_prob_branchy(c, p[0])) { |
605 int i; | 605 int i; |
606 | 606 |
607 for (i = 0; i < 3; i++) | 607 for (i = 0; i < 3; i++) |
608 x += vp56_rac_get_prob(c, p[9 + i]) << i; | 608 x += vp56_rac_get_prob(c, p[9 + i]) << i; |
609 for (i = 9; i > 3; i--) | 609 for (i = 9; i > 3; i--) |
725 } else | 725 } else |
726 fill_rectangle(intra4x4, 4, 4, s->b4_stride, vp8_pred4x4_mode[mb->mode], 1); | 726 fill_rectangle(intra4x4, 4, 4, s->b4_stride, vp8_pred4x4_mode[mb->mode], 1); |
727 | 727 |
728 s->chroma_pred_mode = vp8_rac_get_tree(c, vp8_pred8x8c_tree, vp8_pred8x8c_prob_intra); | 728 s->chroma_pred_mode = vp8_rac_get_tree(c, vp8_pred8x8c_tree, vp8_pred8x8c_prob_intra); |
729 mb->ref_frame = VP56_FRAME_CURRENT; | 729 mb->ref_frame = VP56_FRAME_CURRENT; |
730 } else if (vp56_rac_get_prob(c, s->prob->intra)) { | 730 } else if (vp56_rac_get_prob_branchy(c, s->prob->intra)) { |
731 VP56mv near[2], best; | 731 VP56mv near[2], best; |
732 uint8_t cnt[4] = { 0 }; | 732 uint8_t cnt[4] = { 0 }; |
733 uint8_t p[4]; | 733 uint8_t p[4]; |
734 | 734 |
735 // inter MB, 16.2 | 735 // inter MB, 16.2 |
736 if (vp56_rac_get_prob(c, s->prob->last)) | 736 if (vp56_rac_get_prob_branchy(c, s->prob->last)) |
737 mb->ref_frame = vp56_rac_get_prob(c, s->prob->golden) ? | 737 mb->ref_frame = vp56_rac_get_prob(c, s->prob->golden) ? |
738 VP56_FRAME_GOLDEN2 /* altref */ : VP56_FRAME_GOLDEN; | 738 VP56_FRAME_GOLDEN2 /* altref */ : VP56_FRAME_GOLDEN; |
739 else | 739 else |
740 mb->ref_frame = VP56_FRAME_PREVIOUS; | 740 mb->ref_frame = VP56_FRAME_PREVIOUS; |
741 s->ref_count[mb->ref_frame-1]++; | 741 s->ref_count[mb->ref_frame-1]++; |