"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libavcodec/vc1dec.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.

vc1dec.c  (libav-12.2):vc1dec.c  (libav-12.3)
skipping to change at line 652 skipping to change at line 652
slices = tmp; slices = tmp;
slices[n_slices].buf = av_mallocz(buf_size + AV_INPUT_BUFFER _PADDING_SIZE); slices[n_slices].buf = av_mallocz(buf_size + AV_INPUT_BUFFER _PADDING_SIZE);
if (!slices[n_slices].buf) if (!slices[n_slices].buf)
goto err; goto err;
buf_size3 = vc1_unescape_buffer(start + 4, size, buf_size3 = vc1_unescape_buffer(start + 4, size,
slices[n_slices].buf); slices[n_slices].buf);
init_get_bits(&slices[n_slices].gb, slices[n_slices].buf, init_get_bits(&slices[n_slices].gb, slices[n_slices].buf,
buf_size3 << 3); buf_size3 << 3);
/* assuming that the field marker is at the exact middle, /* assuming that the field marker is at the exact middle,
hope it's correct */ hope it's correct */
slices[n_slices].mby_start = s->mb_height >> 1; slices[n_slices].mby_start = s->mb_height + 1 >> 1;
n_slices1 = n_slices - 1; // index of the last slice of the first field n_slices1 = n_slices - 1; // index of the last slice of the first field
n_slices++; n_slices++;
break; break;
} }
case VC1_CODE_ENTRYPOINT: /* it should be before frame data */ case VC1_CODE_ENTRYPOINT: /* it should be before frame data */
buf_size2 = vc1_unescape_buffer(start + 4, size, buf2); buf_size2 = vc1_unescape_buffer(start + 4, size, buf2);
init_get_bits(&s->gb, buf2, buf_size2 * 8); init_get_bits(&s->gb, buf2, buf_size2 * 8);
ff_vc1_decode_entry_point(avctx, v, &s->gb); ff_vc1_decode_entry_point(avctx, v, &s->gb);
break; break;
case VC1_CODE_SLICE: { case VC1_CODE_SLICE: {
skipping to change at line 700 skipping to change at line 700
tmp = av_realloc(slices, sizeof(*slices) * (n_slices+1)); tmp = av_realloc(slices, sizeof(*slices) * (n_slices+1));
if (!tmp) if (!tmp)
goto err; goto err;
slices = tmp; slices = tmp;
slices[n_slices].buf = av_mallocz(buf_size + AV_INPUT_BUFFER_PAD DING_SIZE); slices[n_slices].buf = av_mallocz(buf_size + AV_INPUT_BUFFER_PAD DING_SIZE);
if (!slices[n_slices].buf) if (!slices[n_slices].buf)
goto err; goto err;
buf_size3 = vc1_unescape_buffer(divider + 4, buf + buf_size - di vider - 4, slices[n_slices].buf); buf_size3 = vc1_unescape_buffer(divider + 4, buf + buf_size - di vider - 4, slices[n_slices].buf);
init_get_bits(&slices[n_slices].gb, slices[n_slices].buf, init_get_bits(&slices[n_slices].gb, slices[n_slices].buf,
buf_size3 << 3); buf_size3 << 3);
slices[n_slices].mby_start = s->mb_height >> 1; slices[n_slices].mby_start = s->mb_height + 1 >> 1;
n_slices1 = n_slices - 1; n_slices1 = n_slices - 1;
n_slices++; n_slices++;
} }
buf_size2 = vc1_unescape_buffer(buf, divider - buf, buf2); buf_size2 = vc1_unescape_buffer(buf, divider - buf, buf2);
} else { } else {
buf_size2 = vc1_unescape_buffer(buf, buf_size, buf2); buf_size2 = vc1_unescape_buffer(buf, buf_size, buf2);
} }
init_get_bits(&s->gb, buf2, buf_size2*8); init_get_bits(&s->gb, buf2, buf_size2*8);
} else } else
init_get_bits(&s->gb, buf, buf_size*8); init_get_bits(&s->gb, buf, buf_size*8);
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added

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