| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 int rd_thresh_mult[MAX_MODES]; | 356 int rd_thresh_mult[MAX_MODES]; |
| 357 int rd_baseline_thresh[MAX_MODES]; | 357 int rd_baseline_thresh[MAX_MODES]; |
| 358 int rd_threshes[MAX_MODES]; | 358 int rd_threshes[MAX_MODES]; |
| 359 | 359 |
| 360 int RDMULT; | 360 int RDMULT; |
| 361 int RDDIV ; | 361 int RDDIV ; |
| 362 | 362 |
| 363 CODING_CONTEXT coding_context; | 363 CODING_CONTEXT coding_context; |
| 364 | 364 |
| 365 /* Rate targetting variables */ | 365 /* Rate targetting variables */ |
| 366 int64_t prediction_error; |
| 366 int64_t last_prediction_error; | 367 int64_t last_prediction_error; |
| 368 int64_t intra_error; |
| 367 int64_t last_intra_error; | 369 int64_t last_intra_error; |
| 368 | 370 |
| 369 int this_frame_target; | 371 int this_frame_target; |
| 370 int projected_frame_size; | 372 int projected_frame_size; |
| 371 int last_q[2]; /* Separate values for Intra/Inter */ | 373 int last_q[2]; /* Separate values for Intra/Inter */ |
| 372 | 374 |
| 373 double rate_correction_factor; | 375 double rate_correction_factor; |
| 374 double key_frame_rate_correction_factor; | 376 double key_frame_rate_correction_factor; |
| 375 double gf_rate_correction_factor; | 377 double gf_rate_correction_factor; |
| 376 | 378 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 int worst_quality; | 445 int worst_quality; |
| 444 int active_worst_quality; | 446 int active_worst_quality; |
| 445 int best_quality; | 447 int best_quality; |
| 446 int active_best_quality; | 448 int active_best_quality; |
| 447 | 449 |
| 448 int cq_target_quality; | 450 int cq_target_quality; |
| 449 | 451 |
| 450 int drop_frames_allowed; /* Are we permitted to drop frames? */ | 452 int drop_frames_allowed; /* Are we permitted to drop frames? */ |
| 451 int drop_frame; /* Drop this frame? */ | 453 int drop_frame; /* Drop this frame? */ |
| 452 | 454 |
| 455 int ymode_count [VP8_YMODES]; /* intra MB type cts this frame */ |
| 456 int uv_mode_count[VP8_UV_MODES]; /* intra MB type cts this frame */ |
| 457 |
| 458 unsigned int MVcount [2] [MVvals]; /* (row,col) MV cts this frame */ |
| 459 |
| 460 unsigned int coef_counts [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MA
X_ENTROPY_TOKENS]; /* for this frame */ |
| 461 |
| 453 vp8_prob frame_coef_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [E
NTROPY_NODES]; | 462 vp8_prob frame_coef_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [E
NTROPY_NODES]; |
| 454 char update_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_N
ODES]; | 463 char update_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_N
ODES]; |
| 455 | 464 |
| 456 unsigned int frame_branch_ct [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS]
[ENTROPY_NODES][2]; | 465 unsigned int frame_branch_ct [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS]
[ENTROPY_NODES][2]; |
| 457 | 466 |
| 458 int gfu_boost; | 467 int gfu_boost; |
| 459 int kf_boost; | 468 int kf_boost; |
| 460 int last_boost; | 469 int last_boost; |
| 461 | 470 |
| 462 int target_bandwidth; | 471 int target_bandwidth; |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 | 513 |
| 505 /* Data used for real time conferencing mode to help determine if it | 514 /* Data used for real time conferencing mode to help determine if it |
| 506 * would be good to update the gf | 515 * would be good to update the gf |
| 507 */ | 516 */ |
| 508 int inter_zz_count; | 517 int inter_zz_count; |
| 509 /* Count ZEROMV on all reference frames. */ | 518 /* Count ZEROMV on all reference frames. */ |
| 510 int zeromv_count; | 519 int zeromv_count; |
| 511 int lf_zeromv_pct; | 520 int lf_zeromv_pct; |
| 512 int gf_bad_count; | 521 int gf_bad_count; |
| 513 int gf_update_recommended; | 522 int gf_update_recommended; |
| 523 int skip_true_count; |
| 514 | 524 |
| 515 unsigned char *segmentation_map; | 525 unsigned char *segmentation_map; |
| 516 signed char segment_feature_data[MB_LVL_MAX][MAX_MB_SEGMENTS]; | 526 signed char segment_feature_data[MB_LVL_MAX][MAX_MB_SEGMENTS]; |
| 517 int segment_encode_breakout[MAX_MB_SEGMENTS]; | 527 int segment_encode_breakout[MAX_MB_SEGMENTS]; |
| 518 | 528 |
| 519 unsigned char *active_map; | 529 unsigned char *active_map; |
| 520 unsigned int active_map_enabled; | 530 unsigned int active_map_enabled; |
| 521 | 531 |
| 522 /* Video conferencing cyclic refresh mode flags. This is a mode | 532 /* Video conferencing cyclic refresh mode flags. This is a mode |
| 523 * designed to clean up the background over time in live encoding | 533 * designed to clean up the background over time in live encoding |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 642 double total_ssimg_v; | 652 double total_ssimg_v; |
| 643 double total_ssimg_all; | 653 double total_ssimg_all; |
| 644 | 654 |
| 645 int b_calculate_ssimg; | 655 int b_calculate_ssimg; |
| 646 #endif | 656 #endif |
| 647 int b_calculate_psnr; | 657 int b_calculate_psnr; |
| 648 | 658 |
| 649 /* Per MB activity measurement */ | 659 /* Per MB activity measurement */ |
| 650 unsigned int activity_avg; | 660 unsigned int activity_avg; |
| 651 unsigned int * mb_activity_map; | 661 unsigned int * mb_activity_map; |
| 662 int * mb_norm_activity_map; |
| 652 | 663 |
| 653 /* Record of which MBs still refer to last golden frame either | 664 /* Record of which MBs still refer to last golden frame either |
| 654 * directly or through 0,0 | 665 * directly or through 0,0 |
| 655 */ | 666 */ |
| 656 unsigned char *gf_active_flags; | 667 unsigned char *gf_active_flags; |
| 657 int gf_active_count; | 668 int gf_active_count; |
| 658 | 669 |
| 659 int output_partition; | 670 int output_partition; |
| 660 | 671 |
| 661 /* Store last frame's MV info for next frame MV prediction */ | 672 /* Store last frame's MV info for next frame MV prediction */ |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 711 [PREV_COEF_CONTEXTS][MAX_ENTROPY_TOKENS]; | 722 [PREV_COEF_CONTEXTS][MAX_ENTROPY_TOKENS]; |
| 712 } rd_costs; | 723 } rd_costs; |
| 713 } VP8_COMP; | 724 } VP8_COMP; |
| 714 | 725 |
| 715 void control_data_rate(VP8_COMP *cpi); | 726 void control_data_rate(VP8_COMP *cpi); |
| 716 | 727 |
| 717 void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned char *dest_
end, unsigned long *size); | 728 void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned char *dest_
end, unsigned long *size); |
| 718 | 729 |
| 719 int rd_cost_intra_mb(MACROBLOCKD *x); | 730 int rd_cost_intra_mb(MACROBLOCKD *x); |
| 720 | 731 |
| 721 void vp8_tokenize_mb(VP8_COMP *, MACROBLOCK *, TOKENEXTRA **); | 732 void vp8_tokenize_mb(VP8_COMP *, MACROBLOCKD *, TOKENEXTRA **); |
| 722 | 733 |
| 723 void vp8_set_speed_features(VP8_COMP *cpi); | 734 void vp8_set_speed_features(VP8_COMP *cpi); |
| 724 | 735 |
| 725 #if CONFIG_DEBUG | 736 #if CONFIG_DEBUG |
| 726 #define CHECK_MEM_ERROR(lval,expr) do {\ | 737 #define CHECK_MEM_ERROR(lval,expr) do {\ |
| 727 lval = (expr); \ | 738 lval = (expr); \ |
| 728 if(!lval) \ | 739 if(!lval) \ |
| 729 vpx_internal_error(&cpi->common.error, VPX_CODEC_MEM_ERROR,\ | 740 vpx_internal_error(&cpi->common.error, VPX_CODEC_MEM_ERROR,\ |
| 730 "Failed to allocate "#lval" at %s:%d", \ | 741 "Failed to allocate "#lval" at %s:%d", \ |
| 731 __FILE__,__LINE__);\ | 742 __FILE__,__LINE__);\ |
| 732 } while(0) | 743 } while(0) |
| 733 #else | 744 #else |
| 734 #define CHECK_MEM_ERROR(lval,expr) do {\ | 745 #define CHECK_MEM_ERROR(lval,expr) do {\ |
| 735 lval = (expr); \ | 746 lval = (expr); \ |
| 736 if(!lval) \ | 747 if(!lval) \ |
| 737 vpx_internal_error(&cpi->common.error, VPX_CODEC_MEM_ERROR,\ | 748 vpx_internal_error(&cpi->common.error, VPX_CODEC_MEM_ERROR,\ |
| 738 "Failed to allocate "#lval);\ | 749 "Failed to allocate "#lval);\ |
| 739 } while(0) | 750 } while(0) |
| 740 #endif | 751 #endif |
| 741 #endif | 752 #endif |
| OLD | NEW |