Le 21/07/2015 20:03, Ronald S. Bultje a écrit :
+1. I can't stress how important this is. In addition, the spec should be the master, not any one implementation (because then the bugs in that one implementation will "be" the spec, regardless of what the bug is).

In theory, spec should be the reference, I totally agree.
In practice, both Matroska and FFV1 formal specifications show up after these formats are widely used, without relying on any specification. So saying that the specification is the reference does not make a lot of sense here.

I argue for:
- previous and current versions: specifications are more an official state of the art and we try to have a specification the most "compatible" with most used tools. If 2 tools are incompatible, we discuss with developers case by case about the best method for fixing the incompatibility and we write the decision as part of the specification. Example of specification which takes care of compatibility with files in the wild: "O is a reserved value. Encoders MUST NOT store bits_per_raw_sample = 0. Decoders SHOULD accept and interpret bits_per_raw_sample = 0 as 8." - next version: the spec is the master, not any one implementation, and we have 2-3 independent implementations ready *before* the formal release of the specification.

FYI, we are on the way of having a completely independent FFV1 parser/decoder in libmediainfo and a complete Matroska and FFV1 conformance checker tool, without relying on other libraries (e.g. ffmpeg, libav, libmatroska) so we hope to catch any issue in the specs and/or files created by other tools before the formal release of specifications.

Please comment.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to