[FFmpeg-devel] [PATCH] configure: disable the new optimizer in Visual Studio 2015 Update 3

Hendrik Leppkes h.leppkes at gmail.com
Tue Jun 28 12:57:15 CEST 2016


On Tue, Jun 28, 2016 at 12:50 PM, Michael Niedermayer
<michael at niedermayer.cc> wrote:
> On Tue, Jun 28, 2016 at 12:01:54PM +0200, Hendrik Leppkes wrote:
>> On Tue, Jun 28, 2016 at 11:48 AM, Hendrik Leppkes <h.leppkes at gmail.com> wrote:
>> > Visual Studio 2015 Update 3 introduced a new SSA optimizer, however
>> > it unfortunately causes miscompilations. Until it is fixed, the new
>> > optimizations are disabled and should be re-checked on subsequent
>> > compiler releases.
>> >
>> > Fixes recent FATE failure of fate-lavf-pam on VS2015.
>>
>> On that note, i'm not exactly sure which code actually miscompiles.
>> I though its pamenc, but the generated files are identical, then I
>> though its the crc computing code (crcenc/adler32), but those seem
>> fine as well and would likely screw up in more then one case if they
>> would miscompile.
>>
>> So that leaves pnmdec, I suppose, but I didn't make much headway to
>> poke around in that. If anyone has any handy hints how to find the
>> code in question that might be helpful.
>> Maybe the code is actually not-quite-right and might enjoy some straigtening.
>
> it could be atempted to identify or confirm the file that causes the
> issue by building each file with its own optimization flags and use
> this to "bisect" over the (likely) files
>

I confirmed its pnmdec.c, and only in the monoblack case.
For some reason its somehow related to the init_put_bits line, if i
change that in any way (ie. by adding 1 to the linesize), it passes.

If i have some time later, I might look at the asm.

- Hendrik


More information about the ffmpeg-devel mailing list