[vlc-devel] [PATCH 00/15] Deinterlace refactoring v4

Steve Lhomme robux4 at videolabs.io
Fri Jun 30 14:19:53 CEST 2017


Following the discussions I changed a few things:
- remove the b_single_field flag, it's actually the opposite of b_double_rate
- use 2 prototypes for the rendering callback depending if it's double rate
  or not.
- rework the deinterlacing mode selection using a table
- move the IVTC timestamp handling in the generic code, via a flag to enable

Steve Lhomme (15):
  video_filter:deinterlace: use an array of metadata rather than the
    array in the metadata
  video_filter:deinterlace: only compute the field duration when needed
  video_filter:deinterlace: make sure we use the same setup for auto and
    X
  video_filter:deinterlace: use a union to store phosphor and ivtc
    parameters
  video_filter:deinterlace: don't use the field parameter in
    RenderDiscard()
  video_filter:deinterlace: move all phosphor handling after
    GetOutputFormat
  video_filter:deinterlace: remove useless fallback values
  video_filter:deinterlace: normalize render callback signatures
  video_filter:deinterlace: use a callback to call do the rendering on a
    field
  video_filter:deinterlace: move some structures in common.h
  video_filter:deinterlace: assume the field duration from the output
    framerate
  video_filter:deinterlace: add function to initialize the deinterlacing
    context
  video_filter:deinterlace: move the deinterlacing parameters in a
    structure
  video_filter:deinterlace: group all algorithms in a table
  video_filter:deinterlace: move the IVTC PTS handling in the common
    code

 modules/video_filter/Makefile.am                 |   3 +-
 modules/video_filter/deinterlace/algo_basic.c    |  31 +-
 modules/video_filter/deinterlace/algo_basic.h    |  16 +-
 modules/video_filter/deinterlace/algo_ivtc.c     |  40 +-
 modules/video_filter/deinterlace/algo_ivtc.h     |   4 +-
 modules/video_filter/deinterlace/algo_phosphor.c |   7 +-
 modules/video_filter/deinterlace/algo_phosphor.h |   2 +-
 modules/video_filter/deinterlace/algo_x.c        |   4 +-
 modules/video_filter/deinterlace/algo_x.h        |   2 +-
 modules/video_filter/deinterlace/algo_yadif.c    |  17 +-
 modules/video_filter/deinterlace/algo_yadif.h    |   5 +
 modules/video_filter/deinterlace/common.c        | 356 ++++++++++++++++
 modules/video_filter/deinterlace/common.h        |  91 ++++-
 modules/video_filter/deinterlace/deinterlace.c   | 496 ++++-------------------
 modules/video_filter/deinterlace/deinterlace.h   |  50 +--
 15 files changed, 607 insertions(+), 517 deletions(-)
 create mode 100644 modules/video_filter/deinterlace/common.c

-- 
2.12.1



More information about the vlc-devel mailing list