Lines Matching refs:ico
80 IcoDemuxContext *ico = s->priv_data; in read_header() local
85 ico->nb_images = avio_rl16(pb); in read_header()
87 if (!ico->nb_images) in read_header()
90 ico->images = av_malloc_array(ico->nb_images, sizeof(IcoImage)); in read_header()
91 if (!ico->images) in read_header()
94 for (i = 0; i < ico->nb_images; i++) { in read_header()
103 av_freep(&ico->images); in read_header()
110 ico->images[i].nb_pal = avio_r8(pb); in read_header()
111 if (ico->images[i].nb_pal == 255) in read_header()
112 ico->images[i].nb_pal = 0; in read_header()
116 ico->images[i].size = avio_rl32(pb); in read_header()
117 if (ico->images[i].size <= 0) { in read_header()
118 av_log(s, AV_LOG_ERROR, "Invalid image size %d\n", ico->images[i].size); in read_header()
121 ico->images[i].offset = avio_rl32(pb); in read_header()
123 if (avio_seek(pb, ico->images[i].offset, SEEK_SET) < 0) in read_header()
134 if (ico->images[i].size < 40) { in read_header()
153 av_freep(&ico->images); in read_header()
159 IcoDemuxContext *ico = s->priv_data; in read_packet() local
165 if (ico->current_image >= ico->nb_images) in read_packet()
170 image = &ico->images[ico->current_image]; in read_packet()
175 if (s->streams[ico->current_image]->codecpar->codec_id == AV_CODEC_ID_PNG) { in read_packet()
210 pkt->stream_index = ico->current_image++; in read_packet()
218 IcoDemuxContext *ico = s->priv_data; in ico_read_close() local
219 av_freep(&ico->images); in ico_read_close()