Lines Matching refs:queue
70 static void sample_queue_pop(HintSampleQueue *queue) in sample_queue_pop() argument
72 if (queue->len <= 0) in sample_queue_pop()
74 if (queue->samples[0].own_data) in sample_queue_pop()
75 av_freep(&queue->samples[0].data); in sample_queue_pop()
76 queue->len--; in sample_queue_pop()
77 memmove(queue->samples, queue->samples + 1, sizeof(HintSample)*queue->len); in sample_queue_pop()
83 static void sample_queue_free(HintSampleQueue *queue) in sample_queue_free() argument
86 for (i = 0; i < queue->len; i++) in sample_queue_free()
87 if (queue->samples[i].own_data) in sample_queue_free()
88 av_freep(&queue->samples[i].data); in sample_queue_free()
89 av_freep(&queue->samples); in sample_queue_free()
90 queue->len = 0; in sample_queue_free()
91 queue->size = 0; in sample_queue_free()
99 static void sample_queue_push(HintSampleQueue *queue, uint8_t *data, int size, in sample_queue_push() argument
106 if (!queue->samples || queue->len >= queue->size) { in sample_queue_push()
108 samples = av_realloc_array(queue->samples, queue->size + 10, sizeof(HintSample)); in sample_queue_push()
111 queue->size += 10; in sample_queue_push()
112 queue->samples = samples; in sample_queue_push()
114 queue->samples[queue->len].data = data; in sample_queue_push()
115 queue->samples[queue->len].size = size; in sample_queue_push()
116 queue->samples[queue->len].sample_number = sample; in sample_queue_push()
117 queue->samples[queue->len].offset = 0; in sample_queue_push()
118 queue->samples[queue->len].own_data = 0; in sample_queue_push()
119 queue->len++; in sample_queue_push()
125 static void sample_queue_retain(HintSampleQueue *queue) in sample_queue_retain() argument
128 for (i = 0; i < queue->len; ) { in sample_queue_retain()
129 HintSample *sample = &queue->samples[i]; in sample_queue_retain()
134 memmove(queue->samples + i, queue->samples + i + 1, in sample_queue_retain()
135 sizeof(HintSample)*(queue->len - i - 1)); in sample_queue_retain()
136 queue->len--; in sample_queue_retain()
216 HintSampleQueue *queue, int *pos, in find_sample_match() argument
220 while (queue->len > 0) { in find_sample_match()
221 HintSample *sample = &queue->samples[0]; in find_sample_match()
234 sample_queue_pop(queue); /* Not enough useful data left */ in find_sample_match()
244 sample_queue_pop(queue); in find_sample_match()
285 HintSampleQueue *queue) in describe_payload() argument
290 if (find_sample_match(data, size, queue, &pos, &match_sample, in describe_payload()