| OLD | NEW |
| 1 // Copyright 2011 Google Inc. All Rights Reserved. | 1 // Copyright 2011 Google Inc. All Rights Reserved. |
| 2 // | 2 // |
| 3 // This code is licensed under the same terms as WebM: | 3 // This code is licensed under the same terms as WebM: |
| 4 // Software License Agreement: http://www.webmproject.org/license/software/ | 4 // Software License Agreement: http://www.webmproject.org/license/software/ |
| 5 // Additional IP Rights Grant: http://www.webmproject.org/license/additional/ | 5 // Additional IP Rights Grant: http://www.webmproject.org/license/additional/ |
| 6 // ----------------------------------------------------------------------------- | 6 // ----------------------------------------------------------------------------- |
| 7 // | 7 // |
| 8 // Token probabilities | 8 // Token probabilities |
| 9 // | 9 // |
| 10 // Author: Skal (pascal.massimino@gmail.com) | 10 // Author: Skal (pascal.massimino@gmail.com) |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 }, | 151 }, |
| 152 { { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, | 152 { { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, |
| 153 { 244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, | 153 { 244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, |
| 154 { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 } | 154 { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 } |
| 155 } | 155 } |
| 156 } | 156 } |
| 157 }; | 157 }; |
| 158 | 158 |
| 159 void VP8DefaultProbas(VP8Encoder* const enc) { | 159 void VP8DefaultProbas(VP8Encoder* const enc) { |
| 160 VP8Proba* const probas = &enc->proba_; | 160 VP8Proba* const probas = &enc->proba_; |
| 161 probas->use_skip_proba_ = 0; |
| 161 memset(probas->segments_, 255u, sizeof(probas->segments_)); | 162 memset(probas->segments_, 255u, sizeof(probas->segments_)); |
| 162 memcpy(probas->coeffs_, VP8CoeffsProba0, sizeof(VP8CoeffsProba0)); | 163 memcpy(probas->coeffs_, VP8CoeffsProba0, sizeof(VP8CoeffsProba0)); |
| 163 probas->use_skip_proba_ = 0; | 164 // Note: we could hard-code the level_costs_ corresponding to VP8CoeffsProba0, |
| 165 // but that's ~11k of static data. Better call VP8CalculateLevelCosts() later. |
| 166 probas->dirty_ = 1; |
| 164 } | 167 } |
| 165 | 168 |
| 166 // Paragraph 11.5. 900bytes. | 169 // Paragraph 11.5. 900bytes. |
| 167 static const uint8_t kBModesProba[NUM_BMODES][NUM_BMODES][NUM_BMODES - 1] = { | 170 static const uint8_t kBModesProba[NUM_BMODES][NUM_BMODES][NUM_BMODES - 1] = { |
| 168 { { 231, 120, 48, 89, 115, 113, 120, 152, 112 }, | 171 { { 231, 120, 48, 89, 115, 113, 120, 152, 112 }, |
| 169 { 152, 179, 64, 126, 170, 118, 46, 70, 95 }, | 172 { 152, 179, 64, 126, 170, 118, 46, 70, 95 }, |
| 170 { 175, 69, 143, 80, 85, 82, 72, 155, 103 }, | 173 { 175, 69, 143, 80, 85, 82, 72, 155, 103 }, |
| 171 { 56, 58, 10, 171, 218, 189, 17, 13, 152 }, | 174 { 56, 58, 10, 171, 218, 189, 17, 13, 152 }, |
| 172 { 114, 26, 17, 163, 44, 195, 21, 10, 173 }, | 175 { 114, 26, 17, 163, 44, 195, 21, 10, 173 }, |
| 173 { 121, 24, 80, 195, 26, 62, 44, 64, 85 }, | 176 { 121, 24, 80, 195, 26, 62, 44, 64, 85 }, |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 498 } | 501 } |
| 499 } | 502 } |
| 500 if (VP8PutBitUniform(bw, probas->use_skip_proba_)) { | 503 if (VP8PutBitUniform(bw, probas->use_skip_proba_)) { |
| 501 VP8PutValue(bw, probas->skip_proba_, 8); | 504 VP8PutValue(bw, probas->skip_proba_, 8); |
| 502 } | 505 } |
| 503 } | 506 } |
| 504 | 507 |
| 505 #if defined(__cplusplus) || defined(c_plusplus) | 508 #if defined(__cplusplus) || defined(c_plusplus) |
| 506 } // extern "C" | 509 } // extern "C" |
| 507 #endif | 510 #endif |
| OLD | NEW |