Lines Matching refs:stride
95 int stride; /* in bytes */
113 ptrdiff_t stride;
229 void (*put_pixels_tab[4])(uint8_t *dst, const uint8_t *src[5], int stride, int h);
230 void (*avg_pixels_tab[4])(uint8_t *dst, const uint8_t *src[5], int stride, int h);
231 void (*add_obmc)(uint16_t *dst, const uint8_t *src, int stride, const uint8_t *obmc_weight, int yblen);
315 /* fixme: allocate using real stride here */
324 static int alloc_buffers(DiracContext *s, int stride)
329 av_assert0(stride >= w);
330 stride += 64;
332 if (s->buffer_stride >= stride)
341 s->edge_emu_buffer_base = av_malloc_array(stride, MAX_BLOCKSIZE);
343 s->mctmp = av_malloc_array((stride+MAX_BLOCKSIZE), (h+MAX_BLOCKSIZE) * sizeof(*s->mctmp));
344 s->mcscratch = av_malloc_array(stride, MAX_BLOCKSIZE);
349 s->buffer_stride = stride;
458 const int mstride = -(b->stride >> (1+b->pshift)); \
461 const int stride = b->parent->stride >> (1+b->parent->pshift); \
462 pred_ctx += !!pbuf[stride * (y>>1) + (x>>1)] << 1; \
535 buf = b->ibuf + top * b->stride;
547 buf += b->stride;
561 buf += b->stride;
579 buf += (b->stride >> (1+b->pshift)); \
582 buf[0] += buf[-(b->stride >> (1+b->pshift))]; \
585 int pred = buf[x - 1] + buf[x - (b->stride >> (1+b->pshift))] + buf[x - (b->stride >> (1+b->pshift))-1]; \
588 buf += (b->stride >> (1+b->pshift)); \
735 uint8_t *buf1 = b1->ibuf + top * b1->stride;
736 uint8_t *buf2 = b2 ? b2->ibuf + top * b2->stride: NULL;
755 buf1 += b1->stride;
757 buf2 += b2->stride;
765 buf1 += b1->stride;
767 buf2 += b2->stride;
898 uint8_t *buf = b1->ibuf + c->top * b1->stride + (c->left << (s->pshift + 1));
902 s->diracdsp.dequant_subband[qfunc](&tmp_buf[off], buf, b1->stride,
1061 p->idwt.stride = FFALIGN(p->idwt.width, 8) << (1 + s->pshift);
1072 b->stride = p->idwt.stride << (s->wavelet_depth - level);
1080 b->ibuf += (b->stride>>1);
1328 static inline int pred_sbsplit(uint8_t *sbsplit, int stride, int x, int y)
1337 return sbsplit[-stride];
1339 return avgsplit[sbsplit[-1] + sbsplit[-stride] + sbsplit[-stride-1]];
1342 static inline int pred_block_mode(DiracBlock *block, int stride, int x, int y, int refmask)
1351 return block[-stride].ref & refmask;
1354 pred = (block[-1].ref & refmask) + (block[-stride].ref & refmask) + (block[-stride-1].ref & refmask);
1358 static inline void pred_block_dc(DiracBlock *block, int stride, int x, int y)
1370 if (y && !(block[-stride].ref & 3)) {
1372 block->u.dc[i] += block[-stride].u.dc[i];
1376 if (x && y && !(block[-1-stride].ref & 3)) {
1378 block->u.dc[i] += block[-1-stride].u.dc[i];
1391 static inline void pred_mv(DiracBlock *block, int stride, int x, int y, int ref)
1401 if (y && (block[-stride].ref & mask) == refmask)
1402 pred[n++] = block[-stride].u.mv[ref];
1404 if (x && y && (block[-stride-1].ref & mask) == refmask)
1405 pred[n++] = block[-stride-1].u.mv[ref];
1444 int stride, int x, int y)
1448 block->ref = pred_block_mode(block, stride, x, y, DIRAC_REF_MASK_REF1);
1452 block->ref |= pred_block_mode(block, stride, x, y, DIRAC_REF_MASK_REF2);
1457 pred_block_dc(block, stride, x, y);
1464 block->ref |= pred_block_mode(block, stride, x, y, DIRAC_REF_MASK_GLOBAL);
1473 pred_mv(block, stride, x, y, i);
1483 static void propagate_block_data(DiracBlock *block, int stride, int size)
1492 dst += stride;
1574 static void init_obmc_weight_row(Plane *p, uint8_t *obmc_weight, int stride,
1584 for (; x < stride; x++)
1588 static void init_obmc_weight(Plane *p, uint8_t *obmc_weight, int stride,
1593 init_obmc_weight_row(p, obmc_weight, stride, left, right, 8);
1594 obmc_weight += stride;
1598 init_obmc_weight_row(p, obmc_weight, stride, left, right, wy);
1599 obmc_weight += stride;
1602 init_obmc_weight_row(p, obmc_weight, stride, left, right, 8);
1603 obmc_weight += stride;
1677 src[0] = ref_hpel[(my>>1)+(mx>>2)] + y*p->stride + x;
1682 src[i] = ref_hpel[i] + y*p->stride + x;
1692 src[0] += p->stride;
1693 src[1] += p->stride;
1733 p->stride, p->stride,
1742 static void add_dc(uint16_t *dst, int dc, int stride,
1753 dst += stride;
1768 add_dc(mctmp, block->u.dc[plane], p->stride, obmc_weight, p->xblen, p->yblen);
1773 s->put_pixels_tab[idx](s->mcscratch, src, p->stride, p->yblen);
1775 s->weight_func(s->mcscratch, p->stride, s->weight_log2denom,
1780 s->put_pixels_tab[idx](s->mcscratch, src, p->stride, p->yblen);
1784 s->put_pixels_tab[idx](s->mcscratch + 32, src, p->stride, p->yblen);
1785 s->biweight_func(s->mcscratch, s->mcscratch+32, p->stride, s->weight_log2denom,
1788 s->avg_pixels_tab[idx](s->mcscratch, src, p->stride, p->yblen);
1791 s->add_obmc(mctmp, s->mcscratch, p->stride, obmc_weight, p->yblen);
1882 memset(p->idwt.buf, 0, p->idwt.stride * p->idwt.height);
1901 memset(p->idwt.buf, 0, p->idwt.stride * p->idwt.height);
1915 s->diracdsp.put_signed_rect_clamped[idx](frame + y*p->stride,
1916 p->stride,
1917 p->idwt.buf + y*p->idwt.stride,
1918 p->idwt.stride, p->width, 16);
1921 int rowheight = p->ybsep*p->stride;
1931 memset(s->mctmp, 0, 4*p->yoffset*p->stride);
1949 memset(mctmp+2*p->yoffset*p->stride, 0, 2*rowheight);
1952 mctmp += (start - dsty)*p->stride + p->xoffset;
1955 * idwt.stride is passed as pixels, not in bytes as in the rest of the decoder */
1956 s->diracdsp.add_rect_clamped(frame + start*p->stride, mctmp, p->stride,
1957 (int16_t*)(p->idwt.buf) + start*(p->idwt.stride >> 1), (p->idwt.stride >> 1), p->width, h);
2243 s->plane[0].stride = pic->avframe->linesize[0];
2244 s->plane[1].stride = pic->avframe->linesize[1];
2245 s->plane[2].stride = pic->avframe->linesize[2];
2247 if (alloc_buffers(s, FFMAX3(FFABS(s->plane[0].stride), FFABS(s->plane[1].stride), FFABS(s->plane[2].stride))) < 0)