Lines Matching refs:gif
85 static int gif_get_delay(GIFContext *gif, AVPacket *prev, AVPacket *new) in gif_get_delay() argument
88 gif->duration = av_clip_uint16(new->pts - prev->pts); in gif_get_delay()
89 else if (!new && gif->last_delay >= 0) in gif_get_delay()
90 gif->duration = gif->last_delay; in gif_get_delay()
92 return gif->duration; in gif_get_delay()
97 GIFContext *gif = s->priv_data; in gif_write_packet() local
99 AVPacket *pkt = gif->prev_pkt; in gif_write_packet()
101 if (!gif->prev_pkt) { in gif_write_packet()
102 gif->prev_pkt = av_packet_alloc(); in gif_write_packet()
103 if (!gif->prev_pkt) in gif_write_packet()
105 return av_packet_ref(gif->prev_pkt, new_pkt); in gif_write_packet()
108 gif->last_pos = avio_tell(pb); in gif_write_packet()
110 gif->have_end = pkt->data[pkt->size - 1] == GIF_TRAILER; in gif_write_packet()
112 if (!gif->last_pos) { in gif_write_packet()
134 if (gif->loop >= 0) { in gif_write_packet()
141 avio_wl16(pb, (uint16_t)gif->loop); in gif_write_packet()
148 avio_wl16(pb, gif_get_delay(gif, pkt, new_pkt)); in gif_write_packet()
158 avio_wl16(pb, gif_get_delay(gif, pkt, new_pkt)); in gif_write_packet()
165 av_packet_unref(gif->prev_pkt); in gif_write_packet()
167 return av_packet_ref(gif->prev_pkt, new_pkt); in gif_write_packet()
174 GIFContext *gif = s->priv_data; in gif_write_trailer() local
177 if (!gif->prev_pkt) in gif_write_trailer()
182 if (!gif->have_end) in gif_write_trailer()
184 av_packet_free(&gif->prev_pkt); in gif_write_trailer()