[FFmpeg-devel] [PATCH 1/2] avdevice: deprecate opengl outdev

Marton Balint cus at passwd.hu
Tue Feb 13 12:15:57 EET 2024



On Tue, 13 Feb 2024, J. Dekker wrote:

> Signed-off-by: J. Dekker <jdek at itanimul.li>
> ---
>
> These devices are fundamentally broken and usecases should be switched
> away from output devices in general. Discussion in the thread tended towards
> deprecation rather than immediate removal to give time for users to figure out
> the best alternatives for their usecase.
>
> libavdevice/opengl_enc.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c
> index b2ac6eb16a..0c81ccc1c4 100644
> --- a/libavdevice/opengl_enc.c
> +++ b/libavdevice/opengl_enc.c
> @@ -224,6 +224,8 @@ typedef struct OpenGLContext {
>     int picture_height;                ///< Rendered height
>     int window_width;
>     int window_height;
> +
> +    int warned;
> } OpenGLContext;
>
> static const struct OpenGLFormatDesc {
> @@ -1060,6 +1062,14 @@ static av_cold int opengl_write_header(AVFormatContext *h)
>     AVStream *st;
>     int ret;
>
> +    if (!opengl->warned) {
> +        av_log(opengl, AV_LOG_WARNING,
> +            "The opengl output device is deprecated. For monitoring purposes in ffmpeg you can output to a file or use pipes and a video player.\n"
> +            "Example: ffmpeg -i input.mkv -f nut - | ffplay \n"

The example seems wrong. Let's try to provide one which is working and is 
more similar to the old use (does not reencode the video):

-f nut -c:v rawvideo - | ffplay -

Regards,
Marton


More information about the ffmpeg-devel mailing list