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 <mich...@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.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to