X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Fvideo.h;h=348240c6e62ba57c28650bb993af8ec45713bef6;hb=67a68dcec2271336c859d1fbd8f40c268f54ec8a;hp=ce4e9c2992501f3dd0c4a2c0dffd0dfd62f40af9;hpb=6d58358a3a3274e84a4e34a348165fbb3f484587;p=ffmpeg diff --git a/libavfilter/video.h b/libavfilter/video.h index ce4e9c29925..348240c6e62 100644 --- a/libavfilter/video.h +++ b/libavfilter/video.h @@ -39,9 +39,10 @@ AVFilterBufferRef *ff_null_get_video_buffer(AVFilterLink *link, int perms, int w AVFilterBufferRef *ff_get_video_buffer(AVFilterLink *link, int perms, int w, int h); -void ff_null_start_frame(AVFilterLink *link, AVFilterBufferRef *picref); -void ff_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir); -void ff_null_end_frame(AVFilterLink *link); +int ff_inplace_start_frame(AVFilterLink *link, AVFilterBufferRef *picref); +int ff_null_start_frame(AVFilterLink *link, AVFilterBufferRef *picref); +int ff_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir); +int ff_null_end_frame(AVFilterLink *link); /** * Notify the next filter of the start of a frame. @@ -51,15 +52,20 @@ void ff_null_end_frame(AVFilterLink *link); * frame need only be valid once draw_slice() is called for that * portion. The receiving filter will free this reference when * it no longer needs it. + * + * @return >= 0 on success, a negative AVERROR on error. This function will + * unreference picref in case of error. */ -void ff_start_frame(AVFilterLink *link, AVFilterBufferRef *picref); +int ff_start_frame(AVFilterLink *link, AVFilterBufferRef *picref); /** * Notify the next filter that the current frame has finished. * * @param link the output link the frame was sent over + * + * @return >= 0 on success, a negative AVERROR on error */ -void ff_end_frame(AVFilterLink *link); +int ff_end_frame(AVFilterLink *link); /** * Send a slice to the next filter. @@ -75,7 +81,9 @@ void ff_end_frame(AVFilterLink *link); * from the top slice to the bottom slice if the value is 1, * from the bottom slice to the top slice if the value is -1, * for other values the behavior of the function is undefined. + * + * @return >= 0 on success, a negative AVERROR on error. */ -void ff_draw_slice(AVFilterLink *link, int y, int h, int slice_dir); +int ff_draw_slice(AVFilterLink *link, int y, int h, int slice_dir); #endif /* AVFILTER_VIDEO_H */