oggparsetheora: stop using deprecated avcodec_set_dimensions

This commit is contained in:
Anton Khirnov 2013-10-27 09:39:14 +01:00
parent 7644f5a807
commit ce6949d3a0

View File

@ -58,7 +58,6 @@ static int theora_header(AVFormatContext *s, int idx)
switch (os->buf[os->pstart]) { switch (os->buf[os->pstart]) {
case 0x80: { case 0x80: {
GetBitContext gb; GetBitContext gb;
int width, height;
AVRational timebase; AVRational timebase;
init_get_bits(&gb, os->buf + os->pstart, os->psize * 8); init_get_bits(&gb, os->buf + os->pstart, os->psize * 8);
@ -73,19 +72,20 @@ static int theora_header(AVFormatContext *s, int idx)
return AVERROR(ENOSYS); return AVERROR(ENOSYS);
} }
width = get_bits(&gb, 16) << 4; st->codec->width = get_bits(&gb, 16) << 4;
height = get_bits(&gb, 16) << 4; st->codec->height = get_bits(&gb, 16) << 4;
avcodec_set_dimensions(st->codec, width, height);
if (thp->version >= 0x030400) if (thp->version >= 0x030400)
skip_bits(&gb, 100); skip_bits(&gb, 100);
if (thp->version >= 0x030200) { if (thp->version >= 0x030200) {
width = get_bits_long(&gb, 24); int width = get_bits_long(&gb, 24);
height = get_bits_long(&gb, 24); int height = get_bits_long(&gb, 24);
if (width <= st->codec->width && width > st->codec->width - 16 && if (width <= st->codec->width && width > st->codec->width - 16 &&
height <= st->codec->height && height > st->codec->height - 16) height <= st->codec->height && height > st->codec->height - 16) {
avcodec_set_dimensions(st->codec, width, height); st->codec->width = width;
st->codec->height = height;
}
skip_bits(&gb, 16); skip_bits(&gb, 16);
} }