Lines Matching defs:anm
62 static int find_record(const AnmDemuxContext *anm, int record)
66 if (record >= anm->nb_records)
70 const Page *p = &anm->pt[i];
81 AnmDemuxContext *anm = s->priv_data;
92 anm->nb_pages = get_le16(pb);
93 anm->nb_records = get_le32(pb);
95 anm->page_table_offset = get_le16(pb);
114 anm->nb_records = FFMAX(anm->nb_records - 1, 0);
146 ret = url_fseek(pb, anm->page_table_offset, SEEK_SET);
151 Page *p = &anm->pt[i];
158 anm->page = find_record(anm, 0);
159 if (anm->page < 0) {
160 ret = anm->page;
164 anm->record = -1;
179 AnmDemuxContext *anm = s->priv_data;
187 if (anm->page < 0)
188 return anm->page;
191 p = &anm->pt[anm->page];
194 if (anm->record < 0) {
195 url_fseek(pb, anm->page_table_offset + MAX_PAGES*6 + (anm->page<<16), SEEK_SET);
197 anm->record = 0;
202 if (anm->record >= p->nb_records) {
203 anm->page = find_record(anm, p->base_record + p->nb_records);
204 if (anm->page < 0)
205 return anm->page;
206 anm->record = -1;
212 url_fseek(pb, anm->page_table_offset + MAX_PAGES*6 + (anm->page<<16) +
213 8 + anm->record * 2, SEEK_SET);
221 if (p->base_record + anm->record == 0)
224 anm->record++;
229 "anm",