Lines Matching refs:cm

40 extern void vp8_init_loop_filter(VP8_COMMON *cm);
42 static int get_free_fb (VP8_COMMON *cm);
112 VP8_COMMON *cm = &pbi->common;
116 ref_fb_idx = cm->lst_fb_idx;
118 ref_fb_idx = cm->gld_fb_idx;
120 ref_fb_idx = cm->alt_fb_idx;
127 if(cm->yv12_fb[ref_fb_idx].y_height != sd->y_height ||
128 cm->yv12_fb[ref_fb_idx].y_width != sd->y_width ||
129 cm->yv12_fb[ref_fb_idx].uv_height != sd->uv_height ||
130 cm->yv12_fb[ref_fb_idx].uv_width != sd->uv_width){
135 vp8_yv12_copy_frame(&cm->yv12_fb[ref_fb_idx], sd);
143 VP8_COMMON *cm = &pbi->common;
148 ref_fb_ptr = &cm->lst_fb_idx;
150 ref_fb_ptr = &cm->gld_fb_idx;
152 ref_fb_ptr = &cm->alt_fb_idx;
159 if(cm->yv12_fb[*ref_fb_ptr].y_height != sd->y_height ||
160 cm->yv12_fb[*ref_fb_ptr].y_width != sd->y_width ||
161 cm->yv12_fb[*ref_fb_ptr].uv_height != sd->uv_height ||
162 cm->yv12_fb[*ref_fb_ptr].uv_width != sd->uv_width){
168 free_fb = get_free_fb(cm);
171 cm->fb_idx_ref_cnt[free_fb]--;
174 ref_cnt_fb (cm->fb_idx_ref_cnt, ref_fb_ptr, free_fb);
175 vp8_yv12_copy_frame(sd, &cm->yv12_fb[*ref_fb_ptr]);
181 static int get_free_fb (VP8_COMMON *cm)
185 if (cm->fb_idx_ref_cnt[i] == 0)
189 cm->fb_idx_ref_cnt[i] = 1;
204 static int swap_frame_buffers (VP8_COMMON *cm)
213 if (cm->copy_buffer_to_arf)
217 if (cm->copy_buffer_to_arf == 1)
218 new_fb = cm->lst_fb_idx;
219 else if (cm->copy_buffer_to_arf == 2)
220 new_fb = cm->gld_fb_idx;
224 ref_cnt_fb (cm->fb_idx_ref_cnt, &cm->alt_fb_idx, new_fb);
227 if (cm->copy_buffer_to_gf)
231 if (cm->copy_buffer_to_gf == 1)
232 new_fb = cm->lst_fb_idx;
233 else if (cm->copy_buffer_to_gf == 2)
234 new_fb = cm->alt_fb_idx;
238 ref_cnt_fb (cm->fb_idx_ref_cnt, &cm->gld_fb_idx, new_fb);
241 if (cm->refresh_golden_frame)
242 ref_cnt_fb (cm->fb_idx_ref_cnt, &cm->gld_fb_idx, cm->new_fb_idx);
244 if (cm->refresh_alt_ref_frame)
245 ref_cnt_fb (cm->fb_idx_ref_cnt, &cm->alt_fb_idx, cm->new_fb_idx);
247 if (cm->refresh_last_frame)
249 ref_cnt_fb (cm->fb_idx_ref_cnt, &cm->lst_fb_idx, cm->new_fb_idx);
251 cm->frame_to_show = &cm->yv12_fb[cm->lst_fb_idx];
254 cm->frame_to_show = &cm->yv12_fb[cm->new_fb_idx];
256 cm->fb_idx_ref_cnt[cm->new_fb_idx]--;
266 VP8_COMMON *cm = &pbi->common;
271 if (cm->fb_idx_ref_cnt[cm->lst_fb_idx] > 1)
277 const int prev_idx = cm->lst_fb_idx;
278 cm->fb_idx_ref_cnt[prev_idx]--;
279 cm->lst_fb_idx = get_free_fb(cm);
280 vp8_yv12_copy_frame(&cm->yv12_fb[prev_idx],
281 &cm->yv12_fb[cm->lst_fb_idx]);
288 cm->yv12_fb[cm->lst_fb_idx].corrupted = 1;
291 cm->show_frame = 0;
304 VP8_COMMON *cm = &pbi->common;
313 cm->new_fb_idx = get_free_fb (cm);
316 pbi->dec_fb_ref[INTRA_FRAME] = &cm->yv12_fb[cm->new_fb_idx];
317 pbi->dec_fb_ref[LAST_FRAME] = &cm->yv12_fb[cm->lst_fb_idx];
318 pbi->dec_fb_ref[GOLDEN_FRAME] = &cm->yv12_fb[cm->gld_fb_idx];
319 pbi->dec_fb_ref[ALTREF_FRAME] = &cm->yv12_fb[cm->alt_fb_idx];
327 cm->yv12_fb[cm->lst_fb_idx].corrupted = 1;
329 if (cm->fb_idx_ref_cnt[cm->new_fb_idx] > 0)
330 cm->fb_idx_ref_cnt[cm->new_fb_idx]--;
341 if (cm->fb_idx_ref_cnt[cm->new_fb_idx] > 0)
342 cm->fb_idx_ref_cnt[cm->new_fb_idx]--;
348 if (swap_frame_buffers (cm))
356 if (cm->show_frame)
358 cm->current_video_frame++;
359 cm->show_frame_mi = cm->mi;