libavcodec/hqx.c:291: error: Buffer Overrun L2
  Offset: [7, 70] (⇐ 7 + [0, 63]) Size: 16 by call to `put_blocks`.

libavcodec/hqx.c:263:1: Parameter `ctx->block[*]`
261. }
262. 
263. static int hqx_decode_422(HQXContext *ctx, AVFrame *pic,
     ^
264.                           GetBitContext *gb, int x, int y)
265. {

libavcodec/hqx.c:291:5: Call
289.     put_blocks(pic, 0, x + 8,  y, flag, ctx->block[1], ctx->block[3], hqx_quant_luma);
290.     put_blocks(pic, 2, x >> 1, y, flag, ctx->block[4], ctx->block[5], hqx_quant_chroma);
291.     put_blocks(pic, 1, x >> 1, y, flag, ctx->block[6], ctx->block[7], hqx_quant_chroma);
         ^
292. 
293.     return 0;

libavcodec/hqx.c:192:1: Parameter `*block1`
  190. }
  191. 
  192. static inline void put_blocks(AVFrame *pic, int plane,
       ^
  193.                               int x, int y, int ilace,
  194.                               int16_t *block0, int16_t *block1,

libavcodec/hqx.c:202:5: Call
  200. 
  201.     hqx_idct_put((uint16_t *)(p + y * lsize), lsize * fields, block0, quant);
  202.     hqx_idct_put((uint16_t *)(p + (y + (ilace ? 1 : 8)) * lsize),
           ^
  203.                  lsize * fields, block1, quant);
  204. }

libavcodec/hqx.c:183:10: <Offset trace>
181.     hqx_idct(block, quant);
182. 
183.     for (i = 0; i < 8; i++) {
              ^
184.         for (j = 0; j < 8; j++) {
185.             int v = av_clip(block[j + i * 8] + 0x800, 0, 0x1000);

libavcodec/hqx.c:183:10: Assignment
    181.     hqx_idct(block, quant);
    182. 
    183.     for (i = 0; i < 8; i++) {
                  ^
    184.         for (j = 0; j < 8; j++) {
    185.             int v = av_clip(block[j + i * 8] + 0x800, 0, 0x1000);

libavcodec/hqx.c:176:1: <Length trace>
174. }
175. 
176. static void hqx_idct_put(uint16_t *dst, ptrdiff_t stride,
     ^
177.                          int16_t *block, const uint8_t *quant)
178. {

libavcodec/hqx.c:176:1: Parameter `*block`
    174. }
    175. 
    176. static void hqx_idct_put(uint16_t *dst, ptrdiff_t stride,
         ^
    177.                          int16_t *block, const uint8_t *quant)
    178. {

libavcodec/hqx.c:185:29: Array access: Offset: [7, 70] (⇐ 7 + [0, 63]) Size: 16 by call to `put_blocks` 
    183.     for (i = 0; i < 8; i++) {
    184.         for (j = 0; j < 8; j++) {
    185.             int v = av_clip(block[j + i * 8] + 0x800, 0, 0x1000);
                                     ^
    186.             dst[j] = (v << 4) | (v >> 8);
    187.         }

static void hqx_idct_put(uint16_t *dst, ptrdiff_t stride,
                         int16_t *block, const uint8_t *quant)
{
    int i, j;
    hqx_idct(block, quant);
    for (i = 0; i < 8; i++) {
        for (j = 0; j < 8; j++) {
            int v = av_clip(block[j + i * 8] + 0x800, 0, 0x1000);
            dst[j] = (v << 4) | (v >> 8);
        }
        dst += stride >> 1;
    }
}
['static int hqx_decode_422(HQXContext *ctx, AVFrame *pic,\n                          GetBitContext *gb, int x, int y)\n{\n    const int *quants;\n    int flag;\n    int last_dc;\n    int i, ret;\n    if (ctx->interlaced)\n        flag = get_bits1(gb);\n    else\n        flag = 0;\n    quants = hqx_quants[get_bits(gb, 4)];\n    for (i = 0; i < 8; i++) {\n        int vlc_index = ctx->dcb - 9;\n        if (i == 0 || i == 4 || i == 6)\n            last_dc = 0;\n        ret = decode_block(gb, &ctx->dc_vlc[vlc_index], quants,\n                           ctx->dcb, ctx->block[i], &last_dc);\n        if (ret < 0)\n            return ret;\n    }\n    put_blocks(pic, 0, x,      y, flag, ctx->block[0], ctx->block[2], hqx_quant_luma);\n    put_blocks(pic, 0, x + 8,  y, flag, ctx->block[1], ctx->block[3], hqx_quant_luma);\n    put_blocks(pic, 2, x >> 1, y, flag, ctx->block[4], ctx->block[5], hqx_quant_chroma);\n    put_blocks(pic, 1, x >> 1, y, flag, ctx->block[6], ctx->block[7], hqx_quant_chroma);\n    return 0;\n}', 'static inline void put_blocks(AVFrame *pic, int plane,\n                              int x, int y, int ilace,\n                              int16_t *block0, int16_t *block1,\n                              const uint8_t *quant)\n{\n    int fields = ilace ? 2 : 1;\n    int lsize = pic->linesize[plane];\n    uint8_t *p = pic->data[plane] + x * 2;\n    hqx_idct_put((uint16_t *)(p + y * lsize), lsize * fields, block0, quant);\n    hqx_idct_put((uint16_t *)(p + (y + (ilace ? 1 : 8)) * lsize),\n                 lsize * fields, block1, quant);\n}', 'static void hqx_idct_put(uint16_t *dst, ptrdiff_t stride,\n                         int16_t *block, const uint8_t *quant)\n{\n    int i, j;\n    hqx_idct(block, quant);\n    for (i = 0; i < 8; i++) {\n        for (j = 0; j < 8; j++) {\n            int v = av_clip(block[j + i * 8] + 0x800, 0, 0x1000);\n            dst[j] = (v << 4) | (v >> 8);\n        }\n        dst += stride >> 1;\n    }\n}']