[FFmpeg-devel] GSoC Weekly Report (libswscale refactor)

Pedro Arthur bygrandao at gmail.com
Wed Jun 24 19:41:54 CEST 2015


Hi,

I'm working on the libswscale refactoring and Michael advised me to send
the changes to the
mailing list so that I can get more feedback about it. Thus I added the
references [1] - [7] which
are links to commits on my github fork of FFmpeg.

Last week I wrote the horizontal chroma scaling (patches [3]-[7]) code and
spent some time
ensuring it passes all tests.


As we are approaching the midterm I'll also present my scheduling plans.

   - Line pool allocator for SwsSlice
   - Implement ring buffer logic into SwsSlice
   - Implement horizontal scaling (refactor)
   - Implement vertical scaling (refactor)
   - Measure refactor performance/overhead
   - Document new code

The horizontal scaling is already working. I did some tests and initially
the overhead of the new
code is ~3% (measured only in the modified scaling code) which should be
almost 0% for total
program time execution.

For the next week (or 2) I plan to implement the line pool allocator and
the ring buffer logic.

Besides the scheduling list, with the new scaling design I think it is
possible to remove the need
for cascade SwsContexts and also work on some kind of parallelization of
the scaling code. These I should work after finishing the scheduling.

[1] 7efb0fae8ed52b6f841d70c4d8981399da42e7bd
<https://github.com/grandao/FFmpeg/commit/7efb0fae8ed52b6f841d70c4d8981399da42e7bd>
[2] 0b955f28ab1cbba5188e0cbd44c250dc5b526d53
<https://github.com/grandao/FFmpeg/commit/0b955f28ab1cbba5188e0cbd44c250dc5b526d53>
[3] b577b4d388743e6f90f54e65fdb8edddbeaf17de
<https://github.com/grandao/FFmpeg/commit/b577b4d388743e6f90f54e65fdb8edddbeaf17de>
[4] f83a83e8ab97e0fcab2248e828d4fb5433e8bcfe
<https://github.com/grandao/FFmpeg/commit/f83a83e8ab97e0fcab2248e828d4fb5433e8bcfe>
[5] eaf6de8606b698baaeda1ecb9493a240d5b828e9
<https://github.com/grandao/FFmpeg/commit/eaf6de8606b698baaeda1ecb9493a240d5b828e9>
[6] b949d895da80979d44f6525de3a3f9a98118a0a6
<https://github.com/grandao/FFmpeg/commit/b949d895da80979d44f6525de3a3f9a98118a0a6>
[7] 353d20df59075d442e943f00c7fcb8bc7784089b
<https://github.com/grandao/FFmpeg/commit/353d20df59075d442e943f00c7fcb8bc7784089b>


More information about the ffmpeg-devel mailing list