[FFmpeg-devel] [PATCH] vf_unsharp: provide better names for the MIN/MAX_SIZE macros
Michael Niedermayer
michaelni at gmx.at
Sun Aug 14 14:28:32 CEST 2011
On Sun, Aug 14, 2011 at 02:22:24PM +0200, Michael Niedermayer wrote:
> On Sat, Aug 13, 2011 at 01:11:42AM +0200, Stefano Sabatini wrote:
> > ---
> > libavfilter/vf_unsharp.c | 9 +++++----
> > 1 files changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c
> > index b770437..e41e76f 100644
> > --- a/libavfilter/vf_unsharp.c
> > +++ b/libavfilter/vf_unsharp.c
> > @@ -41,8 +41,9 @@
> > #include "libavutil/mem.h"
> > #include "libavutil/pixdesc.h"
> >
> > -#define MIN_SIZE 3
> > -#define MAX_SIZE 13
> > +#define MATRIX_MIN_LINE_SIZE 3
> > +#define MATRIX_MAX_LINE_SIZE 13
> > +#define MATRIX_MAX_SIZE (MATRIX_MAX_LINE_SIZE * MATRIX_MAX_LINE_SIZE)
> >
> > /* right-shift and round-up */
> > #define UPSHIFT(x,shift) (-((-(x))>>(shift)))
> > @@ -55,7 +56,7 @@ typedef struct FilterParam {
> > int steps_y; ///< vertical step count
> > int scalebits; ///< bits to shift pixel
> > int32_t halfscale; ///< amount to add to pixel
> > - uint32_t *sc[(MAX_SIZE * MAX_SIZE) - 1]; ///< finite state machine storage
> > + uint32_t *sc[MATRIX_MAX_SIZE - 1]; ///< finite state machine storage
> > } FilterParam;
> >
> > typedef struct {
>
> > @@ -69,7 +70,7 @@ static void apply_unsharp( uint8_t *dst, int dst_stride,
> > int width, int height, FilterParam *fp)
> > {
> > uint32_t **sc = fp->sc;
> > - uint32_t sr[(MAX_SIZE * MAX_SIZE) - 1], tmp1, tmp2;
> > + uint32_t sr[MATRIX_MAX_SIZE - 1], tmp1, tmp2;
>
> The original code in libmpcodecs makes more sense to me then both the
> before and afterwards of this patch.
> why was this ever changed to MAX_SIZE * MAX_SIZE ?
>
> also the saftey checks on the parameters have been lost in the port
> from libmpcodecs, its exploitable now, try -vf unsharp=999:3:3 as
> example
>
> and at that, the command line syntax was more readable in libmpcodecs
> too, and is incompatibel now
> l7x5:0.8:c3x3:-0.2
> vs
> 7:5:0.8:3:3:0.2
hmm, seems iam a little late with finding that, your other patches
already fix most of it.
Still, iam a bit pissed at the quality of the original port
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
No human being will ever know the Truth, for even if they happen to say it
by chance, they would not even known they had done so. -- Xenophanes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110814/97d50fc2/attachment.asc>
More information about the ffmpeg-devel
mailing list