|
|
@@ -135,17 +135,16 @@ static int read_header(AVFormatContext *s) |
|
|
|
st->codec->extradata_size = 16*8 + 4*256; |
|
|
|
st->codec->extradata = av_mallocz(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE); |
|
|
|
if (!st->codec->extradata) { |
|
|
|
ret = AVERROR(ENOMEM); |
|
|
|
goto fail; |
|
|
|
return AVERROR(ENOMEM); |
|
|
|
} |
|
|
|
ret = avio_read(pb, st->codec->extradata, st->codec->extradata_size); |
|
|
|
if (ret < 0) |
|
|
|
goto fail; |
|
|
|
return ret; |
|
|
|
|
|
|
|
/* read page table */ |
|
|
|
ret = avio_seek(pb, anm->page_table_offset, SEEK_SET); |
|
|
|
if (ret < 0) |
|
|
|
goto fail; |
|
|
|
return ret; |
|
|
|
|
|
|
|
for (i = 0; i < MAX_PAGES; i++) { |
|
|
|
Page *p = &anm->pt[i]; |
|
|
@@ -157,8 +156,7 @@ static int read_header(AVFormatContext *s) |
|
|
|
/* find page of first frame */ |
|
|
|
anm->page = find_record(anm, 0); |
|
|
|
if (anm->page < 0) { |
|
|
|
ret = anm->page; |
|
|
|
goto fail; |
|
|
|
return anm->page; |
|
|
|
} |
|
|
|
|
|
|
|
anm->record = -1; |
|
|
@@ -166,10 +164,7 @@ static int read_header(AVFormatContext *s) |
|
|
|
|
|
|
|
invalid: |
|
|
|
av_log_ask_for_sample(s, NULL); |
|
|
|
ret = AVERROR_PATCHWELCOME; |
|
|
|
|
|
|
|
fail: |
|
|
|
return ret; |
|
|
|
return AVERROR_PATCHWELCOME; |
|
|
|
} |
|
|
|
|
|
|
|
static int read_packet(AVFormatContext *s, |
|
|
|