personal repo
C Assembly C++ Makefile Objective-C Shell Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
compat compat/w32pthreads: use the condition variable API directly when targ… Oct 9, 2014
doc pull in latest ffmpeg changes Dec 10, 2014
libavcodec pull in latest ffmpeg changes Dec 10, 2014
libavdevice Merge commit '2c3f29c4894ee50635b846f202296ad79a7c0d33' Dec 10, 2014
libavfilter pull in latest ffmpeg changes Dec 10, 2014
libavformat avformat/yuv4mpegdec: fix "warning: field_order may be used uninitial… Dec 10, 2014
libavresample Merge commit '963f76144897d3f7684d82ec21e51dd50ea1106e' Oct 18, 2014
libavutil Merge commit '780cd20b00a69e26bbfffbb8eec16fbe999ea793' Dec 9, 2014
libpostproc postproc: fix qp count Oct 13, 2014
libswresample x86/swr: add ff_float_to_int32_a_avx2 Nov 7, 2014
libswscale Merge commit '33c827f632f95ffe3399b695a5a0d47b366b6e20' Dec 6, 2014
presets presets: remove moldering iPod presets Jun 18, 2014
tests Merge commit 'd2f1d42b18787e4fcb28864d9d9f701dd64a5747' Dec 9, 2014
tools Merge commit '6f26f14f134e753d6168591f30815b1c08c1498b' Nov 24, 2014
.gitattributes Treat all '*.pnm' files as non-text file Nov 28, 2014
.gitignore gitignore: add test_copy.ffmeta Oct 17, 2014
COPYING.GPLv2 Rename COPYING.GPL --> COPYING.GPLv2 and COPYING.LGPL --> COPYING.LGP… Jun 5, 2009
COPYING.GPLv3 Add configure option to upgrade (L)GPL to version 3. Jun 5, 2009
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. Feb 9, 2012
COPYING.LGPLv3 Add configure option to upgrade (L)GPL to version 3. Jun 5, 2009
CREDITS CREDITS: redirect to Git log, remove current outdated content Jan 31, 2013
Changelog pull in latest ffmpeg changes Dec 10, 2014
INSTALL.md INSTALL: add markdown syntax May 28, 2014
LICENSE.md LICENSE.md: Add tests/reference.pnm Nov 30, 2014
MAINTAINERS MAINTAINERS: add 2.5 Dec 4, 2014
Makefile ffserver: move configuration code to separate file Oct 22, 2014
README.md pull in latest ffmpeg changes Dec 10, 2014
RELEASE RELEASE: Bump Dec 4, 2014
RELEASE_NOTES RELEASE_NOTES: update for 2.5 Dec 3, 2014
arch.mak Merge commit '8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14' Apr 7, 2014
cmdutils.c cmdutils: Exit in case of faulty stream specifiers Nov 17, 2014
cmdutils.h opts: add list device sources/sinks options Oct 25, 2014
cmdutils_common_opts.h opts: add list device sources/sinks options Oct 25, 2014
cmdutils_opencl.c cmdutils_opencl: Use av_malloc_array() Jul 1, 2014
common.mak Merge commit 'afe176265480880e1f702c96a8ba434b0d88728b' May 20, 2014
configure pull in latest ffmpeg changes Dec 10, 2014
ffmpeg.c ffmpeg: drop usage of coded_frame Dec 3, 2014
ffmpeg.h ffmpeg: take bsf arguments from the command line Nov 30, 2014
ffmpeg_dxva2.c Merge commit 'a7c5fddac8137654cb503295c4dfb6492df43643' Apr 29, 2014
ffmpeg_filter.c ffmpeg: fix accurate seeking with -copyts Nov 24, 2014
ffmpeg_opt.c ffmpeg: take bsf arguments from the command line Nov 30, 2014
ffmpeg_vda.c Merge commit '1839fafa951308237c4672ffd9a94f927b26eac7' May 12, 2014
ffmpeg_vdpau.c Merge commit '8de1d67967a9f9e22c66cb0c1e518ae4f30d07dd' Oct 6, 2014
ffplay.c ffplay: fix mem leak when opening input or parsing options fail. Nov 22, 2014
ffprobe.c Set -scan_all_pmts 1 in ffmpeg, ffplay and ffprobe if not set by user. Nov 9, 2014
ffserver.c ffserver: use avcodec_copy_context to copy context Dec 2, 2014
ffserver_config.c ffserver_config: reflow add_codec() Dec 9, 2014
ffserver_config.h ffserver: dont leak child arguments Nov 26, 2014
library.mak Merge commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830' Jul 22, 2014
version.sh version.sh: Print versions based on the last git tag for release bran… Jul 28, 2014

README.md

Personal FFMPEG fork

This fork contains the following extensions to ffmpeg (each in its own branch):

  1. nlmeans - Non-Local Means noise reduction filter.
  2. fieldshift - Horizontally shift fields of interlaced images against each other (useful e.g. for VHS video recovery).
  3. libde265 - Integration of libde265 HEVC video decoder.

Documentation

nlmeans

Parameters:

  • h - averaging weight decay parameter (larger values give smoother videos)
  • range - spatial search range (default=3), should be odd number.
  • temporal - number of frames to include into search (default=2)
  • patchsize - pixel context region width (default=7, little need to change), should be odd number.

The defaults (h=8, range=3, temporal=2) is a good starting point for the restoration of very noisy video (old VHS tapes). You may also try 10/5/3 for really noisy inputs or 6/3/1 for good quality inputs.

The NLMeans filter is under GPL, so be sure to configure with --enable-gpl.

fieldshift

  • offset - pixel offset between successive rows

libde265

Get and install the latest version of libde265 from here: https://github.com/strukturag/libde265

Configure this ffmpeg fork with at least these options:

./configure --enable-libde265 --enable-decoder=libde265 --enable-gpl

The patched ffmpeg can play MKVs containing H.265 streams encoded with the DIVX HEVC encoder. You can download an example stream from their webpage: http://labs.divx.com/node/127909