On 2011-12-27 11:08:33 +0000, Måns Rullgård wrote: > Janne Grunau <[email protected]> writes: > > > Writes past the end of the destination buffer were occuring when its > > stride was smaller than the stride of the source. Fixes Bug #183. > > --- > > libswscale/swscale_unscaled.c | 3 ++- > > 1 files changed, 2 insertions(+), 1 deletions(-) > > > > diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c > > index 34b0f24..7c339b6 100644 > > --- a/libswscale/swscale_unscaled.c > > +++ b/libswscale/swscale_unscaled.c > > @@ -285,9 +285,10 @@ static int packed_16bpc_bswap(SwsContext *c, const > > uint8_t *src[], > > int dststr = dstStride[0] >> 1; > > uint16_t *dstPtr = (uint16_t *) dst[0]; > > const uint16_t *srcPtr = (const uint16_t *) src[0]; > > + int min_stride = FFMIN(srcstr, dststr); > > > > for (i = 0; i < srcSliceH; i++) { > > - for (j = 0; j < srcstr; j++) { > > + for (j = 0; j < min_stride; j++) { > > dstPtr[j] = av_bswap16(srcPtr[j]); > > } > > srcPtr += srcstr; > > -- > > Why is this using stride and not width?
Easiest way to handle 16 bit per component and per pixel in the same function. in hindsight probably not the best idea. Janne _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
