Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: third_party/libwebp/enc/histogram.h

Issue 12942006: libwebp: update snapshot to v0.3.0-rc6 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/libwebp/enc/frame.c ('k') | third_party/libwebp/enc/histogram.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 Google Inc. All Rights Reserved. 1 // Copyright 2012 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 // Author: Jyrki Alakuijala (jyrki@google.com) 8 // Author: Jyrki Alakuijala (jyrki@google.com)
9 // 9 //
10 // Models the histograms of literal and distance codes. 10 // Models the histograms of literal and distance codes.
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 const PixOrCopy* const v); 73 const PixOrCopy* const v);
74 74
75 // Estimate how many bits the combined entropy of literals and distance 75 // Estimate how many bits the combined entropy of literals and distance
76 // approximately maps to. 76 // approximately maps to.
77 double VP8LHistogramEstimateBits(const VP8LHistogram* const p); 77 double VP8LHistogramEstimateBits(const VP8LHistogram* const p);
78 78
79 // This function estimates the cost in bits excluding the bits needed to 79 // This function estimates the cost in bits excluding the bits needed to
80 // represent the entropy code itself. 80 // represent the entropy code itself.
81 double VP8LHistogramEstimateBitsBulk(const VP8LHistogram* const p); 81 double VP8LHistogramEstimateBitsBulk(const VP8LHistogram* const p);
82 82
83 static WEBP_INLINE void VP8LHistogramAdd(VP8LHistogram* const p,
84 const VP8LHistogram* const a) {
85 int i;
86 for (i = 0; i < PIX_OR_COPY_CODES_MAX; ++i) {
87 p->literal_[i] += a->literal_[i];
88 }
89 for (i = 0; i < NUM_DISTANCE_CODES; ++i) {
90 p->distance_[i] += a->distance_[i];
91 }
92 for (i = 0; i < 256; ++i) {
93 p->red_[i] += a->red_[i];
94 p->blue_[i] += a->blue_[i];
95 p->alpha_[i] += a->alpha_[i];
96 }
97 }
98
99 static WEBP_INLINE int VP8LHistogramNumCodes(const VP8LHistogram* const p) { 83 static WEBP_INLINE int VP8LHistogramNumCodes(const VP8LHistogram* const p) {
100 return 256 + NUM_LENGTH_CODES + 84 return 256 + NUM_LENGTH_CODES +
101 ((p->palette_code_bits_ > 0) ? (1 << p->palette_code_bits_) : 0); 85 ((p->palette_code_bits_ > 0) ? (1 << p->palette_code_bits_) : 0);
102 } 86 }
103 87
104 // Builds the histogram image. 88 // Builds the histogram image.
105 int VP8LGetHistoImageSymbols(int xsize, int ysize, 89 int VP8LGetHistoImageSymbols(int xsize, int ysize,
106 const VP8LBackwardRefs* const refs, 90 const VP8LBackwardRefs* const refs,
107 int quality, int histogram_bits, int cache_bits, 91 int quality, int histogram_bits, int cache_bits,
108 VP8LHistogramSet* const image_in, 92 VP8LHistogramSet* const image_in,
109 uint16_t* const histogram_symbols); 93 uint16_t* const histogram_symbols);
110 94
111 #if defined(__cplusplus) || defined(c_plusplus) 95 #if defined(__cplusplus) || defined(c_plusplus)
112 } 96 }
113 #endif 97 #endif
114 98
115 #endif // WEBP_ENC_HISTOGRAM_H_ 99 #endif // WEBP_ENC_HISTOGRAM_H_
OLDNEW
« no previous file with comments | « third_party/libwebp/enc/frame.c ('k') | third_party/libwebp/enc/histogram.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698