Lines Matching defs:ico
79 IcoDemuxContext *ico = s->priv_data;
84 ico->nb_images = avio_rl16(pb);
86 if (!ico->nb_images)
89 ico->images = av_malloc_array(ico->nb_images, sizeof(IcoImage));
90 if (!ico->images)
93 for (i = 0; i < ico->nb_images; i++) {
107 ico->images[i].nb_pal = avio_r8(pb);
108 if (ico->images[i].nb_pal == 255)
109 ico->images[i].nb_pal = 0;
113 ico->images[i].size = avio_rl32(pb);
114 if (ico->images[i].size <= 0) {
115 av_log(s, AV_LOG_ERROR, "Invalid image size %d\n", ico->images[i].size);
118 ico->images[i].offset = avio_rl32(pb);
120 if (avio_seek(pb, ico->images[i].offset, SEEK_SET) < 0)
131 if (ico->images[i].size < 40)
152 IcoDemuxContext *ico = s->priv_data;
158 if (ico->current_image >= ico->nb_images)
163 image = &ico->images[ico->current_image];
168 if (s->streams[ico->current_image]->codecpar->codec_id == AV_CODEC_ID_PNG) {
206 pkt->stream_index = ico->current_image++;
214 IcoDemuxContext *ico = s->priv_data;
215 av_freep(&ico->images);
220 .name = "ico",