avcodec/idctdsp: Clear idct/idct_add for studio profile
[ffmpeg.git] / libavcodec / sanm.c
index 2547abb..811fd21 100644 (file)
@@ -268,7 +268,7 @@ typedef struct SANMVideoContext {
     uint32_t pal[PALETTE_SIZE];
     int16_t delta_pal[PALETTE_DELTA];
 
-    int pitch;
+    ptrdiff_t pitch;
     int width, height;
     int aligned_width, aligned_height;
     int prev_seq;
@@ -462,11 +462,11 @@ static void destroy_buffers(SANMVideoContext *ctx)
 
 static av_cold int init_buffers(SANMVideoContext *ctx)
 {
-    av_fast_padded_malloc(&ctx->frm0, &ctx->frm0_size, ctx->buf_size);
-    av_fast_padded_malloc(&ctx->frm1, &ctx->frm1_size, ctx->buf_size);
-    av_fast_padded_malloc(&ctx->frm2, &ctx->frm2_size, ctx->buf_size);
+    av_fast_padded_mallocz(&ctx->frm0, &ctx->frm0_size, ctx->buf_size);
+    av_fast_padded_mallocz(&ctx->frm1, &ctx->frm1_size, ctx->buf_size);
+    av_fast_padded_mallocz(&ctx->frm2, &ctx->frm2_size, ctx->buf_size);
     if (!ctx->version)
-        av_fast_padded_malloc(&ctx->stored_frame,
+        av_fast_padded_mallocz(&ctx->stored_frame,
                               &ctx->stored_frame_size, ctx->buf_size);
 
     if (!ctx->frm0 || !ctx->frm1 || !ctx->frm2 ||
@@ -623,7 +623,7 @@ static inline void codec37_mv(uint8_t *dst, const uint8_t *src,
 static int old_codec37(SANMVideoContext *ctx, int top,
                        int left, int width, int height)
 {
-    int stride = ctx->pitch;
+    ptrdiff_t stride = ctx->pitch;
     int i, j, k, t;
     uint8_t *dst, *prev;
     int skip_run = 0;
@@ -861,7 +861,7 @@ static int old_codec47(SANMVideoContext *ctx, int top,
 {
     uint32_t decoded_size;
     int i, j;
-    int stride     = ctx->pitch;
+    ptrdiff_t stride = ctx->pitch;
     uint8_t *dst   = (uint8_t *)ctx->frm0 + left + top * stride;
     uint8_t *prev1 = (uint8_t *)ctx->frm1;
     uint8_t *prev2 = (uint8_t *)ctx->frm2;
@@ -978,13 +978,10 @@ static int process_frame_obj(SANMVideoContext *ctx)
     case 1:
     case 3:
         return old_codec1(ctx, top, left, w, h);
-        break;
     case 37:
         return old_codec37(ctx, top, left, w, h);
-        break;
     case 47:
         return old_codec47(ctx, top, left, w, h);
-        break;
     default:
         avpriv_request_sample(ctx->avctx, "Subcodec %d", codec);
         return AVERROR_PATCHWELCOME;
@@ -1014,11 +1011,11 @@ static int decode_nop(SANMVideoContext *ctx)
     return AVERROR_PATCHWELCOME;
 }
 
-static void copy_block(uint16_t *pdest, uint16_t *psrc, int block_size, int pitch)
+static void copy_block(uint16_t *pdest, uint16_t *psrc, int block_size, ptrdiff_t pitch)
 {
     uint8_t *dst = (uint8_t *)pdest;
     uint8_t *src = (uint8_t *)psrc;
-    int stride = pitch * 2;
+    ptrdiff_t stride = pitch * 2;
 
     switch (block_size) {
     case 2:
@@ -1033,7 +1030,7 @@ static void copy_block(uint16_t *pdest, uint16_t *psrc, int block_size, int pitc
     }
 }
 
-static void fill_block(uint16_t *pdest, uint16_t color, int block_size, int pitch)
+static void fill_block(uint16_t *pdest, uint16_t color, int block_size, ptrdiff_t pitch)
 {
     int x, y;
 
@@ -1045,7 +1042,7 @@ static void fill_block(uint16_t *pdest, uint16_t color, int block_size, int pitc
 
 static int draw_glyph(SANMVideoContext *ctx, uint16_t *dst, int index,
                       uint16_t fg_color, uint16_t bg_color, int block_size,
-                      int pitch)
+                      ptrdiff_t pitch)
 {
     int8_t *pglyph;
     uint16_t colors[2] = { fg_color, bg_color };
@@ -1065,7 +1062,7 @@ static int draw_glyph(SANMVideoContext *ctx, uint16_t *dst, int index,
     return 0;
 }
 
-static int opcode_0xf7(SANMVideoContext *ctx, int cx, int cy, int block_size, int pitch)
+static int opcode_0xf7(SANMVideoContext *ctx, int cx, int cy, int block_size, ptrdiff_t pitch)
 {
     uint16_t *dst = ctx->frm0 + cx + cy * ctx->pitch;
 
@@ -1099,7 +1096,7 @@ static int opcode_0xf7(SANMVideoContext *ctx, int cx, int cy, int block_size, in
     return 0;
 }
 
-static int opcode_0xf8(SANMVideoContext *ctx, int cx, int cy, int block_size, int pitch)
+static int opcode_0xf8(SANMVideoContext *ctx, int cx, int cy, int block_size, ptrdiff_t pitch)
 {
     uint16_t *dst = ctx->frm0 + cx + cy * ctx->pitch;
 
@@ -1369,8 +1366,8 @@ static int copy_output(SANMVideoContext *ctx, SANMFrameHeader *hdr)
 {
     uint8_t *dst;
     const uint8_t *src = (uint8_t*) ctx->frm0;
-    int ret, dstpitch, height = ctx->height;
-    int srcpitch = ctx->pitch * (hdr ? sizeof(ctx->frm0[0]) : 1);
+    int ret, height = ctx->height;
+    ptrdiff_t dstpitch, srcpitch = ctx->pitch * (hdr ? sizeof(ctx->frm0[0]) : 1);
 
     if ((ret = ff_get_buffer(ctx->avctx, ctx->frame, 0)) < 0)
         return ret;
@@ -1525,5 +1522,5 @@ AVCodec ff_sanm_decoder = {
     .init           = decode_init,
     .close          = decode_end,
     .decode         = decode_frame,
-    .capabilities   = CODEC_CAP_DR1,
+    .capabilities   = AV_CODEC_CAP_DR1,
 };