[FFmpeg-devel] [PATCH] ffmpeg/web/index: add news describing GSoC 2015 program outcome

Ganesh Ajjanagadde gajjanag at mit.edu
Sun Sep 27 18:12:36 CEST 2015


On Sun, Sep 27, 2015 at 11:56 AM, Stefano Sabatini <stefasab at gmail.com> wrote:
> On date Sunday 2015-09-27 09:44:33 -0400, Ganesh Ajjanagadde encoded:
>> On Sun, Sep 27, 2015 at 8:37 AM, Stefano Sabatini <stefasab at gmail.com> wrote:
>> > ---
>> >  src/index | 234 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> >  1 file changed, 234 insertions(+)
> [...]
>> > +  <p>
>> > +    During the program he extended the API with possibility to remove and
>> > +    rename files on remote servers. He implemented/finished the
>> > +    implementation of these features for file, Samba, SFTP, and FTP
>> > +    protocols.
>> > +  </p>
>>
>> nit: with possiblity -> with the possibility
>>
>
>> implemented/finished: is the vagueness necessary because some of these
>> were completed and others not? Otherwise, I prefer the more explicit
>> "implemented and finished".
>
> Changed to: finished the implementation (since "implement the
> implementations" sounds ugly/redundant).
>
>>
>> > +
>> > +  <p>
>> > +    At the end of the program, Mariusz provided a sketch of implementation
>> > +    for HTTP directory listening.
>> > +  </p>
>> > +
>> > +  <h4>Directshow digital video capture, mentee: Mate Sebok, mentor: Roger Pack</h4>
>> > +
>> > +  <p>
>> > +    Mate was working on directshow input from digital video sources. He
>> > +    got working input from ATSC input sources, with specifiable tuner.
>> > +  </p>
>> > +
>> > +  <p>
>> > +    The code has not been committed, but a patch of it was sent to the
>> > +    ffmpeg-devel mailing list for future use.
>> > +  </p>
>> > +
>> > +  <p>
>> > +    The mentor plans on cleaning it up and committing up, at least for the
>> > +    ATSC side of things. Mate and the mentor are still working trying to
>> > +    finally figure out how to get DVB working.
>> > +  </p>
>>
>> committing up - never heard this usage, perhaps "committing it" or
>> even a simple "committing"?
>
> => committing it
>
> [...]
>> > +<h4>libswscale refactoring, mentee: Pedro Arthur, mentors: Michael Niedermayer, Ramiro Polla</h4>
>> > +
>> > +  <p>
>> > +    Pedro Arthur has modlularized the vertical and horizontal scalers.
>> > +    To do this he designed and implemented a generic filter framework
>> > +    and moved the existing scaler code into it. These changes now allow
>> > +    easily adding removing, splitting or merging processing steps.
>> > +    The implementation was benchmarked and several alternatives where
>> > +    tried to avoid speedloss.
>> > +  </p>
>>
>> modl.. -> modularized
>> where tried -> were tried
>>
>> > +
>> > +  <p>
>> > +    He also added gamma correct scaling support.
>> > +    An example to use gamma corrected scaling would be:
>> > +    <pre>
>> > +      ffmpeg -i input -vf scale=512:384:gamma=1 output
>> > +    </pre>
>> > +  </p>
>>
>> gamma correct scaling -> gamma corrected scaling
>>
>> > +
>> > +  <p>
>> > +    Pedro has done impressive work considering the short time available,
>> > +    and he is a FFmpeg comitter now. He continues to contribute to
>> > +    FFmpeg, and has fixed some bugs in libswscale after GSoC has
>> > +    ended.
>> > +  </p>
>>
>> comitter -> committer
>>
>> > +
>> > +  <h4>AAC Encoder Improvements, mentee: Rostislav Pehlivanov, mentor: Claudio Freire</h4>
>> > +
>> > +  <p>
>> > +    Rostislav Pehlivanov has implemented PNS, TNS, I/S coding and main
>> > +    prediction on the native AAC encoder. Of all those extensions, only
>> > +    TNS was left in a less-than-usable state, but the implementation has
>> > +    been pushed (disabled) anyway since it's a good basis for further
>> > +    improvements.
>> > +  </p>
>> > +
>> > +  <p>
>> > +    PNS replaces noisy bands with a single scalefactor representing the
>> > +    energy of that band, gaining in coding efficiency considerably, and
>> > +    the quality improvements on low bitrates are impressive for such a
>> > +    simple feature.
>> > +  </p>
>> > +
>> > +  <p>
>> > +    TNS still needs some polishing, but has the potential to reduce coding
>> > +    artifacts by applying noise shaping in the temporal domain (something
>> > +    that is a source of annoying, notable distortion on low-entropy
>> > +    bands).
>> > +  </p>
>> > +
>> > +  <p>
>> > +    Intensity Stereo coding (I/S) can double coding efficiency by
>> > +    exploiting strong correlation between stereo channels, most effective
>> > +    on pop-style tracks that employ panned mixing. The technique is not as
>> > +    effective on classic X-Y recordings though.
>> > +  </p>
>> > +
>> > +  <p>
>> > +    Finally, main prediction improves coding efficiency by exploiting
>> > +    correlation among successive frames. While the gains have not been
>> > +    huge at this point, Rostislav has remained active even after the GSoC,
>> > +    and is polishing both TNS and main prediction, as well as looking for
>> > +    furhter improvements to make.
>> > +  </p>
>>
>> furhter -> further
>>
>> > +
>> > +  <p>
>> > +    In the process, the MIPS port of the encoder was broken a few times,
>> > +    something he's also working to fix.
>> > +  </p>
>> > +
>> > +  <h4>Animated Portable Network Graphics (APNG), mentee: Donny Yang, mentor: Paul B Mahol</h4>
>> > +
>> > +  <p>
>> > +    Donny Yang implemented basic keyframe only APNG encoder as qualification
>> > +    task, later he wrote kind of interframe compression via various blend
>> > +    modes. Current implementation tries all blend modes and picks one which
>> > +    takes the smallest amount of memory.
>> > +  </p>
>>
>
>> as qualification -> "as the qualification" or "as a qualification"
>> depending on whether the qualification task is unique.
>
> changed to: as the qualification
>
>> change the , before later to a ; (or IMO a . with a fresh sentence)
>> wrote kind of -> vague, ambiguous between "kind of wrote" and "wrote a
>> type of". I think you wanted a "wrote a type of".
>
> removed the "kind of" to the simpler "he wrote interframe compression
> ..."
>
>
>> Current implementation -> The current implementation
>
>
>
>>
>> > +
>> > +  <p>
>> > +    Special care was taken to make sure that the decoder plays correctly
>> > +    all files found in wild and that the encoder produces files that can
>> > +    be played in browsers that support APNG.
>> > +  </p>
>>
>> found in wild -> found in the wild
>>
>> > +
>> > +  <p>
>> > +    During his work he was tasked to fix any encountered bug in the
>> > +    decoder due to the fact that it doesn't match APNG
>> > +    specifications. Thanks to this work, the also long standing bug in the
>> > +    PNG decoder has been fixed.
>> > +  </p>
>>
>> Maybe reference the trac ticket number?
>
>> the also long standing bug -> "a long standing bug" is simpler and
>> conveys the same thing
>
> opted for "a long standing bug .. has been fixed".
>
>
>> > +
>
>> > +  <p>
>> > +    For latter work he plans to continue working on the encoder, making
>> > +    possible to select which blend modes will be used in the encoding
>> > +    process, which could speed up encoding of APNG files.
>> > +  </p>
>>
>> making possible -> making it possible
>
>> remove the ,  add a . and say "This could speed up encoding of APNG files."
>
> Yeah.
>
> [...]
>
> Thanks for the detailed review, updated version attached.

Assuming it is factually accurate (I can only say that it looks
correct from what I saw on ffmpeg-devel), LGTM.

> --
> FFmpeg = Free and Fierce Multipurpose Patchable Eretic Governor
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list