"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libavcodec/vc1_mc.c" between
libav-12.2.tar.gz and libav-12.3.tar.gz

About: libav provides cross-platform tools ("avconv") and libraries to convert, manipulate and stream a wide range of multimedia (audio and video) formats and protocols.

vc1_mc.c  (libav-12.2):vc1_mc.c  (libav-12.3)
skipping to change at line 692 skipping to change at line 692
int fieldmv = v->blk_mv_type[s->block_index[0]]; int fieldmv = v->blk_mv_type[s->block_index[0]];
static const int s_rndtblfield[16] = { 0, 0, 1, 2, 4, 4, 5, 6, 2, 2, 3, 8, 6 , 6, 7, 12 }; static const int s_rndtblfield[16] = { 0, 0, 1, 2, 4, 4, 5, 6, 2, 2, 3, 8, 6 , 6, 7, 12 };
int v_dist = fieldmv ? 1 : 4; // vertical offset for lower sub-blocks int v_dist = fieldmv ? 1 : 4; // vertical offset for lower sub-blocks
int v_edge_pos = s->v_edge_pos >> 1; int v_edge_pos = s->v_edge_pos >> 1;
int use_ic; int use_ic;
uint8_t (*lutuv)[256]; uint8_t (*lutuv)[256];
if (s->avctx->flags & AV_CODEC_FLAG_GRAY) if (s->avctx->flags & AV_CODEC_FLAG_GRAY)
return; return;
if (!s->last_picture.f->data[1]) {
av_log(s->avctx, AV_LOG_ERROR, "Bad data in last picture frame.\n");
return;
}
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
int d = i < 2 ? dir: dir2; int d = i < 2 ? dir: dir2;
tx = s->mv[d][i][0]; tx = s->mv[d][i][0];
uvmx_field[i] = (tx + ((tx & 3) == 3)) >> 1; uvmx_field[i] = (tx + ((tx & 3) == 3)) >> 1;
ty = s->mv[d][i][1]; ty = s->mv[d][i][1];
if (fieldmv) if (fieldmv)
uvmy_field[i] = (ty >> 4) * 8 + s_rndtblfield[ty & 0xF]; uvmy_field[i] = (ty >> 4) * 8 + s_rndtblfield[ty & 0xF];
else else
uvmy_field[i] = (ty + ((ty & 3) == 3)) >> 1; uvmy_field[i] = (ty + ((ty & 3) == 3)) >> 1;
} }
 End of changes. 1 change blocks. 
0 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)