[FFmpeg-cvslog] svq3: move block_offset to SVQ3Context
Anton Khirnov
git at videolan.org
Tue May 3 11:29:17 CEST 2016
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed Mar 23 13:17:44 2016 +0100| [7bbdae81e895a49125dba58bad01b98389966c39] | committer: Anton Khirnov
svq3: move block_offset to SVQ3Context
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7bbdae81e895a49125dba58bad01b98389966c39
---
libavcodec/svq3.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index c039e74..34e0076 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -127,6 +127,7 @@ typedef struct SVQ3Context {
DECLARE_ALIGNED(16, int16_t, mb_luma_dc)[3][16 * 2];
DECLARE_ALIGNED(8, uint8_t, non_zero_count_cache)[15 * 8];
uint32_t dequant4_coeff[QP_MAX_NUM + 1][16];
+ int block_offset[2 * (16 * 3)];
} SVQ3Context;
#define FULLPEL_MODE 1
@@ -663,7 +664,7 @@ static void hl_decode_mb(SVQ3Context *s, const H264Context *h)
uint8_t *dest_y, *dest_cb, *dest_cr;
int linesize, uvlinesize;
int i, j;
- const int *block_offset = &h->block_offset[0];
+ const int *block_offset = &s->block_offset[0];
const int block_h = 16 >> h->chroma_y_shift;
linesize = s->cur_pic->f->linesize[0];
@@ -1419,14 +1420,14 @@ static int svq3_decode_frame(AVCodecContext *avctx, void *data,
return ret;
for (i = 0; i < 16; i++) {
- h->block_offset[i] = (4 * ((scan8[i] - scan8[0]) & 7)) + 4 * s->cur_pic->f->linesize[0] * ((scan8[i] - scan8[0]) >> 3);
- h->block_offset[48 + i] = (4 * ((scan8[i] - scan8[0]) & 7)) + 8 * s->cur_pic->f->linesize[0] * ((scan8[i] - scan8[0]) >> 3);
+ s->block_offset[i] = (4 * ((scan8[i] - scan8[0]) & 7)) + 4 * s->cur_pic->f->linesize[0] * ((scan8[i] - scan8[0]) >> 3);
+ s->block_offset[48 + i] = (4 * ((scan8[i] - scan8[0]) & 7)) + 8 * s->cur_pic->f->linesize[0] * ((scan8[i] - scan8[0]) >> 3);
}
for (i = 0; i < 16; i++) {
- h->block_offset[16 + i] =
- h->block_offset[32 + i] = (4 * ((scan8[i] - scan8[0]) & 7)) + 4 * s->cur_pic->f->linesize[1] * ((scan8[i] - scan8[0]) >> 3);
- h->block_offset[48 + 16 + i] =
- h->block_offset[48 + 32 + i] = (4 * ((scan8[i] - scan8[0]) & 7)) + 8 * s->cur_pic->f->linesize[1] * ((scan8[i] - scan8[0]) >> 3);
+ s->block_offset[16 + i] =
+ s->block_offset[32 + i] = (4 * ((scan8[i] - scan8[0]) & 7)) + 4 * s->cur_pic->f->linesize[1] * ((scan8[i] - scan8[0]) >> 3);
+ s->block_offset[48 + 16 + i] =
+ s->block_offset[48 + 32 + i] = (4 * ((scan8[i] - scan8[0]) & 7)) + 8 * s->cur_pic->f->linesize[1] * ((scan8[i] - scan8[0]) >> 3);
}
if (s->pict_type != AV_PICTURE_TYPE_I) {
More information about the ffmpeg-cvslog
mailing list