mdsh.com/wiki


RecentChanges

TextFormattingRules
AllWikiTopics
OrphanedWikiTopics
ToDoWikiTopics
WikiLockList
RSS
Export2HTML

WikiSearch

SetUsername

StartingPoints
Home
ffmbc 0.7

FFmbc

Patches for FFmbc 0.7


09-MAY-2014 vf_framerate: fix calculation of 'interpolate' value

And add some more debug logging, which is turned off at compile time.

http://mdsh.com/patches/ffmbc_0.7/FFmbc_0.7_vf_framerate_interpolate_and_debug.patch

08-MAY-2014 configure: fix pkg_config test around libx264


http://mdsh.com/patches/ffmbc_0.7/FFmbc_0.7_configure_pkg-config.patch

08-MAY-2014 isom: include PCM_S16BE


http://mdsh.com/patches/ffmbc_0.7/FFmbc_0.7_isom_pcm.patch

This is the same patch going into FFmpeg:
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=360022bd3b894cc01ea112b275fa4c8f53881808

08-MAY-2014 vf_framerate: fix unititalised variable

And add more compile time logging.
And turn off compile time debug logging.

http://mdsh.com/patches/ffmbc_0.7/FFmbc_0.7_vf_framerate_unititalised_and_debug.patch

08-MAY-2014 vf_w3fdif: remove unused switch clauses

And add default clauses with asserts - the defaults should never be run

http://mdsh.com/patches/ffmbc_0.7/FFmbc_0.7_vf_w3fdif_unused_and_debug.patch

08-MAY-2014 vf_stretch4to3: add and turn off code level debug logging


http://mdsh.com/patches/ffmbc_0.7/FFmbc_0.7_vf_stretch4to3_debug.patch

08-MAY-2014 vf_overlay: turn off code level debug logging


http://mdsh.com/patches/ffmbc_0.7/FFmbc_0.7_vf_overlay_debug.patch



Patches for FFmbc 0.7 rc8


NEW: framerate converter


Note: this is identical to the version in rc7 below.

Note: Early access to a work in progress - although this filter is being used in current broadcast situations to get 29.97 FPS media on air in HD at 25 FPS in the UK.

This filter is designed to change the frame rate by interpolating new video output frames from the source frames.

This filter is not designed to function correctly with interlaced media. If you wish to change the frame rate of interlaced media then you are required to deinterlace before this filter and re-interlace after this filter. The Martin Weston three field deinterlace filter (w3fdif) is a good choice - it is the deinterlace filter we use.

Note: this code is relatively early in its life, hence it's FULL of debug printing.

New framerate frame filter: http://mdsh.com/patches/ffmbc_0.7rc8/FFmbc-0.7-rc8_vf_framerate-2013051301.patch

PATCH: increase the number of audio channels that can be resampled


FFmbc 0.7 rc8 can only resample 8 channels of audio. We need to resample 16 channels, to enable resampling for all 16 HD-SDI channels. This patch implements that - but does not change the current resampling of stereo to mono, mono to stereo, and surround to stereo.

resample up to 16 audio channels patch: http://mdsh.com/patches/ffmbc_0.7rc8/FFmbc-0.7-rc8_resample_16_channel.patch

PATCH: increase logging for invalid intra matrix on MPEG 2


This patch just changes a log line to explain slightly more what a problem is and how its being ignored.

MPEG 2 intra matrix patch: http://mdsh.com/patches/ffmbc_0.7rc8/FFmbc-0.7-rc8_mpeg12_intra_matrix_log.patch

BUG: Fieldorder filter doesn't set fieldorder flag early enough


Fieldorder filter sets the fop/bottom field first flag too late for filters further down the chain. The flag is being set in end_frame() but it should be set in start_frame(). This patch fixes the problem.

fieldorder patch: http://mdsh.com/patches/ffmbc_0.7rc8/FFmbc-0.7-rc8_vf_fieldorder_2013042701.patch

BUG: Temporal Interlace filter can cause segfault


Tinterlace filter sets a pointer in it's source filter to null, which will cause a segfault if the source filter use that pointer (luckily many filters do not use that pointer).

Note: this bug was introduced in the patch for rc7 below. Sorry.

tinterlace patch: http://mdsh.com/patches/ffmbc_0.7rc8/FFmbc-0.7-rc8_vf_tinterlace_2013042701.patch

BUG: Fade filter accepts the ''alpha'' parameter but ignores it


Fade filter in rc8 is a major rewrite which is not a like-for-like replacement of the version I included below, or a like-for-like replacement for that which is in FFmpeg.

example command line using RGBA:
ffmbc -loglevel debug -i 16x9clock10secs.mov -vf "movie=Kickabout_strap.mov,scale=iw:ih:interl=1,format=rgba,fade=in:25:25:alpha=1,fade=out:200:25:alpha=1[strap];[in]scale=iw:ih:interl=1,format=rgb24,[strap]overlay=0:0:rgb=1,scale=iw:ih:interl=1,format=yuv420p[out]" -vcodec dvvideo -acodec pcm_s16le -y out.mov 

example command line using YUVA:
ffmbc -loglevel debug -i 16x9clock10secs.mov -vf "movie=Kickabout_strap.mov,scale=iw:ih:interl=1,format=yuva420p,fade=in:25:25:alpha=1,fade=out:200:25:alpha=1[strap];[in]scale=iw:ih:interl=1,format=yuv420p,[strap]overlay=0:0,scale=iw:ih:interl=1,format=yuv420p[out]" -vcodec dvvideo -acodec pcm_s16le -y out.mov 


fade alpha patch: http://mdsh.com/patches/ffmbc_0.7rc8/FFmbc-0.7-rc8_vf_fade_2013042701.patch



Patches for FFmbc 0.7 rc7

BUG: Fieldorder filter doesn't set fieldorder flag early enough


Fieldorder filter sets the fop/bottom field first flag too late for filters further down the chain. The flag is being set in end_frame() but it should be set in start_frame(). This patch fixes the problem.

fieldorder patch: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_vf_fieldorder_2013042401.patch

PATCH: 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 patch: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_drawutils_add_ff_fill_rgba_map_2012112501.patch

NEW: 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.

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

NEW: 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.

New stretch4to3 and squeeze4to3 filters: 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.

PATCH: 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 patch: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_vf_tinterlace_filter20130101.diff

PATCH: Fade


Port my patch for fading alpha from FFmpeg.

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

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

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 patch: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_overlay_2012112501.patch

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 patch: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_DNxHD-in-MXF.patch

The below filters are Work In Progress


NEW: Framerate

Note: Early access to a work in progress - although this filter is being used in current broadcast situations to get 29.97 FPS media on air in HD at 25 FPS in the UK.

This filter is designed to change the frame rate by interpolating new video output frames from the source frames.

This filter is not designed to function correctly with interlaced media. If you wish to change the frame rate of interlaced media then you are required to deinterlace before this filter and re-interlace after this filter. The Martin Weston three field deinterlace filter (w3fdif) above is a good choice - it is the deinterlace filter we use.

Note: this code is very early in its life.

New framerate frame filter: http://mdsh.com/patches/ffmbc_0.7rc7/FFmbc-0.7-rc7_vf_framerate_2013051301.patch

NEW: 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.

New 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 -



NEW: 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.

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


FFmbc 0.7 TODO

ffmbc 0.7 is mentioned on: FFmbc


VeryQuickWiki Version 2.8.1 | Admin

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