diff mbox

[FFmpeg-devel] avfilter/vf_lut3d: actually skip lines when encountering DOMAIN_ string

Message ID 20170312180032.5372-1-onemda@gmail.com
State Accepted
Commit 62c8dc46429bd75a27142c142f8c50139d8a0702
Headers show

Commit Message

Paul B Mahol March 12, 2017, 6 p.m. UTC
Signed-off-by: Paul B Mahol <onemda@gmail.com>
---
 libavfilter/vf_lut3d.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Clément Bœsch March 12, 2017, 7:02 p.m. UTC | #1
On Sun, Mar 12, 2017 at 07:00:32PM +0100, Paul B Mahol wrote:
> Signed-off-by: Paul B Mahol <onemda@gmail.com>
> ---
>  libavfilter/vf_lut3d.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c
> index b136cda..7a294b0 100644
> --- a/libavfilter/vf_lut3d.c
> +++ b/libavfilter/vf_lut3d.c
> @@ -320,6 +320,7 @@ static int parse_cube(AVFilterContext *ctx, FILE *f)
>                          struct rgbvec *vec = &lut3d->lut[i][j][k];
>  
>                          do {
> +try_again:
>                              NEXT_LINE(0);
>                              if (!strncmp(line, "DOMAIN_", 7)) {
>                                  float *vals = NULL;
> @@ -330,7 +331,7 @@ static int parse_cube(AVFilterContext *ctx, FILE *f)
>                                  sscanf(line + 11, "%f %f %f", vals, vals + 1, vals + 2);
>                                  av_log(ctx, AV_LOG_DEBUG, "min: %f %f %f | max: %f %f %f\n",
>                                         min[0], min[1], min[2], max[0], max[1], max[2]);
> -                                continue;
> +                                goto try_again;
>                              }
>                          } while (skip_line(line));
>                          if (sscanf(line, "%f %f %f", &vec->r, &vec->g, &vec->b) != 3)

meh.

I would prefer a loop_again var to be used in the while condition, but
fine with me.

Thanks
diff mbox

Patch

diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c
index b136cda..7a294b0 100644
--- a/libavfilter/vf_lut3d.c
+++ b/libavfilter/vf_lut3d.c
@@ -320,6 +320,7 @@  static int parse_cube(AVFilterContext *ctx, FILE *f)
                         struct rgbvec *vec = &lut3d->lut[i][j][k];
 
                         do {
+try_again:
                             NEXT_LINE(0);
                             if (!strncmp(line, "DOMAIN_", 7)) {
                                 float *vals = NULL;
@@ -330,7 +331,7 @@  static int parse_cube(AVFilterContext *ctx, FILE *f)
                                 sscanf(line + 11, "%f %f %f", vals, vals + 1, vals + 2);
                                 av_log(ctx, AV_LOG_DEBUG, "min: %f %f %f | max: %f %f %f\n",
                                        min[0], min[1], min[2], max[0], max[1], max[2]);
-                                continue;
+                                goto try_again;
                             }
                         } while (skip_line(line));
                         if (sscanf(line, "%f %f %f", &vec->r, &vec->g, &vec->b) != 3)