History

lavfi: move AVFilterLink.frame_wanted_out to FilterLinkInternal

Anton Khirnov committed 2 years ago

Commit fb3efef1 parent 42cbf666 files · +25 −21Browse files

Showing the changes to libavfilter/avfilter.c (1 of 6 files). Show all

Unified · Split

libavfilter/avfilter.c+14−8
@@ -264,7 +264,7 @@ void ff_avfilter_link_set_in_status(AVFilterLink *link, int status, int64_t pts) · 263 unmodified lines
264 av_assert0(!li->status_in);264 av_assert0(!li->status_in);
265 li->status_in = status;265 li->status_in = status;
266 li->status_in_pts = pts;266 li->status_in_pts = pts;
267 link->frame_wanted_out = 0;267 li->frame_wanted_out = 0;
268 li->frame_blocked_in = 0;268 li->frame_blocked_in = 0;
269 filter_unblock(link->dst);269 filter_unblock(link->dst);
270 ff_filter_set_ready(link->dst, 200);270 ff_filter_set_ready(link->dst, 200);
@@ -278,7 +278,7 @@ static void link_set_out_status(AVFilterLink *link, int status, int64_t pts) · 7 unmodified lines
278{278{
279 FilterLinkInternal * const li = ff_link_internal(link);279 FilterLinkInternal * const li = ff_link_internal(link);
280 280
281 av_assert0(!link->frame_wanted_out);281 av_assert0(!li->frame_wanted_out);
282 av_assert0(!li->status_out);282 av_assert0(!li->status_out);
283 li->status_out = status;283 li->status_out = status;
284 if (pts != AV_NOPTS_VALUE)284 if (pts != AV_NOPTS_VALUE)
@@ -481,7 +481,7 @@ int ff_request_frame(AVFilterLink *link) · 196 unmodified lines
481 return li->status_out;481 return li->status_out;
482 if (li->status_in) {482 if (li->status_in) {
483 if (ff_framequeue_queued_frames(&li->fifo)) {483 if (ff_framequeue_queued_frames(&li->fifo)) {
484 av_assert1(!link->frame_wanted_out);484 av_assert1(!li->frame_wanted_out);
485 av_assert1(link->dst->ready >= 300);485 av_assert1(link->dst->ready >= 300);
486 return 0;486 return 0;
487 } else {487 } else {
@@ -492,7 +492,7 @@ int ff_request_frame(AVFilterLink *link) · 4 unmodified lines
492 return li->status_out;492 return li->status_out;
493 }493 }
494 }494 }
495 link->frame_wanted_out = 1;495 li->frame_wanted_out = 1;
496 ff_filter_set_ready(link->src, 100);496 ff_filter_set_ready(link->src, 100);
497 return 0;497 return 0;
498}498}
@@ -1058,7 +1058,7 @@ int ff_filter_frame(AVFilterLink *link, AVFrame *frame) · 559 unmodified lines
1058 link->time_base);1058 link->time_base);
1059 }1059 }
1060 1060
1061 li->frame_blocked_in = link->frame_wanted_out = 0;1061 li->frame_blocked_in = li->frame_wanted_out = 0;
1062 li->l.frame_count_in++;1062 li->l.frame_count_in++;
1063 li->l.sample_count_in += frame->nb_samples;1063 li->l.sample_count_in += frame->nb_samples;
1064 filter_unblock(link->dst);1064 filter_unblock(link->dst);
@@ -1241,7 +1241,7 @@ static int ff_filter_activate_default(AVFilterContext *filter) · 176 unmodified lines
1241 }1241 }
1242 for (i = 0; i < filter->nb_outputs; i++) {1242 for (i = 0; i < filter->nb_outputs; i++) {
1243 FilterLinkInternal * const li = ff_link_internal(filter->outputs[i]);1243 FilterLinkInternal * const li = ff_link_internal(filter->outputs[i]);
1244 if (filter->outputs[i]->frame_wanted_out &&1244 if (li->frame_wanted_out &&
1245 !li->frame_blocked_in) {1245 !li->frame_blocked_in) {
1246 return ff_request_frame_to_filter(filter->outputs[i]);1246 return ff_request_frame_to_filter(filter->outputs[i]);
1247 }1247 }
@@ -1581,7 +1581,7 @@ void ff_inlink_request_frame(AVFilterLink *link) · 333 unmodified lines
1581 av_unused FilterLinkInternal *li = ff_link_internal(link);1581 av_unused FilterLinkInternal *li = ff_link_internal(link);
1582 av_assert1(!li->status_in);1582 av_assert1(!li->status_in);
1583 av_assert1(!li->status_out);1583 av_assert1(!li->status_out);
1584 link->frame_wanted_out = 1;1584 li->frame_wanted_out = 1;
1585 ff_filter_set_ready(link->src, 100);1585 ff_filter_set_ready(link->src, 100);
1586}1586}
1587 1587
@@ -1590,7 +1590,7 @@ void ff_inlink_set_status(AVFilterLink *link, int status) · 2 unmodified lines
1590 FilterLinkInternal * const li = ff_link_internal(link);1590 FilterLinkInternal * const li = ff_link_internal(link);
1591 if (li->status_out)1591 if (li->status_out)
1592 return;1592 return;
1593 link->frame_wanted_out = 0;1593 li->frame_wanted_out = 0;
1594 li->frame_blocked_in = 0;1594 li->frame_blocked_in = 0;
1595 link_set_out_status(link, status, AV_NOPTS_VALUE);1595 link_set_out_status(link, status, AV_NOPTS_VALUE);
1596 while (ff_framequeue_queued_frames(&li->fifo)) {1596 while (ff_framequeue_queued_frames(&li->fifo)) {
@@ -1642,3 +1642,9 @@ int ff_filter_init_hw_frames(AVFilterContext *avctx, AVFilterLink *link, · 45 unmodified lines
1642 1642
1643 return 0;1643 return 0;
1644}1644}
1645
1646int ff_outlink_frame_wanted(AVFilterLink *link)
1647{
1648 FilterLinkInternal * const li = ff_link_internal(link);
1649 return li->frame_wanted_out;
1650}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t