[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