[vlc-devel] Deinterlacer TODO / JJ (updated)

Juha Jeronen juha.jeronen at jyu.fi
Wed Mar 16 23:12:24 CET 2011

Hi all,

Just keeping everyone up to date on this. The general plan is:

0) Finish the Phosphor patch.

1) Rewrite IVTC. Add a 2x mode. The rest of the details are as before, and can be found in my post on 18th of February.

2) Refactor the deinterlacer module. See below.

3) Document the deinterlacer for programmers and end-users?

Refactor plan: taking into account the latest comments and the "reworked += 4" version of the Phosphor patch, the refactor TODO list for the deinterlacer module currently looks as follows:

- Make a subdirectory (in video_filter), move deinterlace.c there
- Update Modules.am
- Keep general stuff in deinterlace.c
- Keep general-use data in filter_sys_t
- Move filter_sys_t to header
- Move each algorithm into its own file
- Move general-use helper functions into one file
- Move private data into private structs; add init/uninit API
- Use an enum instead of a bunch of #defines for the modes.
- In all modes, loop over y instead of p_out.
- Use the new helper function (PlaneToFieldPlane()) where possible. This applies at least to Bob, Linear and Discard.
- Make a field/plane merge helper function and use it in all modes/functions that can be simplified using one. At least ComposeFrame() and Linear would benefit, and maybe also Mean and Blend.
- Wrap the code to 79 columns or less.
- Doxygenize comments.


More information about the vlc-devel mailing list