X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmsvideo1enc.c;h=e0efb4823fb54e9cbed25dcff8c686886794690d;hb=d7b8a9a589d94550d2eb2ce4147e69311d6c5745;hp=50c0a06dff87be225ae98882e33917c545d33328;hpb=27ccc82e1bb1b97a85e5fb33b92082267078b4d1;p=ffmpeg diff --git a/libavcodec/msvideo1enc.c b/libavcodec/msvideo1enc.c index 50c0a06dff8..e0efb4823fb 100644 --- a/libavcodec/msvideo1enc.c +++ b/libavcodec/msvideo1enc.c @@ -71,7 +71,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, uint16_t *src; uint8_t *prevptr; uint8_t *dst, *buf; - int keyframe = 1; + int keyframe = 0; int no_skips = 1; int i, j, k, x, y, ret; int skips = 0; @@ -110,7 +110,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, bestscore = 0; for(j = 0; j < 4; j++){ for(i = 0; i < 4*3; i++){ - int t = prevptr[x*3 + i + j*p->linesize[0]] - c->block[i + j*4*3]; + int t = prevptr[x*3 + i - j*3*avctx->width] - c->block[i + j*4*3]; bestscore += t*t; } } @@ -204,14 +204,14 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, for(j = 0; j < 4; j++) for(i = 0; i < 4; i++) for(k = 0; k < 3; k++) - prevptr[i*3 + k - j*3*avctx->width] = c->avg[k]; + prevptr[x*3 + i*3 + k - j*3*avctx->width] = c->avg[k]; break; case MODE_2COL: for(j = 0; j < 4; j++){ for(i = 0; i < 4; i++){ flags |= (c->output[i + j*4]^1) << (i + j*4); for(k = 0; k < 3; k++) - prevptr[i*3 + k - j*3*avctx->width] = c->codebook[c->output[i + j*4]*3 + k]; + prevptr[x*3 + i*3 + k - j*3*avctx->width] = c->codebook[c->output[i + j*4]*3 + k]; } } bytestream_put_le16(&dst, flags); @@ -223,7 +223,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, for(i = 0; i < 4; i++){ flags |= (c->output2[remap[i + j*4]]^1) << (i + j*4); for(k = 0; k < 3; k++) - prevptr[i*3 + k - j*3*avctx->width] = c->codebook2[(c->output2[remap[i+j*4]] + (i&2) + (j&2)*2)*3 + k]; + prevptr[x*3 + i*3 + k - j*3*avctx->width] = c->codebook2[(c->output2[remap[i+j*4]] + (i&2) + (j&2)*2)*3 + k]; } } bytestream_put_le16(&dst, flags);