Lines Matching defs:lavfi

85     LavfiContext *lavfi = avctx->priv_data;
87 av_freep(&lavfi->sink_stream_map);
88 av_freep(&lavfi->sink_eof);
89 av_freep(&lavfi->stream_sink_map);
90 av_freep(&lavfi->sink_stream_subcc_map);
91 av_freep(&lavfi->sinks);
92 avfilter_graph_free(&lavfi->graph);
93 av_frame_free(&lavfi->decoded_frame);
100 LavfiContext *lavfi = avctx->priv_data;
105 for (stream_idx = 0; stream_idx < lavfi->nb_sinks; stream_idx++) {
106 sink_idx = lavfi->stream_sink_map[stream_idx];
107 if (lavfi->sink_stream_subcc_map[sink_idx]) {
108 lavfi->sink_stream_subcc_map[sink_idx] = avctx->nb_streams;
117 lavfi->sink_stream_subcc_map[sink_idx] = -1;
125 LavfiContext *lavfi = avctx->priv_data;
140 if (lavfi->graph_filename && lavfi->graph_str) {
146 if (lavfi->graph_filename) {
152 ret = avio_open2(&avio, lavfi->graph_filename, AVIO_FLAG_READ, &avctx->interrupt_callback, &options);
163 if ((ret = av_bprint_finalize(&graph_file_pb, &lavfi->graph_str)))
167 if (!lavfi->graph_str)
168 lavfi->graph_str = av_strdup(avctx->url);
171 if (!(lavfi->graph = avfilter_graph_alloc()))
174 if ((ret = avfilter_graph_parse_ptr(lavfi->graph, lavfi->graph_str,
186 lavfi->nb_sinks = n;
188 if (!(lavfi->sink_stream_map = av_malloc(sizeof(int) * n)))
190 if (!(lavfi->sink_eof = av_mallocz(sizeof(int) * n)))
192 if (!(lavfi->stream_sink_map = av_malloc(sizeof(int) * n)))
194 if (!(lavfi->sink_stream_subcc_map = av_malloc(sizeof(int) * n)))
198 lavfi->stream_sink_map[i] = -1;
228 if (lavfi->stream_sink_map[stream_idx] != -1) {
234 lavfi->sink_stream_map[i] = stream_idx;
235 lavfi->stream_sink_map[stream_idx] = i;
236 lavfi->sink_stream_subcc_map[i] = !!use_subcc;
248 lavfi->sinks = av_malloc_array(lavfi->nb_sinks, sizeof(AVFilterContext *));
249 if (!lavfi->sinks)
266 NULL, lavfi->graph);
279 NULL, lavfi->graph);
295 lavfi->sinks[i] = sink;
301 if ((ret = avfilter_graph_config(lavfi->graph, avctx)) < 0)
304 if (lavfi->dump_graph) {
305 char *dump = avfilter_graph_dump(lavfi->graph, lavfi->dump_graph);
316 for (i = 0; i < lavfi->nb_sinks; i++) {
317 AVFilterContext *sink = lavfi->sinks[lavfi->stream_sink_map[i]];
351 if (!(lavfi->decoded_frame = av_frame_alloc()))
364 LavfiContext *lavfi = avctx->priv_data;
368 if ((stream_idx = lavfi->sink_stream_subcc_map[sink_idx]) < 0)
372 if ((ret = av_new_packet(&lavfi->subcc_packet, sd->size)) < 0)
374 memcpy(lavfi->subcc_packet.data, sd->data, sd->size);
375 lavfi->subcc_packet.stream_index = stream_idx;
376 lavfi->subcc_packet.pts = frame->pts;
377 lavfi->subcc_packet.pos = frame->pkt_pos;
383 LavfiContext *lavfi = avctx->priv_data;
386 AVFrame *frame = lavfi->decoded_frame;
392 if (lavfi->subcc_packet.size) {
393 av_packet_move_ref(pkt, &lavfi->subcc_packet);
399 for (i = 0; i < lavfi->nb_sinks; i++) {
400 AVRational tb = av_buffersink_get_time_base(lavfi->sinks[i]);
404 if (lavfi->sink_eof[i])
407 ret = av_buffersink_get_frame_flags(lavfi->sinks[i], frame,
411 lavfi->sink_eof[i] = 1;
429 av_buffersink_get_frame_flags(lavfi->sinks[min_pts_sink_idx], frame, 0);
430 stream_idx = lavfi->sink_stream_map[min_pts_sink_idx];
491 .class_name = "lavfi indev",
499 .name = "lavfi",