[FFmpeg-devel] lurking bugs in the mmx-related assembler code (?)

u-h8zb at aetey.se u-h8zb at aetey.se
Sat Oct 1 20:48:25 EEST 2016

Hello Moritz,

On Sat, Oct 01, 2016 at 06:13:46PM +0200, Moritz Barsnick wrote:
> On Sat, Oct 01, 2016 at 17:37:50 +0200, u-h8zb at aetey.se wrote:
> > My troubleshooting 
> [...]
> > behaves erratically on certain combinations
> [...]
> > Most often
> You are a busy troubleshooter, but you fail to describe what you did,
> and what exactly went wrong. No-one will be able to (even try to)
> reproduce if you don't provide details.

I do not expect the ffmpeg developers to try to reproduce this.

I expect somebody to look at the code (beginning with the MMX assembler
in the vp3 decoder), which is a lower threshold than building a new libc.

> > P.S. an attempt to report via trac did not succeed, that's why posting
> > to the list
> What was the issue there?

Let's take one issue at a time [*]
I mentioned this only as my effort to follow the expected bug reporting route.

> When trac finally works, you are asked to provide a command line to
> reproduce this (best something which doesn't use external libraries),

The problem is revealed by the use of a certain libc implementation.
A command line does not help much. It was among others

 ffmpeg -i test.640x480.19seconds.theora.ogg -c:v libtheora -y test.out.ogg

But there are also many other combinations of input and output data
which break. The exact outcome depends on many hardly controllable
variables, both at build time and at run time.

The two crucial details are building ffmpeg with assembler
optimizations and using musl libc. I mentioned those.

Regrettably I did not mention that the target platform is ia32.
My bad.

> and its full console output. In your case, you should also describe how
> you built ffmpeg, as you are using a "special" libc.

Well. for the formal purposes:
 ./configure ; make ; make install
which does not say anything without a detailed (and irrelevant)
description of what my build system looks like.

By the way, if there is something "special" about musl libc, it is the
very high level of code quality and standard compliance. The latter
exposes quite a few hidden bugs in various applications.

> Thanks,
> Moritz

Thanks for paying attention and teaching the bug reporters good manners :)
This is often necessary and useful.


[*] Sorry but I can not contribute to troubleshooting/improvements of
the bug reporting system. Hopefully it works well enough for others.

More information about the ffmpeg-devel mailing list