[x265] [PATCH] Fix: Provide width and height of input file to dither, param may have padded that

Deepthi Nandakumar deepthi at multicorewareinc.com
Tue Sep 29 11:29:25 CEST 2015


Aha.

Yes, I agree this is the right fix.


On Tue, Sep 29, 2015 at 2:44 PM, Sagar Kotecha <sagar at multicorewareinc.com>
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 <
> deepthi at multicorewareinc.com> 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, <sagar at multicorewareinc.com> wrote:
>>
>>> # HG changeset patch
>>> # User Sagar Kotecha <sagar at multicorewareinc.com>
>>> # 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
>>> x265-devel at videolan.org
>>> https://mailman.videolan.org/listinfo/x265-devel
>>>
>>
>>
>> _______________________________________________
>> x265-devel mailing list
>> x265-devel at videolan.org
>> https://mailman.videolan.org/listinfo/x265-devel
>>
>>
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150929/389847f4/attachment-0001.html>


More information about the x265-devel mailing list