[FFmpeg-devel] [PATCH 1/2] swscale/utils: Set all threads to the same colorspace even on failure
Michael Niedermayer
michael at niedermayer.cc
Sat Oct 23 10:58:48 EEST 2021
On Fri, Oct 22, 2021 at 10:53:07PM -0300, James Almer wrote:
> On 10/22/2021 6:45 PM, Michael Niedermayer wrote:
> > Fixes: ./ffplay dav.y4m -vf "scale=hd1080:threads=4"
> > Found-by: Paul
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> > libswscale/utils.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/libswscale/utils.c b/libswscale/utils.c
> > index 367b0ea5015..3752c3ec38c 100644
> > --- a/libswscale/utils.c
> > +++ b/libswscale/utils.c
> > @@ -874,15 +874,16 @@ int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
> > int need_reinit = 0;
> > if (c->nb_slice_ctx) {
> > + int parent_ret = 0;
> > for (int i = 0; i < c->nb_slice_ctx; i++) {
> > int ret = sws_setColorspaceDetails(c->slice_ctx[i], inv_table,
> > srcRange, table, dstRange,
> > brightness, contrast, saturation);
> > if (ret < 0)
> > - return ret;
> > + parent_ret = ret;
> > }
> > - return 0;
> > + return parent_ret;
> > }
> > handle_formats(c);
>
> If you make this function not propagate the error value returned by
> av_image_alloc() so it will effectively return either 0 or -1 as stated by
> the doxy, you can change this to just do ret |=
> sws_setColorspaceDetails(...) instead of adding a new variable.
I think we should propagate the return of sws_setColorspaceDetails to itself
ill post a patch improving the doxy
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Observe your enemies, for they first find out your faults. -- Antisthenes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20211023/04433560/attachment.sig>
More information about the ffmpeg-devel
mailing list