avfilter/filters: add ff_inlink_peek_frame and ff_inlink_queued_frames to access frames in the inlink fifo
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
@@ -1448,6 +1448,11 @@ int ff_inlink_acknowledge_status(AVFilterLink *link, int *rstatus, int64_t *rpts
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size_t ff_inlink_queued_frames(AVFilterLink *link)
|
||||||
|
{
|
||||||
|
return ff_framequeue_queued_frames(&link->fifo);
|
||||||
|
}
|
||||||
|
|
||||||
int ff_inlink_check_available_frame(AVFilterLink *link)
|
int ff_inlink_check_available_frame(AVFilterLink *link)
|
||||||
{
|
{
|
||||||
return ff_framequeue_queued_frames(&link->fifo) > 0;
|
return ff_framequeue_queued_frames(&link->fifo) > 0;
|
||||||
@@ -1507,6 +1512,11 @@ int ff_inlink_consume_samples(AVFilterLink *link, unsigned min, unsigned max,
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AVFrame *ff_inlink_peek_frame(AVFilterLink *link, size_t idx)
|
||||||
|
{
|
||||||
|
return ff_framequeue_peek(&link->fifo, idx);
|
||||||
|
}
|
||||||
|
|
||||||
int ff_inlink_make_frame_writable(AVFilterLink *link, AVFrame **rframe)
|
int ff_inlink_make_frame_writable(AVFilterLink *link, AVFrame **rframe)
|
||||||
{
|
{
|
||||||
AVFrame *frame = *rframe;
|
AVFrame *frame = *rframe;
|
||||||
|
@@ -60,6 +60,12 @@ int ff_inlink_process_commands(AVFilterLink *link, const AVFrame *frame);
|
|||||||
*/
|
*/
|
||||||
int ff_inlink_evaluate_timeline_at_frame(AVFilterLink *link, const AVFrame *frame);
|
int ff_inlink_evaluate_timeline_at_frame(AVFilterLink *link, const AVFrame *frame);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the number of frames available on the link.
|
||||||
|
* @return the number of frames available in the link fifo.
|
||||||
|
*/
|
||||||
|
size_t ff_inlink_queued_frames(AVFilterLink *link);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test if a frame is available on the link.
|
* Test if a frame is available on the link.
|
||||||
* @return >0 if a frame is available
|
* @return >0 if a frame is available
|
||||||
@@ -102,6 +108,13 @@ int ff_inlink_consume_frame(AVFilterLink *link, AVFrame **rframe);
|
|||||||
int ff_inlink_consume_samples(AVFilterLink *link, unsigned min, unsigned max,
|
int ff_inlink_consume_samples(AVFilterLink *link, unsigned min, unsigned max,
|
||||||
AVFrame **rframe);
|
AVFrame **rframe);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Access a frame in the link fifo without consuming it.
|
||||||
|
* The first frame is numbered 0; the designated frame must exist.
|
||||||
|
* @return the frame at idx position in the link fifo.
|
||||||
|
*/
|
||||||
|
AVFrame *ff_inlink_peek_frame(AVFilterLink *link, size_t idx);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make sure a frame is writable.
|
* Make sure a frame is writable.
|
||||||
* This is similar to av_frame_make_writable() except it uses the link's
|
* This is similar to av_frame_make_writable() except it uses the link's
|
||||||
|
Reference in New Issue
Block a user