[FFmpeg-devel] [PATCH 05/12] swscale/internal: fix and expose xyz12Torgb48 and rgb48Toxyz12
Niklas Haas
ffmpeg at haasn.xyz
Sun Oct 6 21:34:25 EEST 2024
On Sun, 06 Oct 2024 17:26:25 +0200 Ramiro Polla <ramiro.polla at gmail.com> wrote:
> On Sat, Oct 5, 2024 at 9:25 PM Niklas Haas <ffmpeg at haasn.xyz> wrote:
> > From: Niklas Haas <git at haasn.dev>
> >
> > In the process of refactoring the signature to be more generically useful,
> > this fixes an 11-year-old bug where the functions (incorrectly) did nothing
> > when the stride was negative, since the stride was being used as the loop
> > bounds for x.
> >
> > Sponsored-by: Sovereign Tech Fund
> > Signed-off-by: Niklas Haas <git at haasn.dev>
> > ---
> > libswscale/swscale.c | 98 +++++++++++++++--------------
> > libswscale/swscale_internal.h | 6 ++
> > tests/ref/fate/filter-pixfmts-vflip | 4 +-
> > 3 files changed, 60 insertions(+), 48 deletions(-)
> >
> > diff --git a/libswscale/swscale.c b/libswscale/swscale.c
> > index 8b6a3a84b4..b9ec976be0 100644
> > --- a/libswscale/swscale.c
> > +++ b/libswscale/swscale.c
> > @@ -636,29 +636,31 @@ static int check_image_pointers(const uint8_t * const data[4], enum AVPixelForma
> > return 1;
> > }
> >
> > -static void xyz12Torgb48(struct SwsContext *c, uint16_t *dst,
> > - const uint16_t *src, int stride, int h)
> > +void ff_xyz12Torgb48(const SwsContext *c, uint8_t *dst, int dst_stride,
> > + const uint8_t *src, int src_stride, int w, int h)
> > {
> > - int xp,yp;
> > const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(c->srcFormat);
> >
> > - for (yp=0; yp<h; yp++) {
> > - for (xp=0; xp+2<stride; xp+=3) {
> > + for (int yp = 0; yp < h; yp++) {
>
> I'm all for moving variable declarations into the for-loop
> initializer, and also for improving readability by giving the code
> more spaces to breathe, but could these changes be done in separate
> cleanup commits?
I can even split it into three commits if you prefer - one to make the width
and stride explicit in the signature, and one to rename it to ff_* and expose
it publicly.
>
> [...]
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list