[FFmpeg-devel] [PATCH] hwcontext_cuda: implement frames_get_constraints
Philip Langdale
philipl at overt.org
Mon Jan 16 20:01:41 EET 2017
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.
--phil
More information about the ffmpeg-devel
mailing list