Lines Matching refs:bink

88     BinkDemuxContext *bink = s->priv_data;
108 bink->smush_size += SMUSH_BLOCK_SIZE;
118 bink->file_size = avio_rl32(pb) + 8;
126 if (avio_rl32(pb) > bink->file_size) {
159 bink->num_audio_tracks = avio_rl32(pb);
161 if (bink->num_audio_tracks > BINK_MAX_AUDIO_TRACKS) {
164 bink->num_audio_tracks);
175 if (bink->num_audio_tracks) {
176 avio_skip(pb, 4 * bink->num_audio_tracks); /* max decoded size */
178 for (i = 0; i < bink->num_audio_tracks; i++) {
199 for (i = 0; i < bink->num_audio_tracks; i++)
209 next_pos = bink->file_size;
228 avio_seek(pb, vsti->index_entries[0].pos + bink->smush_size, SEEK_SET);
232 bink->current_track = -1;
238 BinkDemuxContext *bink = s->priv_data;
242 if (bink->current_track < 0) {
247 if (bink->video_pts >= st->duration)
250 index_entry = av_index_search_timestamp(st, bink->video_pts,
255 bink->video_pts);
259 bink->remain_packet_size = sti->index_entries[index_entry].size;
260 bink->flags = sti->index_entries[index_entry].flags;
261 bink->current_track = 0;
264 while (bink->current_track < bink->num_audio_tracks) {
266 if (audio_size > bink->remain_packet_size - 4) {
269 bink->video_pts, audio_size, bink->remain_packet_size);
272 bink->remain_packet_size -= 4 + audio_size;
273 bink->current_track++;
278 pkt->stream_index = bink->current_track;
279 pkt->pts = bink->audio_pts[bink->current_track - 1];
284 bink->audio_pts[bink->current_track -1] +=
285 AV_RL32(pkt->data) / (2 * s->streams[bink->current_track]->codecpar->ch_layout.nb_channels);
293 if ((ret = av_get_packet(pb, pkt, bink->remain_packet_size)) < 0)
296 pkt->pts = bink->video_pts++;
297 if (bink->flags & AVINDEX_KEYFRAME)
301 bink->current_track = -1;
308 BinkDemuxContext *bink = s->priv_data;
317 ret = avio_seek(s->pb, vsti->index_entries[0].pos + bink->smush_size, SEEK_SET);
321 bink->video_pts = 0;
322 memset(bink->audio_pts, 0, sizeof(bink->audio_pts));
323 bink->current_track = -1;
328 .name = "bink",