Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* Re: [FFmpeg-devel] [PATCH 2/2] avformat/img2dec: add GEM Raster image demuxer
       [not found] ` <54d14822e998e9f1ac99e919fe223433d3c509e2.1631867851.git.pross@xvid.org>
@ 2022-01-20 12:48   ` Andreas Rheinhardt
  2022-01-23  0:01   ` Carl Eugen Hoyos
  1 sibling, 0 replies; 3+ messages in thread
From: Andreas Rheinhardt @ 2022-01-20 12:48 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Fri, Sep 17, 2021 at 10:39 AM Peter Ross <pross@xvid.org> wrote:
>
> ---
>  libavformat/allformats.c |  1 +
>  libavformat/img2.c       |  3 +++
>  libavformat/img2dec.c    | 22 ++++++++++++++++++++++
>  3 files changed, 26 insertions(+)
>
> diff --git a/libavformat/allformats.c b/libavformat/allformats.c
> index 5471f7c16f..99d8c91e00 100644
> --- a/libavformat/allformats.c
> +++ b/libavformat/allformats.c
> @@ -499,6 +499,7 @@ extern const AVInputFormat  ff_image_cri_pipe_demuxer;
>  extern const AVInputFormat  ff_image_dds_pipe_demuxer;
>  extern const AVInputFormat  ff_image_dpx_pipe_demuxer;
>  extern const AVInputFormat  ff_image_exr_pipe_demuxer;
> +extern const AVInputFormat  ff_image_gem_pipe_demuxer;
>  extern const AVInputFormat  ff_image_gif_pipe_demuxer;
>  extern const AVInputFormat  ff_image_j2k_pipe_demuxer;
>  extern const AVInputFormat  ff_image_jpeg_pipe_demuxer;
> diff --git a/libavformat/img2.c b/libavformat/img2.c
> index 6bdd7efe26..4153102c92 100644
> --- a/libavformat/img2.c
> +++ b/libavformat/img2.c
> @@ -84,6 +84,9 @@ const IdStrMap ff_img_tags[] = {
>      { AV_CODEC_ID_XPM,        "xpm"      },
>      { AV_CODEC_ID_XFACE,      "xface"    },
>      { AV_CODEC_ID_XWD,        "xwd"      },
> +    { AV_CODEC_ID_GEM,        "img"      },
> +    { AV_CODEC_ID_GEM,        "ximg"     },
> +    { AV_CODEC_ID_GEM,        "timg"     },
>      { AV_CODEC_ID_NONE,       NULL       }
>  };
>
> diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
> index 485444ed31..acfd5910de 100644
> --- a/libavformat/img2dec.c
> +++ b/libavformat/img2dec.c
> @@ -1105,6 +1105,27 @@ static int photocd_probe(const AVProbeData *p)
>      return AVPROBE_SCORE_MAX - 1;
>  }
>
> +static int gem_probe(const AVProbeData *p)
> +{
> +    const uint8_t *b = p->buf;
> +    int ret = 0;
> +    if ( AV_RB16(b     ) >= 1 && AV_RB16(b    ) <= 3  &&
> +         AV_RB16(b +  2) >= 8 && AV_RB16(b + 2) <= 779 &&
> +        (AV_RB16(b +  4) > 0  || AV_RB16(b + 4) <= 8) &&
> +        (AV_RB16(b +  6) > 0  || AV_RB16(b + 6) <= 8) &&

The above two lines are tautologically true, suggesting that something
else was intended here.
Looking at the decoder shows that this is the aspect ratio, so
checking for them being >0 makes sense,
yet the checks for them being <= 8 doesn't.
(This has been reported in ticket #9605.)

> +         AV_RB16(b +  8) &&
> +         AV_RB16(b + 10) &&
> +         AV_RB16(b + 12) &&
> +         AV_RB16(b + 14)) {
> +        ret = AVPROBE_SCORE_EXTENSION / 4;
> +        if (AV_RN32(b + 16) == AV_RN32("STTT") ||
> +            AV_RN32(b + 16) == AV_RN32("TIMG") ||
> +            AV_RN32(b + 16) == AV_RN32("XIMG"))
> +            ret += 1;
> +    }
> +    return ret;
> +}
> +
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [FFmpeg-devel] [PATCH 2/2] avformat/img2dec: add GEM Raster image demuxer
       [not found] ` <54d14822e998e9f1ac99e919fe223433d3c509e2.1631867851.git.pross@xvid.org>
  2022-01-20 12:48   ` [FFmpeg-devel] [PATCH 2/2] avformat/img2dec: add GEM Raster image demuxer Andreas Rheinhardt
@ 2022-01-23  0:01   ` Carl Eugen Hoyos
  2022-01-23  4:45     ` Peter Ross
  1 sibling, 1 reply; 3+ messages in thread
From: Carl Eugen Hoyos @ 2022-01-23  0:01 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Am Fr., 17. Sept. 2021 um 10:39 Uhr schrieb Peter Ross <pross@xvid.org>:

> +static int gem_probe(const AVProbeData *p)
> +{
> +    const uint8_t *b = p->buf;
> +    int ret = 0;
> +    if ( AV_RB16(b     ) >= 1 && AV_RB16(b    ) <= 3  &&
> +         AV_RB16(b +  2) >= 8 && AV_RB16(b + 2) <= 779 &&
> +        (AV_RB16(b +  4) > 0  || AV_RB16(b + 4) <= 8) &&
> +        (AV_RB16(b +  6) > 0  || AV_RB16(b + 6) <= 8) &&
> +         AV_RB16(b +  8) &&
> +         AV_RB16(b + 10) &&
> +         AV_RB16(b + 12) &&
> +         AV_RB16(b + 14)) {
> +        ret = AVPROBE_SCORE_EXTENSION / 4;

Without running probetest, this score looks too high to me.
(1, 2 or 3 followed by anything not 0 with some restrictions?)

Why is the above sufficient? Are there files in the wild
without the fourcc's below?

> +        if (AV_RN32(b + 16) == AV_RN32("STTT") ||
> +            AV_RN32(b + 16) == AV_RN32("TIMG") ||
> +            AV_RN32(b + 16) == AV_RN32("XIMG"))
> +            ret += 1;

Should be EXTENSION + 1

Carl Eugen
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [FFmpeg-devel] [PATCH 2/2] avformat/img2dec: add GEM Raster image demuxer
  2022-01-23  0:01   ` Carl Eugen Hoyos
