}
}
-static inline void tm2_low_chroma(int *data, int stride, int *clast, int *CD, int *deltas, int bx)
+static inline void tm2_low_chroma(int *data, int stride, int *clast, unsigned *CD, int *deltas, int bx)
{
int t;
int l;
prev = clast[-3];
else
prev = 0;
- t = (CD[0] + CD[1]) >> 1;
- l = (prev - CD[0] - CD[1] + clast[1]) >> 1;
+ t = (int)(CD[0] + CD[1]) >> 1;
+ l = (int)(prev - CD[0] - CD[1] + clast[1]) >> 1;
CD[1] = CD[0] + CD[1] - t;
CD[0] = t;
clast[0] = l;
{
int i;
int ct;
- int left, right, diff;
+ unsigned left, right;
+ int diff;
int deltas[16];
TM2_INIT_POINTERS();
static inline void tm2_update_block(TM2Context *ctx, AVFrame *pic, int bx, int by)
{
int i, j;
- int d;
+ unsigned d;
TM2_INIT_POINTERS_2();
/* update chroma */
for (j = 0; j < 2; j++) {
for (i = 0; i < 2; i++) {
- U[i] = Uo[i] + GET_TOK(ctx, TM2_UPD);
- V[i] = Vo[i] + GET_TOK(ctx, TM2_UPD);
+ U[i] = Uo[i] + (unsigned)GET_TOK(ctx, TM2_UPD);
+ V[i] = Vo[i] + (unsigned)GET_TOK(ctx, TM2_UPD);
}
U += Ustride;
V += Vstride;
TM2_RECALC_BLOCK(V, Vstride, (clast + 2), (ctx->CD + 2));
/* update deltas */
- ctx->D[0] = Yo[3] - last[3];
- ctx->D[1] = Yo[3 + oYstride] - Yo[3];
- ctx->D[2] = Yo[3 + oYstride * 2] - Yo[3 + oYstride];
- ctx->D[3] = Yo[3 + oYstride * 3] - Yo[3 + oYstride * 2];
+ ctx->D[0] = (unsigned)Yo[3] - last[3];
+ ctx->D[1] = (unsigned)Yo[3 + oYstride] - Yo[3];
+ ctx->D[2] = (unsigned)Yo[3 + oYstride * 2] - Yo[3 + oYstride];
+ ctx->D[3] = (unsigned)Yo[3 + oYstride * 3] - Yo[3 + oYstride * 2];
for (j = 0; j < 4; j++) {
d = last[3];
for (i = 0; i < 4; i++) {
- Y[i] = Yo[i] + GET_TOK(ctx, TM2_UPD);
+ Y[i] = Yo[i] + (unsigned)GET_TOK(ctx, TM2_UPD);
last[i] = Y[i];
}
ctx->D[j] = last[3] - d;
}
/* calculate deltas */
Y -= Ystride * 4;
- ctx->D[0] = Y[3] - last[3];
- ctx->D[1] = Y[3 + Ystride] - Y[3];
- ctx->D[2] = Y[3 + Ystride * 2] - Y[3 + Ystride];
- ctx->D[3] = Y[3 + Ystride * 3] - Y[3 + Ystride * 2];
+ ctx->D[0] = (unsigned)Y[3] - last[3];
+ ctx->D[1] = (unsigned)Y[3 + Ystride] - Y[3];
+ ctx->D[2] = (unsigned)Y[3 + Ystride * 2] - Y[3 + Ystride];
+ ctx->D[3] = (unsigned)Y[3 + Ystride * 3] - Y[3 + Ystride * 2];
for (i = 0; i < 4; i++)
last[i] = Y[i + Ystride * 3];
}
dst = p->data[0];
for (j = 0; j < h; j++) {
for (i = 0; i < w; i++) {
- int y = Y[i], u = U[i >> 1], v = V[i >> 1];
+ unsigned y = Y[i], u = U[i >> 1], v = V[i >> 1];
dst[3*i+0] = av_clip_uint8(y + v);
dst[3*i+1] = av_clip_uint8(y);
dst[3*i+2] = av_clip_uint8(y + u);