avfilter: hwoverlay

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

avfilter: hwoverlay

msanders
Hi,

As now we have many filters compatible with the GPU, and in particular “scale” filters. So I think we need a filter like “hwoverlay” or “overlay_cuda/_qsv/etc.”.

With this kind of filter we can do a PiP using only a GPU pipeline:

- GPU decoder --> spplit (hw) --> hwscale --> hwoverlay --> GPU encoder

In fact, I feel it’s not too complex to do.

What you think?
M. Sanders
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: avfilter: hwoverlay

Paul B Mahol
On 11/26/18, msanders <[hidden email]> wrote:

> Hi,
>
> As now we have many filters compatible with the GPU, and in particular
> “scale” filters. So I think we need a filter like “hwoverlay” or
> “overlay_cuda/_qsv/etc.”.
>
> With this kind of filter we can do a PiP using only a GPU pipeline:
>
> - GPU decoder --> spplit (hw) --> hwscale --> hwoverlay --> GPU encoder
>
> In fact, I feel it’s not too complex to do.
>
> What you think?

Unless its sponsored, I'm not interested.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: avfilter: hwoverlay

msanders
Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 26 de November de 2018 13:01, Paul B Mahol <[hidden email]> wrote:

> On 11/26/18, msanders [hidden email] wrote:
>
> > Hi,
> > As now we have many filters compatible with the GPU, and in particular
> > “scale” filters. So I think we need a filter like “hwoverlay” or
> > “overlay_cuda/_qsv/etc.”.
> > With this kind of filter we can do a PiP using only a GPU pipeline:
> >
> > -   GPU decoder --> spplit (hw) --> hwscale --> hwoverlay --> GPU encoder
> >
> > In fact, I feel it’s not too complex to do.
> > What you think?
>
> Unless its sponsored, I'm not interested.

I'm a volunteer, just like anyone else.
I can't sponsor anything. It's just an idea.

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: avfilter: hwoverlay

Micael Silva
In reply to this post by msanders
On Mon, Nov 26, 2018 at 7:47 AM msanders <[hidden email]> wrote:

> Hi,
>
> As now we have many filters compatible with the GPU, and in particular
> “scale” filters. So I think we need a filter like “hwoverlay” or
> “overlay_cuda/_qsv/etc.”.
>
> With this kind of filter we can do a PiP using only a GPU pipeline:
>
> - GPU decoder --> spplit (hw) --> hwscale --> hwoverlay --> GPU encoder
>
> In fact, I feel it’s not too complex to do.
>
> What you think?
> M. Sanders
>

It's a good idea, although working with hardware accelerators it's never so
straightforward. It depends how that API is construct, what methods are
allowed, and many bugs and crashes surface. Hardware processing is less
flexible in many aspects.

Maybe possible, but I think that requiring more specialized people may take
more time to realize
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: avfilter: hwoverlay

msanders
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 26 de November de 2018 14:00, Micael Silva <[hidden email]> wrote:

> On Mon, Nov 26, 2018 at 7:47 AM msanders [hidden email] wrote:
>
> > Hi,
> > As now we have many filters compatible with the GPU, and in particular
> > “scale” filters. So I think we need a filter like “hwoverlay” or
> > “overlay_cuda/_qsv/etc.”.
> > With this kind of filter we can do a PiP using only a GPU pipeline:
> >
> > -   GPU decoder --> spplit (hw) --> hwscale --> hwoverlay --> GPU encoder
> >
> > In fact, I feel it’s not too complex to do.
> > What you think?
> > M. Sanders
>
> It's a good idea, although working with hardware accelerators it's never so
> straightforward. It depends how that API is construct, what methods are
> allowed, and many bugs and crashes surface. Hardware processing is less
> flexible in many aspects.
>
> Maybe possible, but I think that requiring more specialized people may take
> more time to realize
>
Hi,

The complexity varies.
- If the implementation is "generic", for example using some function like "av_frame_clone()" that works with RAM and GPU frames, then it will be more complex... at start. In this case new functions "av_frame_clip()" and "av_frame_overlay()" should be required.
- And if the implementation is "particular", for example implementing "overlay_cuda|_qsv", then it will be more simple.

In fact, using the code of "vf_scale_cuda.c" can be easy to translate it to a "vf_overlay_cuda.c". The reason it's because the GPU copy functions are already implemented. And the algorithm is summarized in: copy the complete frame and then overwrite with the small frame. So, only "copy GPU" functions are required.

Anyone interested?

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: avfilter: hwoverlay

Paul B Mahol
On 11/26/18, msanders <[hidden email]> wrote:

> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Monday, 26 de November de 2018 14:00, Micael Silva
> <[hidden email]> wrote:
>
>> On Mon, Nov 26, 2018 at 7:47 AM msanders [hidden email] wrote:
>>
>> > Hi,
>> > As now we have many filters compatible with the GPU, and in particular
>> > “scale” filters. So I think we need a filter like “hwoverlay” or
>> > “overlay_cuda/_qsv/etc.”.
>> > With this kind of filter we can do a PiP using only a GPU pipeline:
>> >
>> > -   GPU decoder --> spplit (hw) --> hwscale --> hwoverlay --> GPU
>> > encoder
>> >
>> > In fact, I feel it’s not too complex to do.
>> > What you think?
>> > M. Sanders
>>
>> It's a good idea, although working with hardware accelerators it's never
>> so
>> straightforward. It depends how that API is construct, what methods are
>> allowed, and many bugs and crashes surface. Hardware processing is less
>> flexible in many aspects.
>>
>> Maybe possible, but I think that requiring more specialized people may
>> take
>> more time to realize
>>
> Hi,
>
> The complexity varies.
> - If the implementation is "generic", for example using some function like
> "av_frame_clone()" that works with RAM and GPU frames, then it will be more
> complex... at start. In this case new functions "av_frame_clip()" and
> "av_frame_overlay()" should be required.
> - And if the implementation is "particular", for example implementing
> "overlay_cuda|_qsv", then it will be more simple.
>
> In fact, using the code of "vf_scale_cuda.c" can be easy to translate it to
> a "vf_overlay_cuda.c". The reason it's because the GPU copy functions are
> already implemented. And the algorithm is summarized in: copy the complete
> frame and then overwrite with the small frame. So, only "copy GPU" functions
> are required.
>
> Anyone interested?

Nope.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: avfilter: hwoverlay

msanders
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 26 de November de 2018 15:10, Paul B Mahol <[hidden email]> wrote:

> > Hi,
> > The complexity varies.
> >
> > -   And if the implementation is "particular", for example implementing
> >     "overlay_cuda|_qsv", then it will be more simple.

At time, "overlay_opencl" and "overlay_qsv" already exist. So my suggestion really makes sense.

I'll try implement the "overlay_cuda" based on "overlay_qsv".

Regards.

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".