Lines Matching refs:tile

360     IVITile *tile = band->tiles;
364 tile->xpos = x;
365 tile->ypos = y;
366 tile->mb_size = band->mb_size;
367 tile->width = FFMIN(band->width - x, t_width);
368 tile->height = FFMIN(band->height - y, t_height);
369 tile->is_empty = tile->data_size = 0;
371 tile->num_MBs = IVI_MBs_PER_TILE(tile->width, tile->height,
374 av_freep(&tile->mbs);
375 tile->mbs = av_calloc(tile->num_MBs, sizeof(*tile->mbs));
376 if (!tile->mbs)
379 tile->ref_mbs = 0;
381 if (tile->num_MBs != ref_tile->num_MBs) {
385 tile->ref_mbs = ref_tile->mbs;
388 tile++;
450 * Decode size of the tile data.
454 * where X1-X3 is size of the tile data
457 * @return size of the tile data in bytes
593 * @param[in] tile pointer to the tile descriptor
597 IVITile *tile, AVCodecContext *avctx)
626 for (mbn = 0, mb = tile->mbs; mbn < tile->num_MBs; mb++, mbn++) {
745 * @param[in] tile pointer to the tile descriptor
749 IVITile *tile, int32_t mv_scale)
759 int xend = tile->xpos + tile->width;
763 if (tile->num_MBs != IVI_MBs_PER_TILE(tile->width, tile->height, mb_size)) {
764 av_log(avctx, AV_LOG_ERROR, "Allocated tile size %d mismatches "
766 tile->num_MBs, IVI_MBs_PER_TILE(tile->width, tile->height, mb_size));
770 offs = tile->ypos * pitch + tile->xpos;
771 mb = tile->mbs;
772 ref_mb = tile->ref_mbs;
776 for (y = tile->ypos; y < (tile->ypos + tile->height); y += mb_size) {
779 for (x = tile->xpos; x < xend; x += mb_size) {
838 for (mbn = 0, mb = tile->mbs; mbn < tile->num_MBs; mb++, mbn++) {
859 /* copy data from the reference tile into the current one */
860 src = band->ref_buf + tile->ypos * pitch + tile->xpos;
861 dst = band->buf + tile->ypos * pitch + tile->xpos;
862 for (y = 0; y < tile->height; y++) {
863 memcpy(dst, src, tile->width*sizeof(band->buf[0]));
945 IVITile *tile;
994 tile = &band->tiles[t];
996 if (tile->mb_size != band->mb_size) {
998 band->mb_size, tile->mb_size);
1001 tile->is_empty = get_bits1(&ctx->gb);
1002 if (tile->is_empty) {
1003 result = ivi_process_empty_tile(avctx, band, tile,
1007 ff_dlog(avctx, "Empty tile encountered!\n");
1009 tile->data_size = ivi_dec_tile_data_size(&ctx->gb);
1010 if (!tile->data_size) {
1016 result = ctx->decode_mb_info(ctx, band, tile, avctx);
1020 result = ivi_decode_blocks(&ctx->gb, band, tile, avctx);
1023 "Corrupted tile data encountered!\n");
1027 if (((get_bits_count(&ctx->gb) - pos) >> 3) != tile->data_size) {
1034 pos += tile->data_size << 3; // skip to next tile