Aha. Yes, I agree this is the right fix.
On Tue, Sep 29, 2015 at 2:44 PM, Sagar Kotecha <[email protected]> wrote: > User param are getting updated with encoder param by > api->encoder_parameters(encoder, param) call. > > ​Thanks, > Sagar​ > > On Tue, Sep 29, 2015 at 2:32 PM, Deepthi Nandakumar < > [email protected]> wrote: > >> Sagar, >> >> Good job investigating this. I see that you're trying to avoid the wrong >> (padded) width and height from being passed into dither. >> >> However, the padding is done only on Encoder::m_param and not the param >> given by the user. >> >> On Tue, Sep 29, 2015 at 2:14 PM, <[email protected]> wrote: >> >>> # HG changeset patch >>> # User Sagar Kotecha <[email protected]> >>> # Date 1443516264 -19800 >>> # Tue Sep 29 14:14:24 2015 +0530 >>> # Node ID b0a32288a2ab20cd9fd9773ee11476673c9e6bf0 >>> # Parent f4c267f28487161fa78c43cabb30dc4f4f82570c >>> Fix: Provide width and height of input file to dither, param may have >>> padded that. >>> >>> Fixes Issue #195 >>> >>> diff -r f4c267f28487 -r b0a32288a2ab source/input/input.h >>> --- a/source/input/input.h Mon Sep 28 13:38:33 2015 +0530 >>> +++ b/source/input/input.h Tue Sep 29 14:14:24 2015 +0530 >>> @@ -79,6 +79,10 @@ >>> virtual bool isFail() = 0; >>> >>> virtual const char *getName() const = 0; >>> + >>> + virtual int getWidth() const = 0; >>> + >>> + virtual int getHeight() const = 0; >>> }; >>> } >>> >>> diff -r f4c267f28487 -r b0a32288a2ab source/input/y4m.h >>> --- a/source/input/y4m.h Mon Sep 28 13:38:33 2015 +0530 >>> +++ b/source/input/y4m.h Tue Sep 29 14:14:24 2015 +0530 >>> @@ -88,6 +88,10 @@ >>> bool readPicture(x265_picture&); >>> >>> const char *getName() const { return "y4m"; } >>> + >>> + int getWidth() const { return width; } >>> + >>> + int getHeight() const { return height; } >>> }; >>> } >>> >>> diff -r f4c267f28487 -r b0a32288a2ab source/input/yuv.h >>> --- a/source/input/yuv.h Mon Sep 28 13:38:33 2015 +0530 >>> +++ b/source/input/yuv.h Tue Sep 29 14:14:24 2015 +0530 >>> @@ -80,6 +80,10 @@ >>> bool readPicture(x265_picture&); >>> >>> const char *getName() const { return "yuv"; } >>> + >>> + int getWidth() const { return width; } >>> + >>> + int getHeight() const { return height; } >>> }; >>> } >>> >>> diff -r f4c267f28487 -r b0a32288a2ab source/x265.cpp >>> --- a/source/x265.cpp Mon Sep 28 13:38:33 2015 +0530 >>> +++ b/source/x265.cpp Tue Sep 29 14:14:24 2015 +0530 >>> @@ -632,7 +632,7 @@ >>> { >>> if (pic_in->bitDepth > param->internalBitDepth && >>> cliopt.bDither) >>> { >>> - x265_dither_image(*api, *pic_in, param->sourceWidth, >>> param->sourceHeight, errorBuf, param->internalBitDepth); >>> + x265_dither_image(*api, *pic_in, >>> cliopt.input->getWidth(), cliopt.input->getHeight(), errorBuf, >>> param->internalBitDepth); >>> pic_in->bitDepth = param->internalBitDepth; >>> } >>> /* Overwrite PTS */ >>> _______________________________________________ >>> x265-devel mailing list >>> [email protected] >>> https://mailman.videolan.org/listinfo/x265-devel >>> >> >> >> _______________________________________________ >> x265-devel mailing list >> [email protected] >> https://mailman.videolan.org/listinfo/x265-devel >> >> > > _______________________________________________ > x265-devel mailing list > [email protected] > https://mailman.videolan.org/listinfo/x265-devel > >
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
