Lines Matching full:refs
84 extern void VP8LClearBackwardRefs(VP8LBackwardRefs* const refs);
85 void VP8LClearBackwardRefs(VP8LBackwardRefs* const refs) { in VP8LClearBackwardRefs() argument
86 assert(refs != NULL); in VP8LClearBackwardRefs()
87 if (refs->tail_ != NULL) { in VP8LClearBackwardRefs()
88 *refs->tail_ = refs->free_blocks_; // recycle all blocks at once in VP8LClearBackwardRefs()
90 refs->free_blocks_ = refs->refs_; in VP8LClearBackwardRefs()
91 refs->tail_ = &refs->refs_; in VP8LClearBackwardRefs()
92 refs->last_block_ = NULL; in VP8LClearBackwardRefs()
93 refs->refs_ = NULL; in VP8LClearBackwardRefs()
96 void VP8LBackwardRefsClear(VP8LBackwardRefs* const refs) { in VP8LBackwardRefsClear() argument
97 assert(refs != NULL); in VP8LBackwardRefsClear()
98 VP8LClearBackwardRefs(refs); in VP8LBackwardRefsClear()
99 while (refs->free_blocks_ != NULL) { in VP8LBackwardRefsClear()
100 PixOrCopyBlock* const next = refs->free_blocks_->next_; in VP8LBackwardRefsClear()
101 WebPSafeFree(refs->free_blocks_); in VP8LBackwardRefsClear()
102 refs->free_blocks_ = next; in VP8LBackwardRefsClear()
120 void VP8LBackwardRefsInit(VP8LBackwardRefs* const refs, int block_size) { in VP8LBackwardRefsInit() argument
121 assert(refs != NULL); in VP8LBackwardRefsInit()
122 memset(refs, 0, sizeof(*refs)); in VP8LBackwardRefsInit()
123 refs->tail_ = &refs->refs_; in VP8LBackwardRefsInit()
124 refs->block_size_ = in VP8LBackwardRefsInit()
128 VP8LRefsCursor VP8LRefsCursorInit(const VP8LBackwardRefs* const refs) { in VP8LRefsCursorInit() argument
130 c.cur_block_ = refs->refs_; in VP8LRefsCursorInit()
131 if (refs->refs_ != NULL) { in VP8LRefsCursorInit()
149 static PixOrCopyBlock* BackwardRefsNewBlock(VP8LBackwardRefs* const refs) { in BackwardRefsNewBlock() argument
150 PixOrCopyBlock* b = refs->free_blocks_; in BackwardRefsNewBlock()
153 sizeof(*b) + refs->block_size_ * sizeof(*b->start_); in BackwardRefsNewBlock()
156 refs->error_ |= 1; in BackwardRefsNewBlock()
161 refs->free_blocks_ = b->next_; in BackwardRefsNewBlock()
163 *refs->tail_ = b; in BackwardRefsNewBlock()
164 refs->tail_ = &b->next_; in BackwardRefsNewBlock()
165 refs->last_block_ = b; in BackwardRefsNewBlock()
187 extern void VP8LBackwardRefsCursorAdd(VP8LBackwardRefs* const refs,
189 void VP8LBackwardRefsCursorAdd(VP8LBackwardRefs* const refs, in VP8LBackwardRefsCursorAdd() argument
191 PixOrCopyBlock* b = refs->last_block_; in VP8LBackwardRefsCursorAdd()
192 if (b == NULL || b->size_ == refs->block_size_) { in VP8LBackwardRefsCursorAdd()
193 b = BackwardRefsNewBlock(refs); in VP8LBackwardRefsCursorAdd()
194 if (b == NULL) return; // refs->error_ is set in VP8LBackwardRefsCursorAdd()
452 VP8LBackwardRefs* const refs) { in AddSingleLiteral() argument
465 VP8LBackwardRefsCursorAdd(refs, v); in AddSingleLiteral()
470 int cache_bits, VP8LBackwardRefs* const refs) { in BackwardReferencesRle() argument
479 VP8LClearBackwardRefs(refs); in BackwardReferencesRle()
481 AddSingleLiteral(argb[0], use_color_cache, &hashers, refs); in BackwardReferencesRle()
489 VP8LBackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(1, rle_len)); in BackwardReferencesRle()
495 VP8LBackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(xsize, prev_row_len)); in BackwardReferencesRle()
503 AddSingleLiteral(argb[i], use_color_cache, &hashers, refs); in BackwardReferencesRle()
508 return !refs->error_; in BackwardReferencesRle()
514 VP8LBackwardRefs* const refs) { in BackwardReferencesLz77() argument
527 VP8LClearBackwardRefs(refs); in BackwardReferencesLz77()
563 AddSingleLiteral(argb[i], use_color_cache, &hashers, refs); in BackwardReferencesLz77()
565 VP8LBackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(offset, len)); in BackwardReferencesLz77()
573 ok = !refs->error_; in BackwardReferencesLz77()
587 VP8LBackwardRefs* const refs) { in BackwardReferencesLz77Box() argument
729 refs); in BackwardReferencesLz77Box()
735 const VP8LBackwardRefs* const refs) { in BackwardReferences2DLocality() argument
736 VP8LRefsCursor c = VP8LRefsCursorInit(refs); in BackwardReferences2DLocality()
753 const VP8LBackwardRefs* const refs, in CalculateBestCacheSize() argument
760 VP8LRefsCursor c = VP8LRefsCursorInit(refs); in CalculateBestCacheSize()
860 VP8LBackwardRefs* const refs) { in BackwardRefsWithLocalCache() argument
863 VP8LRefsCursor c = VP8LRefsCursorInit(refs); in BackwardRefsWithLocalCache()
879 // refs was created without local cache, so it can not have cache indexes. in BackwardRefsWithLocalCache()
913 VP8LBackwardRefs* const refs, in GetBackwardReferences() argument
921 VP8LBackwardRefs* const refs_tmp = &refs[do_no_cache ? 2 : 1]; in GetBackwardReferences()
982 if (!BackwardRefsClone(refs_tmp, &refs[1])) goto Error; in GetBackwardReferences()
984 BackwardRefsSwap(refs_tmp, &refs[0]); in GetBackwardReferences()
1007 hash_chain_tmp, &refs[i], in GetBackwardReferences()
1014 BackwardRefsSwap(refs_tmp, &refs[i]); in GetBackwardReferences()
1018 BackwardReferences2DLocality(width, &refs[i]); in GetBackwardReferences()
1024 if (!BackwardRefsClone(&refs[1], &refs[0])) goto Error; in GetBackwardReferences()
1039 const VP8LHashChain* const hash_chain, VP8LBackwardRefs* const refs, in VP8LGetBackwardReferences() argument
1046 width, height, argb, cache_bits_best, hash_chain, refs); in VP8LGetBackwardReferences()
1051 BackwardRefsSwap(refs_best, &refs[0]); in VP8LGetBackwardReferences()
1054 cache_bits_max, do_no_cache, hash_chain, refs, in VP8LGetBackwardReferences()