libavcodec/svq3.c:651: error: Buffer Overrun L1
  Offset: [3, 15] Size: 3 by call to `svq3_luma_dc_dequant_idct_c`.

libavcodec/svq3.c:616:1: Parameter `s->mb_luma_dc[*]`
614. }
615. 
616. static av_always_inline void hl_decode_mb_predict_luma(SVQ3Context *s,
     ^
617.                                                        int mb_type,
618.                                                        const int *block_offset,

libavcodec/svq3.c:651:9: Call
649.     } else {
650.         s->hpc.pred16x16[s->intra16x16_pred_mode](dest_y, linesize);
651.         svq3_luma_dc_dequant_idct_c(s->mb, s->mb_luma_dc[0], qscale);
             ^
652.     }
653. }

libavcodec/svq3.c:213:10: <Offset trace>
211.     static const uint8_t x_offset[4] = { 0, 1 * stride, 4 * stride, 5 * stride };
212. 
213.     for (i = 0; i < 4; i++) {
              ^
214.         const int z0 = 13 * (input[4 * i + 0] +      input[4 * i + 2]);
215.         const int z1 = 13 * (input[4 * i + 0] -      input[4 * i + 2]);

libavcodec/svq3.c:213:10: Assignment
  211.     static const uint8_t x_offset[4] = { 0, 1 * stride, 4 * stride, 5 * stride };
  212. 
  213.     for (i = 0; i < 4; i++) {
                ^
  214.         const int z0 = 13 * (input[4 * i + 0] +      input[4 * i + 2]);
  215.         const int z1 = 13 * (input[4 * i + 0] -      input[4 * i + 2]);

libavcodec/svq3.c:205:1: <Length trace>
203. };
204. 
205. static void svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp)
     ^
