Lines Matching refs:refs
97 static void ClearBackwardRefs(VP8LBackwardRefs* const refs) { in ClearBackwardRefs() argument
98 assert(refs != NULL); in ClearBackwardRefs()
99 if (refs->tail_ != NULL) { in ClearBackwardRefs()
100 *refs->tail_ = refs->free_blocks_; // recycle all blocks at once in ClearBackwardRefs()
102 refs->free_blocks_ = refs->refs_; in ClearBackwardRefs()
103 refs->tail_ = &refs->refs_; in ClearBackwardRefs()
104 refs->last_block_ = NULL; in ClearBackwardRefs()
105 refs->refs_ = NULL; in ClearBackwardRefs()
108 void VP8LBackwardRefsClear(VP8LBackwardRefs* const refs) { in VP8LBackwardRefsClear() argument
109 assert(refs != NULL); in VP8LBackwardRefsClear()
110 ClearBackwardRefs(refs); in VP8LBackwardRefsClear()
111 while (refs->free_blocks_ != NULL) { in VP8LBackwardRefsClear()
112 PixOrCopyBlock* const next = refs->free_blocks_->next_; in VP8LBackwardRefsClear()
113 WebPSafeFree(refs->free_blocks_); in VP8LBackwardRefsClear()
114 refs->free_blocks_ = next; in VP8LBackwardRefsClear()
118 void VP8LBackwardRefsInit(VP8LBackwardRefs* const refs, int block_size) { in VP8LBackwardRefsInit() argument
119 assert(refs != NULL); in VP8LBackwardRefsInit()
120 memset(refs, 0, sizeof(*refs)); in VP8LBackwardRefsInit()
121 refs->tail_ = &refs->refs_; in VP8LBackwardRefsInit()
122 refs->block_size_ = in VP8LBackwardRefsInit()
126 VP8LRefsCursor VP8LRefsCursorInit(const VP8LBackwardRefs* const refs) { in VP8LRefsCursorInit() argument
128 c.cur_block_ = refs->refs_; in VP8LRefsCursorInit()
129 if (refs->refs_ != NULL) { in VP8LRefsCursorInit()
147 static PixOrCopyBlock* BackwardRefsNewBlock(VP8LBackwardRefs* const refs) { in BackwardRefsNewBlock() argument
148 PixOrCopyBlock* b = refs->free_blocks_; in BackwardRefsNewBlock()
151 sizeof(*b) + refs->block_size_ * sizeof(*b->start_); in BackwardRefsNewBlock()
154 refs->error_ |= 1; in BackwardRefsNewBlock()
159 refs->free_blocks_ = b->next_; in BackwardRefsNewBlock()
161 *refs->tail_ = b; in BackwardRefsNewBlock()
162 refs->tail_ = &b->next_; in BackwardRefsNewBlock()
163 refs->last_block_ = b; in BackwardRefsNewBlock()
169 static WEBP_INLINE void BackwardRefsCursorAdd(VP8LBackwardRefs* const refs, in BackwardRefsCursorAdd() argument
171 PixOrCopyBlock* b = refs->last_block_; in BackwardRefsCursorAdd()
172 if (b == NULL || b->size_ == refs->block_size_) { in BackwardRefsCursorAdd()
173 b = BackwardRefsNewBlock(refs); in BackwardRefsCursorAdd()
325 VP8LBackwardRefs* const refs) { in AddSingleLiteral() argument
338 BackwardRefsCursorAdd(refs, v); in AddSingleLiteral()
343 int cache_bits, VP8LBackwardRefs* const refs) { in BackwardReferencesRle() argument
352 ClearBackwardRefs(refs); in BackwardReferencesRle()
354 AddSingleLiteral(argb[0], use_color_cache, &hashers, refs); in BackwardReferencesRle()
363 BackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(1, rle_len)); in BackwardReferencesRle()
369 BackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(xsize, prev_row_len)); in BackwardReferencesRle()
377 AddSingleLiteral(argb[i], use_color_cache, &hashers, refs); in BackwardReferencesRle()
382 return !refs->error_; in BackwardReferencesRle()
389 VP8LBackwardRefs* const refs) { in BackwardReferencesLz77() argument
404 ClearBackwardRefs(refs); in BackwardReferencesLz77()
426 AddSingleLiteral(argb[i], use_color_cache, &hashers, refs); in BackwardReferencesLz77()
432 BackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(offset, len)); in BackwardReferencesLz77()
450 AddSingleLiteral(argb[i], use_color_cache, &hashers, refs); in BackwardReferencesLz77()
455 AddSingleLiteral(argb[i], use_color_cache, &hashers, refs); in BackwardReferencesLz77()
463 AddSingleLiteral(argb[i], use_color_cache, &hashers, refs); in BackwardReferencesLz77()
467 ok = !refs->error_; in BackwardReferencesLz77()
486 VP8LBackwardRefs* const refs);
510 VP8LBackwardRefs* const refs) { in CostModelBuild() argument
515 VP8LHistogramCreate(histo, refs, cache_bits); in CostModelBuild()
589 VP8LBackwardRefs* const refs, uint16_t* const dist_array) { in BackwardReferencesHashChainDistanceOnly() argument
617 if (!CostModelBuild(cost_model, cache_bits, refs)) { in BackwardReferencesHashChainDistanceOnly()
698 ok = !refs->error_; in BackwardReferencesHashChainDistanceOnly()
730 VP8LBackwardRefs* const refs) { in BackwardReferencesHashChainFollowChosenPath() argument
745 ClearBackwardRefs(refs); in BackwardReferencesHashChainFollowChosenPath()
753 BackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(offset, len)); in BackwardReferencesHashChainFollowChosenPath()
776 BackwardRefsCursorAdd(refs, v); in BackwardReferencesHashChainFollowChosenPath()
783 ok = !refs->error_; in BackwardReferencesHashChainFollowChosenPath()
794 VP8LBackwardRefs* const refs) { in BackwardReferencesTraceBackwards() argument
806 refs, dist_array)) { in BackwardReferencesTraceBackwards()
812 hash_chain, refs)) { in BackwardReferencesTraceBackwards()
822 const VP8LBackwardRefs* const refs) { in BackwardReferences2DLocality() argument
823 VP8LRefsCursor c = VP8LRefsCursorInit(refs); in BackwardReferences2DLocality()
836 const VP8LBackwardRefs* const refs, in ComputeCacheEntropy() argument
843 VP8LRefsCursor c = VP8LRefsCursorInit(refs); in ComputeCacheEntropy()
901 VP8LBackwardRefs* const refs, in CalculateBestCacheSize() argument
921 hash_chain, refs)) { in CalculateBestCacheSize()
927 entropy_low = ComputeCacheEntropy(argb, refs, cache_bits_low); in CalculateBestCacheSize()
932 entropy_high = ComputeCacheEntropy(argb, refs, cache_bits_high); in CalculateBestCacheSize()
954 VP8LBackwardRefs* const refs) { in BackwardRefsWithLocalCache() argument
957 VP8LRefsCursor c = VP8LRefsCursorInit(refs); in BackwardRefsWithLocalCache()