FFmpeg git repo
Go to file
Matthew Fearnley 0321370601 libavcodec/zmbvenc: Add support for RGB formats
This consists mostly of the following changes:
- add newly supported pixel formats (RGB555LE, RGB565LE, BGR0)
- select the ZMBV format (c->fmt) and bytes per pixel (c->bypp) based on
  avctx->pix_fmt
- multiply widths/x-values by c->bypp, in places where bytes, not pixels, are
  expected
- disable palette-writing code for non-palette pix_fmts
- make a note about histogram[]'s datatype (it could need increasing if
  ZMBV_BLOCK is increased)
- adjust the c->score_tab length to take up to (and including) 4 times the
  number of pixels in a block
- initialise c->score_tab up to c->bypp * the number of pixels

Note: the ZmbvFormat enum allows for additional bit depths:
- 1,2,4-bit (palette)
- 24-bit (RGB)

At time of writing the specifics of these (e.g. channel order, bit alignment)
are not currently defined, and DOSBox only implements support for 8/15/16/32
bpp.
One might expect the 24-bit format - if implemented - to be BGR24, to have the
same channel order as BGR0.
However, the decoder in zmbv.c has been guessed to use RGB24, so I have chosen
to not contradict this, and omitted specific support for this format.
2019-03-14 11:04:47 +01:00
compat additional math.h functions for djgpp 2018-11-28 22:16:07 +11:00
doc avformat/mxfenc: allow user comments for opatom muxer 2019-03-13 12:39:51 +01:00
ffbuild Merge commit '7e5bde93a1e7641e1622814dafac0be3f413d79b' 2019-03-10 19:31:13 -03:00
fftools Merge commit '7e5bde93a1e7641e1622814dafac0be3f413d79b' 2019-03-10 19:31:13 -03:00
libavcodec libavcodec/zmbvenc: Add support for RGB formats 2019-03-14 11:04:47 +01:00
libavdevice libavdevice/gdigrab: fix HIDPI support for mouse positioning 2019-01-30 21:55:22 +01:00
libavfilter vf_showinfo: Fix timecode display 2019-03-09 18:42:34 +00:00
libavformat avformat/rtpdec.h remove unused variable 2019-03-13 12:54:30 +01:00
libavresample avresample: remove deprecated attribute from the AVAudioResampleContext struct 2018-01-09 10:56:53 -03:00
libavutil avcodec/mips: [loongson] mmi optimizations for VP9 put and avg functions 2019-02-27 01:51:40 +01:00
libpostproc postproc/postprocess_template: remove FF_REG_sp from clobber list 2018-12-22 17:41:44 +01:00
libswresample Bump minor version for master after 4.1 branchpoint 2018-11-02 00:53:07 +01:00
libswscale libswscale/ppc: VSX-optimize 9-16 bit yuv2planeX 2019-02-05 09:34:53 +02:00
presets
tests fate/mxf: add mxf user comments tests 2019-03-13 12:39:51 +01:00
tools Merge commit '7e5bde93a1e7641e1622814dafac0be3f413d79b' 2019-03-10 19:31:13 -03:00
.gitattributes
.gitignore Remove the ffserver program 2018-01-06 18:31:37 +00:00
.travis.yml Merge commit '4809781586d1c956005f72946a2aab5915eab350' 2017-10-28 15:08:31 -03:00
Changelog avcodec/version: Bump micro-version for nvdec/cuviddec changes 2019-02-16 10:43:24 -08:00
configure avcodec/libdav1d: route dav1d internal logs through av_log() 2019-03-12 19:07:50 -03:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL.md INSTALL.md: Fix Markdown formatting 2019-01-31 10:29:16 -09:00
LICENSE.md
MAINTAINERS MAINTAINERS: remove myself as a docs & trac maintainer 2019-02-22 10:57:26 -09:00
Makefile Merge commit '7e5bde93a1e7641e1622814dafac0be3f413d79b' 2019-03-10 19:31:13 -03:00
README.md Remove the ffserver program 2018-01-06 18:31:37 +00:00
RELEASE RELEASE: bump to 4.1.git 2018-11-02 00:55:49 +01:00

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect multimedia content.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process and will be ignored.