[FFmpeg-devel] [PATCH] conversion of FFV1 specification from lyx to markdown

Dave Rice dave at dericed.com
Sat Jul 18 17:23:16 CEST 2015

> On Jul 10, 2015, at 4:55 PM, Michael Niedermayer <michael at niedermayer.cc> wrote:
> On Fri, Jul 10, 2015 at 04:19:41PM -0400, Dave Rice wrote:
>>> On Jul 10, 2015, at 3:51 PM, Michael Niedermayer <michael at niedermayer.cc> wrote:
>>> On Fri, Jul 10, 2015 at 03:47:45PM -0400, Dave Rice wrote:
>>>>> On Jul 10, 2015, at 2:06 PM, Michael Niedermayer <michael at niedermayer.cc> wrote:
>>>>> On Fri, Jul 10, 2015 at 07:51:20PM +0200, Michael Niedermayer wrote:
>>>>>> On Fri, Jul 10, 2015 at 07:47:46PM +0200, Michael Niedermayer wrote:
>>>>>>> On Fri, Jul 10, 2015 at 11:52:24AM +0200, Michael Niedermayer wrote:
>>>>>>>> On Thu, Jul 09, 2015 at 02:14:36PM -0400, Dave Rice wrote:
>>>>>>>>>> On Jul 9, 2015, at 1:53 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>>>>>>>>>> On Tue, Jul 07, 2015 at 11:03:39AM -0400, Dave Rice wrote:
>>>>>>>>>>> Hi,
>>>>>>>>>>>> On Jul 7, 2015, at 10:35 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
>>>>>>>>>>>> On Thu, Jul 02, 2015 at 09:50:21AM -0400, Dave Rice wrote:
>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>> Last month I posted a draft of the FFV1 specification formatted in Markdown [1], whereas it currently lives in lyx. From that post there were responses in favor of the use of Markdown formatting and suggestions to not use mathml within a draft targeting an RFC specification and suggestions to update a few urls. I propose to proceed with a format conversion of the FFV1 specification from lyx to Markdown and then I'll file tickets or patches to explore simplifying the mathml expressions and updating the urls. Attached is a patch to convert the formatting (but not meaning) of the FFV1 specification from lyx to markdown.
>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>> Dave Rice
>>>>>>>>>>>>> [1] http://comments.gmane.org/gmane.comp.video.ffmpeg.devel/193851
>>>>>>>>>>>> how can this be edited and converted ?
>>>>>>>>>>> Via pandoc you can get outputs that are close to the current ffv1.html and ffv1.pdf outputs of ffv1.lyx.
>>>>>>>>>>> pandoc --mathml -s --number-sections ../ffv1.md -c lyx.css -o ffv1.html
>>>>>>>>>>> pandoc -s --number-sections ../ffv1.md --latex-engine=xelatex -V geometry:margin=1in -o ffv1.pdf
>>>>>>>>>>> I can move this info to a readme.
>>>>>>>>>> please do
>>>>>>>>> Sure. Would you prefer a patch on ffmpeg-devel or a PR in github?
>>>>>>>> whatever you prefer
>>>>>>> generated files like pdf should not be checked into git.
>>>>>>> instead add a Makefile to generate them, so a simple
>>>>>>> make
>>>>>>> or
>>>>>>> make ffv1.pdf
>>>>>>> generates the file
>>>>>> also the readme should document which version of markdown/pandoc
>>>>>> this needs
>>>>>> and something should check for that version ideally so the user
>>>>>> is nt left wondering why "make" produces broken tables
>>>>> reviewing the pull req
>>>>> The conventions section 3.
>>>>> lacks vertical alignment
>>>> Fixed in https://github.com/MediaArea/FFV1/commit/d25fb39f7514547f72cbc13ef3851f3c9d9c0c5f
>>>>> theres an empty line after
>>>>>  for(i=0;i<e;i++)
>>>> Fixed in https://github.com/MediaArea/FFV1/commit/1291e6c3e90ea6816b543a9e12c08d1cbbc1f31c
>>>>>  log2_run[41]={JPEGLS.
>>>>>  0,0,0,0,1,1,1,1,
>>>>> that JPEGLS is supposed to be a link/reference/whatever but its a
>>>>> litteral word
>>>> I'm having trouble getting a footnote to work within a codeblock. It is feasible to use this footnote in a reference to JPEGLS in a sentence above the codeblock?
>>> of course
>>> whatever works
>> I don't understand the relationship between the function and the reference to JPEG-LS. I could simply move the footnote reference to JPEGLS to outside of the codeblock, but it would be better to also explain the relationship at the same time. Could you provide some background as to why JPEGLS is referenced here.
> This table is also used by jpegls, see ff_log2_run in libavcodec
> some other things
> nested TOC and numbering in TOC is lost

Switching here to use pandoc's TOC features instead of maintaining them manually. https://github.com/MediaArea/FFV1/commit/64f643534c10ac6d680b63c75fa1b7cb670bd9c4

> in " State transition table" there should be a newline
> before one_statei = ...

Added here: https://github.com/MediaArea/FFV1/commit/701edaf67ad1f0933cac1fc74f4921a209461164

> 4.6.2 Huffman coding mode
> the content and headings seem to mismatch
> the prefix table is above the prefix heading
> the examples empty

Can you review again in git master. I've already made changes in this section according to Timothy Gu's comments.

> the stuff inside
> ConfigurationRecord()
> lost 1 level indention

I haven't found a way to preserve white space within a table. As a workaround I moved it to a syntax-highlighted code block, which may be better anyhow. https://github.com/MediaArea/FFV1/commit/38c50dda4ed892fcd1a8701598058266fbcadcbb

> in
> QuantizationTable( i ) {
> scale = 1 is indented diferently than the next line

I took the same above as ConfigurationRecord here: https://github.com/MediaArea/FFV1/commit/772919919703189e6743461e427ff190fa7555bd <https://github.com/MediaArea/FFV1/commit/772919919703189e6743461e427ff190fa7555bd>. Let me know if this approach works and I could change the other code-tables to code blocks.

> above review based on "pandoc" output, you might want to
> update the needed version numbers
> "Propering PDF and HTML rendering has been tested with requires pandoc version and higher."
> IMHO something like:
> PDF and HTML rendering has been tested with pandoc version ..., some older versions are known to produce very poor output, please ensure your pandoc is recent enough

Updated here: https://github.com/MediaArea/FFV1/commit/f85ce05a816d98bea0e15f1dd96afe23d78b1ef8 <https://github.com/MediaArea/FFV1/commit/f85ce05a816d98bea0e15f1dd96afe23d78b1ef8>.


At this point, I think I've respond or patched according to all notes from you and Timothy. Please review.

Dave Rice

More information about the ffmpeg-devel mailing list