Lines Matching defs:asf_st

112     ASFStream *asf_st;                   ///< currently decoded stream
304 ASFStream *asf_st;
358 asf_st = &asf->streams[st->id];
394 asf_st->ds_span = avio_r8(pb);
395 asf_st->ds_packet_size = avio_rl16(pb);
396 asf_st->ds_chunk_size = avio_rl16(pb);
400 if (asf_st->ds_span > 1) {
401 if (!asf_st->ds_chunk_size ||
402 (asf_st->ds_packet_size / asf_st->ds_chunk_size <= 1) ||
403 asf_st->ds_packet_size % asf_st->ds_chunk_size)
404 asf_st->ds_span = 0; // disable descrambling
438 asf_st->palette[i] = av_bswap32(((uint32_t *)st->codecpar->extradata)[i]);
440 memcpy(asf_st->palette, st->codecpar->extradata,
443 asf_st->palette_changed = 1;
1131 ASFStream *asf_st = 0;
1171 asf->asf_st = &asf->streams[s->streams[asf->stream_index]->id];
1173 asf->asf_st->skip_to_key = 0;
1175 asf_st = asf->asf_st;
1176 av_assert0(asf_st);
1178 if (!asf_st->frag_offset && asf->packet_frag_offset) {
1181 asf->stream_index, asf_st->frag_offset,
1192 asf_st->packet_obj_size = asf->packet_frag_size = avio_r8(pb);
1195 if (asf->packet_multi_size < asf_st->packet_obj_size) {
1201 asf->packet_multi_size -= asf_st->packet_obj_size;
1204 if (asf_st->pkt.size != asf_st->packet_obj_size ||
1206 asf_st->frag_offset + asf->packet_frag_size > asf_st->pkt.size) {
1209 if (asf_st->pkt.data) {
1212 asf_st->pkt.size, asf_st->packet_obj_size);
1213 asf_st->frag_offset = 0;
1214 av_packet_unref(&asf_st->pkt);
1217 if ((ret = av_new_packet(&asf_st->pkt, asf_st->packet_obj_size)) < 0)
1219 asf_st->seq = asf->packet_seq;
1222 asf_st->pkt.pts = asf->packet_frag_timestamp - asf->hdr.preroll;
1224 asf_st->pkt.dts = asf->packet_frag_timestamp - asf->hdr.preroll;
1226 asf_st->pkt.stream_index = asf->stream_index;
1227 asf_st->pkt.pos = asf_st->packet_pos = asf->packet_pos;
1228 asf_st->pkt_clean = 0;
1230 if (asf_st->pkt.data && asf_st->palette_changed) {
1232 pal = av_packet_new_side_data(&asf_st->pkt, AV_PKT_DATA_PALETTE,
1237 memcpy(pal, asf_st->palette, AVPALETTE_SIZE);
1238 asf_st->palette_changed = 0;
1243 asf_st->pkt.flags & AV_PKT_FLAG_KEY,
1245 asf_st->packet_obj_size);
1249 asf_st->pkt.flags |= AV_PKT_FLAG_KEY;
1254 s->packet_size, asf_st->pkt.size, asf->packet_frag_offset,
1255 asf_st->frag_offset, asf->packet_frag_size, asf_st->pkt.data);
1260 if (asf->packet_frag_offset >= asf_st->pkt.size ||
1261 asf->packet_frag_size > asf_st->pkt.size - asf->packet_frag_offset) {
1265 asf_st->pkt.size);
1269 if (asf->packet_frag_offset != asf_st->frag_offset && !asf_st->pkt_clean) {
1270 memset(asf_st->pkt.data + asf_st->frag_offset, 0, asf_st->pkt.size - asf_st->frag_offset);
1271 asf_st->pkt_clean = 1;
1274 ret = avio_read(pb, asf_st->pkt.data + asf->packet_frag_offset,
1280 if (asf_st->ds_span > 1) {
1284 memset(asf_st->pkt.data + asf->packet_frag_offset + ret, 0,
1289 av_shrink_packet(&asf_st->pkt, asf->packet_frag_offset + ret);
1293 ff_asfcrypt_dec(s->key, asf_st->pkt.data + asf->packet_frag_offset,
1295 asf_st->frag_offset += ret;
1297 if (asf_st->frag_offset == asf_st->pkt.size) {
1300 asf_st->pkt.size > 100) {
1302 for (i = 0; i < asf_st->pkt.size && !asf_st->pkt.data[i]; i++)
1304 if (i == asf_st->pkt.size) {
1306 asf_st->frag_offset = 0;
1307 av_packet_unref(&asf_st->pkt);
1313 if (asf_st->ds_span > 1) {
1314 if (asf_st->pkt.size != asf_st->ds_packet_size * asf_st->ds_span) {
1317 asf_st->pkt.size, asf_st->ds_packet_size,
1318 asf_st->ds_span);
1321 AVBufferRef *buf = av_buffer_alloc(asf_st->pkt.size +
1326 memset(newdata + asf_st->pkt.size, 0,
1328 while (offset < asf_st->pkt.size) {
1329 int off = offset / asf_st->ds_chunk_size;
1330 int row = off / asf_st->ds_span;
1331 int col = off % asf_st->ds_span;
1332 int idx = row + col * asf_st->ds_packet_size / asf_st->ds_chunk_size;
1333 assert(offset + asf_st->ds_chunk_size <= asf_st->pkt.size);
1334 assert(idx + 1 <= asf_st->pkt.size / asf_st->ds_chunk_size);
1336 asf_st->pkt.data + idx * asf_st->ds_chunk_size,
1337 asf_st->ds_chunk_size);
1338 offset += asf_st->ds_chunk_size;
1340 av_buffer_unref(&asf_st->pkt.buf);
1341 asf_st->pkt.buf = buf;
1342 asf_st->pkt.data = buf->data;
1346 asf_st->frag_offset = 0;
1347 *pkt = asf_st->pkt;
1348 asf_st->pkt.buf = 0;
1349 asf_st->pkt.size = 0;
1350 asf_st->pkt.data = 0;
1351 asf_st->pkt.side_data_elems = 0;
1352 asf_st->pkt.side_data = NULL;
1382 ASFStream *asf_st;
1403 asf_st = &asf->streams[i];
1404 av_packet_unref(&asf_st->pkt);
1405 asf_st->packet_obj_size = 0;
1406 asf_st->frag_offset = 0;
1407 asf_st->seq = 0;
1409 asf->asf_st = NULL;
1419 ASFStream *asf_st = &asf->streams[i];
1423 asf_st->skip_to_key = 1;
1440 ASFStream *asf_st;
1470 asf_st = &asf->streams[s->streams[i]->id];
1472 // assert((asf_st->packet_pos - s->data_offset) % s->packet_size == 0);
1473 pos = asf_st->packet_pos;
1474 av_assert1(pkt->pos == asf_st->packet_pos);
1478 start_pos[i] = asf_st->packet_pos + 1;