mdsh.com/wiki


RecentChanges

TextFormattingRules
AllWikiTopics
OrphanedWikiTopics
ToDoWikiTopics
WikiLockList
RSS
Export2HTML

WikiSearch

SetUsername

StartingPoints
Home
FFmbc 0.7 @Jan 2, 2013 12:19:09 PM

FFmbc

Patches for FFmbc 0.7 rc7

ff_fill_rgba_map() in drawutils


Some of the patches below require the ff_fill_rgba_map() call, so I've added it to libavfilter/drawutils (like it is in FFmpeg)

ff_fill_rgba_map() in drawutils: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_drawutils_add_ff_fill_rgba_map_2012112501.patch

Martin Weston three field deinterlace filter


Based on a process described by BBC R&D and implemented based on a de-interlacing algorithm written by BBC R&D, the Weston 3 field de-interlacing filter uses carefully calculated filter coefficients provided by BBC R&D to accurately deinterlace an interlaced video.

The US patent is available for Martin Weston's three field deinterlacer: http://neuron2.net/misc/USP4789893.pdf

The EU patent record can be viewed here: https://register.epo.org/espacenet/application?number=EP87308892

The output of the w3fdif filter is similar to the output of the yadif filter, but:
  • the w3fdif filter output is sharper than yadif
  • the w3fdif filter handles diagonals better than yadif
Unfortunately, since the w3fdif filter is doing a lot of processing it is a tiny bit slower that yadif, patches for some more optimisation would be welcomed.

w3fdif filter: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_w3fdif_2012112501.patch

Stretch4to3 and Squeeze4to3


Based on an algorithm written by BBC R&D and using the carefully calculated filter coefficients provided by BBC R&D, these filters are designed to stretch or squeeze video while preserving the quality.

The filters are designed for converting to or from anamorphic video, for instance converting 1440x1080 HD video to 1920x1080 HD video, converting 1920x1080 HD video to 1440x1080 HD video, or pillar-boxing 4:3 video into a 16:9 frame.

stretch4to3 and squeeze4to3 filters are in one patch: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_stretch4to3_2012112501.patch

Note: this code requires a clean-up, as I've left lots of av_log() statements, use while debugging the code, commented out.

Temporal Interlace


This is a port of the tinterlace filter from FFmpeg as-of 1st Jan 2013.

The port includes a vertical low-pass filter to the tinterlace filter process. The vertical low-pass filter is specified by BBC R&D for use when converting progressive media into interlaced media.

Vertical low-pass filtering is required when creating an interlaced destination from a progressive source which contains high-frequency vertical detail. Filtering will reduce interlace 'twitter' and Moire patterning.

tinterlace filter: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_vf_tinterlace_filter20130101.diff

Fade


Port my patch for fading alpha from FFmpeg.

Note: requires the ff_fill_rgba_map() in drawutils patch from above

fade filter: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_fade_2012112501.patch

Overlay


Port Stefano Sabatini's version of my additions to overlay filter, for unpremultiplied RGBA, and add my additions for unpremultiplied yuva420p - a version of which was posted to the email group ffmpeg-devel on 25th November 2012.

Note: requires the ff_fill_rgba_map() in drawutils patch from above

overlay filter: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_overlay_2012112501.patch

DNxHD in MXF


This patch puts DNxHD into MXF. It is scraped from the recent FFmpeg updates.

Limited testing has been done, but EVS systems have accepted the media, which is all that we needed.

DNxHD in MXF: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_DNxHD-in-MXF.patch

The below filters are Work In Progress

Waveform monitor


Note: Early access to a work in progress.

This filter turns your video into a waveform monitor view. Using the split filter and the overlay filter you can superimpose the waveform monitor on top of your video.

waveformmonitor filter: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_waveformmonitor_2012112501.patch

Note: this code is very early in its life.

As an example, using this command I can output a waveform representation of a file:

ffmbc -i INPUT.AVI -vf wfm_luma,scale=256:256 -aspect 1:1 -f yuv4mpegpipe - | ffplay -



Repeat Frame


Note: Very early access to a work in progress.

This filter is designed to create a continuous stream of frames, at a required FPS, from a single frame input.

Without this filter it appears to be impossible to use the fade filter on a PNG or TIF file's output, which means without this filter I could not fade a DOG on and off of a video stream.

Note: this code is very early in its life.

repeat frame filter: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_repeatframe_2012112501.patch


FFmbc 0.7 TODO

VeryQuickWiki Version 2.8.1 | Admin

All contents copyright mdsh.com (C) 2011-2023.