206. {
207.     const int qmul = svq3_dequant_coeff[qp];

libavcodec/svq3.c:205:1: Parameter `*input`
  203. };
  204. 
  205. static void svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp)
       ^
  206. {
  207.     const int qmul = svq3_dequant_coeff[qp];

libavcodec/svq3.c:216:54: Array access: Offset: [3, 15] Size: 3 by call to `svq3_luma_dc_dequant_idct_c` 
  214.         const int z0 = 13 * (input[4 * i + 0] +      input[4 * i + 2]);
  215.         const int z1 = 13 * (input[4 * i + 0] -      input[4 * i + 2]);
  216.         const int z2 =  7 *  input[4 * i + 1] - 17 * input[4 * i + 3];
                                                            ^
  217.         const int z3 = 17 *  input[4 * i + 1] +  7 * input[4 * i + 3];
  218. 

static void svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp)
{
    const int qmul = svq3_dequant_coeff[qp];
#define stride 16
    int i;
    int temp[16];
    static const uint8_t x_offset[4] = { 0, 1 * stride, 4 * stride, 5 * stride };
    for (i = 0; i < 4; i++) {
        const int z0 = 13 * (input[4 * i + 0] +      input[4 * i + 2]);
        const int z1 = 13 * (input[4 * i + 0] -      input[4 * i + 2]);
        const int z2 =  7 *  input[4 * i + 1] - 17 * input[4 * i + 3];
        const int z3 = 17 *  input[4 * i + 1] +  7 * input[4 * i + 3];
        temp[4 * i + 0] = z0 + z3;
        temp[4 * i + 1] = z1 + z2;
        temp[4 * i + 2] = z1 - z2;
        temp[4 * i + 3] = z0 - z3;
    }
    for (i = 0; i < 4; i++) {
        const int offset = x_offset[i];
        const int z0     = 13 * (temp[4 * 0 + i] +      temp[4 * 2 + i]);
        const int z1     = 13 * (temp[4 * 0 + i] -      temp[4 * 2 + i]);
        const int z2     =  7 *  temp[4 * 1 + i] - 17 * temp[4 * 3 + i];
        const int z3     = 17 *  temp[4 * 1 + i] +  7 * temp[4 * 3 + i];
        output[stride *  0 + offset] = (z0 + z3) * qmul + 0x80000 >> 20;
        output[stride *  2 + offset] = (z1 + z2) * qmul + 0x80000 >> 20;
        output[stride *  8 + offset] = (z1 - z2) * qmul + 0x80000 >> 20;
        output[stride * 10 + offset] = (z0 - z3) * qmul + 0x80000 >> 20;
    }
}
['static av_always_inline void hl_decode_mb_predict_luma(SVQ3Context *s,\n                                                       int mb_type,\n                                                       const int *block_offset,\n                                                       int linesize,\n                                                       uint8_t *dest_y)\n{\n    int i;\n    int qscale = s->qscale;\n    if (IS_INTRA4x4(mb_type)) {\n        for (i = 0; i < 16; i++) {\n            uint8_t *const ptr = dest_y + block_offset[i];\n            const int dir      = s->intra4x4_pred_mode_cache[scan8[i]];\n            uint8_t *topright;\n            int nnz, tr;\n            if (dir == DIAG_DOWN_LEFT_PRED || dir == VERT_LEFT_PRED) {\n                const int topright_avail = (s->topright_samples_available << i) & 0x8000;\n                assert(s->mb_y || linesize <= block_offset[i]);\n                if (!topright_avail) {\n                    tr       = ptr[3 - linesize] * 0x01010101u;\n                    topright = (uint8_t *)&tr;\n                } else\n                    topright = ptr + 4 - linesize;\n            } else\n                topright = NULL;\n            s->hpc.pred4x4[dir](ptr, topright, linesize);\n            nnz = s->non_zero_count_cache[scan8[i]];\n            if (nnz) {\n                svq3_add_idct_c(ptr, s->mb + i * 16, linesize, qscale, 0);\n            }\n        }\n    } else {\n        s->hpc.pred16x16[s->intra16x16_pred_mode](dest_y, linesize);\n        svq3_luma_dc_dequant_idct_c(s->mb, s->mb_luma_dc[0], qscale);\n    }\n}', 'static void svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp)\n{\n    const int qmul = svq3_dequant_coeff[qp];\n#define stride 16\n    int i;\n    int temp[16];\n    static const uint8_t x_offset[4] = { 0, 1 * stride, 4 * stride, 5 * stride };\n    for (i = 0; i < 4; i++) {\n        const int z0 = 13 * (input[4 * i + 0] +      input[4 * i + 2]);\n        const int z1 = 13 * (input[4 * i + 0] -      input[4 * i + 2]);\n        const int z2 =  7 *  input[4 * i + 1] - 17 * input[4 * i + 3];\n        const int z3 = 17 *  input[4 * i + 1] +  7 * input[4 * i + 3];\n        temp[4 * i + 0] = z0 + z3;\n        temp[4 * i + 1] = z1 + z2;\n        temp[4 * i + 2] = z1 - z2;\n        temp[4 * i + 3] = z0 - z3;\n    }\n    for (i = 0; i < 4; i++) {\n        const int offset = x_offset[i];\n        const int z0     = 13 * (temp[4 * 0 + i] +      temp[4 * 2 + i]);\n        const int z1     = 13 * (temp[4 * 0 + i] -      temp[4 * 2 + i]);\n        const int z2     =  7 *  temp[4 * 1 + i] - 17 * temp[4 * 3 + i];\n        const int z3     = 17 *  temp[4 * 1 + i] +  7 * temp[4 * 3 + i];\n        output[stride *  0 + offset] = (z0 + z3) * qmul + 0x80000 >> 20;\n        output[stride *  2 + offset] = (z1 + z2) * qmul + 0x80000 >> 20;\n        output[stride *  8 + offset] = (z1 - z2) * qmul + 0x80000 >> 20;\n        output[stride * 10 + offset] = (z0 - z3) * qmul + 0x80000 >> 20;\n    }\n}']