Message ID | 1579470544-23468-1-git-send-email-ggarra13@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [FFmpeg-devel] libavcodec/exr.c: Made channel name comparisons case insensitive. | expand |
Context | Check | Description |
---|---|---|
andriy/ffmpeg-patchwork | success | Make fate finished |
I doubt this is good. On 1/19/20, ggarra13@gmail.com <ggarra13@gmail.com> wrote: > From: Gonzalo Garramuño <ggarra13@gmail.com> > > --- > libavcodec/exr.c | 21 +++++++++++---------- > 1 file changed, 11 insertions(+), 10 deletions(-) > > diff --git a/libavcodec/exr.c b/libavcodec/exr.c > index aeeaed4..49250dd 100644 > --- a/libavcodec/exr.c > +++ b/libavcodec/exr.c > @@ -41,6 +41,7 @@ > #include "libavutil/common.h" > #include "libavutil/imgutils.h" > #include "libavutil/intfloat.h" > +#include "libavutil/avstring.h" > #include "libavutil/opt.h" > #include "libavutil/color_utils.h" > > @@ -1399,24 +1400,24 @@ static int decode_header(EXRContext *s, AVFrame > *frame) > } > > if (layer_match) { /* only search channel if the layer > match is valid */ > - if (!strcmp(ch_gb.buffer, "R") || > - !strcmp(ch_gb.buffer, "X") || > - !strcmp(ch_gb.buffer, "U")) { > + if (!av_strcasecmp(ch_gb.buffer, "R") || > + !av_strcasecmp(ch_gb.buffer, "X") || > + !av_strcasecmp(ch_gb.buffer, "U")) { > channel_index = 0; > s->is_luma = 0; > - } else if (!strcmp(ch_gb.buffer, "G") || > - !strcmp(ch_gb.buffer, "V")) { > + } else if (!av_strcasecmp(ch_gb.buffer, "G") || > + !av_strcasecmp(ch_gb.buffer, "V")) { > channel_index = 1; > s->is_luma = 0; > - } else if (!strcmp(ch_gb.buffer, "Y")) { > + } else if (!av_strcasecmp(ch_gb.buffer, "Y")) { > channel_index = 1; > s->is_luma = 1; > - } else if (!strcmp(ch_gb.buffer, "B") || > - !strcmp(ch_gb.buffer, "Z") || > - !strcmp(ch_gb.buffer, "W")){ > + } else if (!av_strcasecmp(ch_gb.buffer, "B") || > + !av_strcasecmp(ch_gb.buffer, "Z") || > + !av_strcasecmp(ch_gb.buffer, "W")){ > channel_index = 2; > s->is_luma = 0; > - } else if (!strcmp(ch_gb.buffer, "A")) { > + } else if (!av_strcasecmp(ch_gb.buffer, "A")) { > channel_index = 3; > } else { > av_log(s->avctx, AV_LOG_WARNING, > -- > 1.7.9.5 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
El 19/01/20 a las 19:00, Paul B Mahol escribió:
> I doubt this is good.
Why? I have images created out of Houdini that do not follow the
uppercase convention used in the exr.c decoder. The layers cannot be
read unless the pattern matches layers like: indirect_diffuse.r.
diff --git a/libavcodec/exr.c b/libavcodec/exr.c index aeeaed4..49250dd 100644 --- a/libavcodec/exr.c +++ b/libavcodec/exr.c @@ -41,6 +41,7 @@ #include "libavutil/common.h" #include "libavutil/imgutils.h" #include "libavutil/intfloat.h" +#include "libavutil/avstring.h" #include "libavutil/opt.h" #include "libavutil/color_utils.h" @@ -1399,24 +1400,24 @@ static int decode_header(EXRContext *s, AVFrame *frame) } if (layer_match) { /* only search channel if the layer match is valid */ - if (!strcmp(ch_gb.buffer, "R") || - !strcmp(ch_gb.buffer, "X") || - !strcmp(ch_gb.buffer, "U")) { + if (!av_strcasecmp(ch_gb.buffer, "R") || + !av_strcasecmp(ch_gb.buffer, "X") || + !av_strcasecmp(ch_gb.buffer, "U")) { channel_index = 0; s->is_luma = 0; - } else if (!strcmp(ch_gb.buffer, "G") || - !strcmp(ch_gb.buffer, "V")) { + } else if (!av_strcasecmp(ch_gb.buffer, "G") || + !av_strcasecmp(ch_gb.buffer, "V")) { channel_index = 1; s->is_luma = 0; - } else if (!strcmp(ch_gb.buffer, "Y")) { + } else if (!av_strcasecmp(ch_gb.buffer, "Y")) { channel_index = 1; s->is_luma = 1; - } else if (!strcmp(ch_gb.buffer, "B") || - !strcmp(ch_gb.buffer, "Z") || - !strcmp(ch_gb.buffer, "W")){ + } else if (!av_strcasecmp(ch_gb.buffer, "B") || + !av_strcasecmp(ch_gb.buffer, "Z") || + !av_strcasecmp(ch_gb.buffer, "W")){ channel_index = 2; s->is_luma = 0; - } else if (!strcmp(ch_gb.buffer, "A")) { + } else if (!av_strcasecmp(ch_gb.buffer, "A")) { channel_index = 3; } else { av_log(s->avctx, AV_LOG_WARNING,
From: Gonzalo Garramuño <ggarra13@gmail.com> --- libavcodec/exr.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-)