@ 2022-01-23  4:45     ` Peter Ross
  0 siblings, 0 replies; 3+ messages in thread
From: Peter Ross @ 2022-01-23  4:45 UTC (permalink / raw)
  To: FFmpeg development discussions and patches


[-- Attachment #1.1: Type: text/plain, Size: 1495 bytes --]

On Sun, Jan 23, 2022 at 01:01:58AM +0100, Carl Eugen Hoyos wrote:
> Am Fr., 17. Sept. 2021 um 10:39 Uhr schrieb Peter Ross <pross@xvid.org>:
> 
> > +static int gem_probe(const AVProbeData *p)
> > +{
> > +    const uint8_t *b = p->buf;
> > +    int ret = 0;
> > +    if ( AV_RB16(b     ) >= 1 && AV_RB16(b    ) <= 3  &&
> > +         AV_RB16(b +  2) >= 8 && AV_RB16(b + 2) <= 779 &&
> > +        (AV_RB16(b +  4) > 0  || AV_RB16(b + 4) <= 8) &&
> > +        (AV_RB16(b +  6) > 0  || AV_RB16(b + 6) <= 8) &&
> > +         AV_RB16(b +  8) &&
> > +         AV_RB16(b + 10) &&
> > +         AV_RB16(b + 12) &&
> > +         AV_RB16(b + 14)) {
> > +        ret = AVPROBE_SCORE_EXTENSION / 4;
> 
> Without running probetest, this score looks too high to me.
> (1, 2 or 3 followed by anything not 0 with some restrictions?)

The probetest warning is only triggered when the score is greater than
AVPROBE_SCORE_EXTENSION / 4

This score is consistent with other image2 demuxers like bmp and pcx.

How much lower does it need to be?

> Why is the above sufficient? Are there files in the wild
> without the fourcc's below?

Correct, not all files have the fourcc's below.

> > +        if (AV_RN32(b + 16) == AV_RN32("STTT") ||
> > +            AV_RN32(b + 16) == AV_RN32("TIMG") ||
> > +            AV_RN32(b + 16) == AV_RN32("XIMG"))
> > +            ret += 1;
> 
> Should be EXTENSION + 1

Agree.

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-01-23  4:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <755fd91b4ae6c9327668f339acfc67fcdd02c0bd.1631867851.git.pross@xvid.org>
     [not found] ` <54d14822e998e9f1ac99e919fe223433d3c509e2.1631867851.git.pross@xvid.org>
2022-01-20 12:48   ` [FFmpeg-devel] [PATCH 2/2] avformat/img2dec: add GEM Raster image demuxer Andreas Rheinhardt
2022-01-23  0:01   ` Carl Eugen Hoyos
2022-01-23  4:45     ` Peter Ross

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git