Lines Matching refs:cc
78 CDGraphicsContext *cc = avctx->priv_data;
80 cc->frame = av_frame_alloc();
81 if (!cc->frame)
85 cc->alpha[i] = 0xFFU;
91 static void cdg_border_preset(CDGraphicsContext *cc, uint8_t *data)
94 int lsize = cc->frame->linesize[0];
95 uint8_t *buf = cc->frame->data[0];
113 static void cdg_load_palette(CDGraphicsContext *cc, uint8_t *data, int low)
119 uint32_t *palette = (uint32_t *) cc->frame->data[1];
126 palette[i + array_offset] = (uint32_t)cc->alpha[i + array_offset] << 24 | r << 16 | g << 8 | b;
128 cc->frame->palette_has_changed = 1;
131 static int cdg_tile_block(CDGraphicsContext *cc, uint8_t *data, int b)
137 int stride = cc->frame->linesize[0];
138 uint8_t *buf = cc->frame->data[0];
140 ri = (data[2] & 0x1F) * CDG_TILE_HEIGHT + cc->vscroll;
141 ci = (data[3] & 0x3F) * CDG_TILE_WIDTH + cc->hscroll;
203 static void cdg_scroll(CDGraphicsContext *cc, uint8_t *data,
209 int stride = cc->frame->linesize[0];
210 uint8_t *in = cc->frame->data[0];
221 hinc = h_off - cc->hscroll;
222 vinc = cc->vscroll - v_off;
223 cc->hscroll = h_off;
224 cc->vscroll = v_off;
238 memcpy(new_frame->data[1], cc->frame->data[1], CDG_PALETTE_SIZE * 4);
273 CDGraphicsContext *cc = avctx->priv_data;
286 if ((ret = ff_reget_buffer(avctx, cc->frame, 0)) < 0)
288 if (!cc->cleared) {
289 memset(cc->frame->data[0], 0, cc->frame->linesize[0] * avctx->height);
290 memset(cc->frame->data[1], 0, AVPALETTE_SIZE);
291 cc->cleared = 1;
304 memset(cc->frame->data[0], cdg_data[0] & 0x0F,
305 cc->frame->linesize[0] * CDG_FULL_HEIGHT);
314 cdg_load_palette(cc, cdg_data, inst == CDG_INST_LOAD_PAL_LO);
317 cdg_border_preset(cc, cdg_data);
326 ret = cdg_tile_block(cc, cdg_data, inst == CDG_INST_TILE_BLOCK_XOR);
342 cdg_scroll(cc, cdg_data, frame, inst == CDG_INST_SCROLL_COPY);
343 av_frame_unref(cc->frame);
344 ret = av_frame_ref(cc->frame, frame);
350 cc->alpha[i] = 255 - ((cdg_data[i] & 0x3f) << 2);
357 ret = av_frame_ref(frame, cc->frame);
371 CDGraphicsContext *cc = avctx->priv_data;
373 if (!cc->frame->data[0])
376 memset(cc->frame->data[0], 0, cc->frame->linesize[0] * avctx->height);
378 memset(cc->frame->data[1], 0, AVPALETTE_SIZE);
383 CDGraphicsContext *cc = avctx->priv_data;
385 av_frame_free(&cc->frame);