[FFmpeg-devel] [PATCH] hwcontext_cuda: implement frames_get_constraints
wm4
nfxjfg at googlemail.com
Mon Jan 23 17:23:15 EET 2017
On Mon, 16 Jan 2017 10:01:41 -0800
Philip Langdale <philipl at overt.org> wrote:
> On Mon, 16 Jan 2017 18:56:09 +0100
> wm4 <nfxjfg at googlemail.com> wrote:
>
> > On Mon, 16 Jan 2017 09:31:42 -0800
> > Philip Langdale <philipl at overt.org> wrote:
> >
> > > On Mon, 16 Jan 2017 16:44:16 +0100
> > > wm4 <nfxjfg at googlemail.com> wrote:
> > >
> > > > Copied and modified from hwcontext_qsv.c.
> > > > ---
> > > > libavutil/hwcontext_cuda.c | 26 ++++++++++++++++++++++++++
> > > > 1 file changed, 26 insertions(+)
> > > >
> > > > diff --git a/libavutil/hwcontext_cuda.c
> > > > b/libavutil/hwcontext_cuda.c index 5dd0d99272..ed595c3e0f 100644
> > > > --- a/libavutil/hwcontext_cuda.c
> > > > +++ b/libavutil/hwcontext_cuda.c
> > > > @@ -39,6 +39,31 @@ static const enum AVPixelFormat
> > > > supported_formats[] = { AV_PIX_FMT_P016,
> > > > };
> > > >
> > > > +static int cuda_frames_get_constraints(AVHWDeviceContext *ctx,
> > > > + const void *hwconfig,
> > > > + AVHWFramesConstraints
> > > > *constraints) +{
> > > > + int i;
> > > > +
> > > > + constraints->valid_sw_formats =
> > > > av_malloc_array(FF_ARRAY_ELEMS(supported_formats) + 1,
> > > > +
> > > > sizeof(*constraints->valid_sw_formats));
> > > > + if (!constraints->valid_sw_formats)
> > > > + return AVERROR(ENOMEM);
> > > > +
> > > > + for (i = 0; i < FF_ARRAY_ELEMS(supported_formats); i++)
> > > > + constraints->valid_sw_formats[i] = supported_formats[i];
> > > > +
> > > > constraints->valid_sw_formats[FF_ARRAY_ELEMS(supported_formats)]
> > > > = AV_PIX_FMT_NONE; +
> > > > + constraints->valid_hw_formats = av_malloc_array(2,
> > > > sizeof(*constraints->valid_hw_formats));
> > > > + if (!constraints->valid_hw_formats)
> > > > + return AVERROR(ENOMEM);
> > >
> > > Is it weird if this fails and valid_sw_formats succeeds? I guess
> > > that's up to how the caller handles the error.
> >
> > It is, but the QSV code also did it this way.
> >
> > And if we're completely honest, nobody really cares about tiny leaks
> > when tiny allocations fail (which in practice never ever happens
> > anyway).
>
> Yeah. The world is going to end if it ever happens.
>
> Ship it.
Pushed, got tired of waiting for a response on the Libav ML.
More information about the ffmpeg-devel
mailing list