Go to file
Nicolas George 2dedd8f496 dvdsubenc: make it usable for transcoding.
DVD subtitles packets can only encode a single rectangle:
if there are several, copy them into a big transparent one.

DVD subtitles rely on an external 16-colors palette:
use a reasonable default one, stored in the private context,
and encode it into the extradata, as specified by Matroska.
TODO: allow to change the palette with an option.

Each packet can use four colors out of the global palette.
The old logic was to map transparent colors to the color 0
and all other colors to 3, 2, 1, cyclically in descending
frequency order, completely disregarding the original color.

Select the "best" four colors from the global palette, according
to heuristics based on frequency, opacity and brightness, and
arrange them in standard DVD order: background, foreground,
outline, other.
TODO: select the alpha value more finely; see if CHG_COLCON can
allow more than 4 colors per packet.

Reference:
http://dvd.sourceforge.net/dvdinfo/spu.html

With these changes, dvdsubenc can be used to transcode DVB subtitles
and get a very decent result.
2012-08-14 11:17:45 +02:00
compat Merge remote-tracking branch 'qatar/master' 2012-07-12 23:57:00 +02:00
doc ffmpeg: add an option to fix subtitles durations. 2012-08-14 11:17:45 +02:00
libavcodec dvdsubenc: make it usable for transcoding. 2012-08-14 11:17:45 +02:00
libavdevice lavd/x11grab: deprecate "nomouse" specification in filename 2012-08-08 23:43:37 +02:00
libavfilter lavfi: add hue filter 2012-08-13 12:00:54 +02:00
libavformat asfdec: ignore too tiny indexes 2012-08-14 03:21:08 +02:00
libavresample Merge remote-tracking branch 'qatar/master' 2012-08-12 13:43:03 +02:00
libavutil Merge remote-tracking branch 'qatar/master' 2012-08-13 14:38:43 +02:00
libpostproc Merge remote-tracking branch 'qatar/master' 2012-08-09 19:31:56 +02:00
libswresample Merge remote-tracking branch 'qatar/master' 2012-08-09 19:31:56 +02:00
libswscale Optimized unscaled yuvp9/yuvp10 -> yuvp16 conversion. 2012-08-12 23:23:19 +02:00
mt-work Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85' 2012-08-07 22:45:46 +02:00
presets presets: specify the codecs. 2012-05-04 18:40:36 +02:00
tests fate: split asyncts from aresample test 2012-08-12 18:11:27 +02:00
tools tools: add a script to find missing codec descriptors. 2012-08-13 10:44:59 +02:00
.gitignore Merge remote-tracking branch 'qatar/master' 2012-08-09 00:51:02 +02:00
arch.mak Optimization of AMR NB and WB decoders for MIPS 2012-06-11 21:12:39 +02:00
Changelog lavfi: add hue filter 2012-08-13 12:00:54 +02:00
cmdutils_common_opts.h cmdutils: fix -fdebug without -v xy 2012-04-05 21:50:50 +02:00
cmdutils.c cmdutils: show options in show_help_children only if the context has options 2012-08-10 23:14:44 +02:00
cmdutils.h Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85' 2012-08-07 22:45:46 +02:00
common.mak checkheaders: Rename HEADEROBJS to HOBJS 2012-08-09 05:02:45 +02:00
configure more verbose error messages at configure time 2012-08-14 03:31:50 +02:00
COPYING.GPLv2 Rename COPYING.GPL --> COPYING.GPLv2 and COPYING.LGPL --> COPYING.LGPLv2.1. 2009-06-05 09:51:31 +00:00
COPYING.GPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
CREDITS Revert "partially rename FFmpeg to Libav" 2011-03-17 17:26:45 +01:00
Doxyfile Merge remote-tracking branch 'qatar/master' 2012-08-04 23:51:43 +02:00
ffmpeg_filter.c Merge remote-tracking branch 'qatar/master' 2012-08-09 00:51:02 +02:00
ffmpeg_opt.c ffmpeg: add an option to fix subtitles durations. 2012-08-14 11:17:45 +02:00
ffmpeg.c ffmpeg: add an option to fix subtitles durations. 2012-08-14 11:17:45 +02:00
ffmpeg.h ffmpeg: add an option to fix subtitles durations. 2012-08-14 11:17:45 +02:00
ffplay.c ffplay: avoid SDL_atoi() 2012-08-12 20:05:39 +02:00
ffprobe.c Remove "Error parsing options string [...]" messages. 2012-08-09 08:11:00 +02:00
ffserver.c Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85' 2012-08-07 22:45:46 +02:00
INSTALL Merge remote branch 'qatar/master' 2011-04-08 02:50:13 +02:00
library.mak Merge remote-tracking branch 'qatar/master' 2012-08-09 00:51:02 +02:00
LICENSE Merge remote-tracking branch 'qatar/master' 2012-08-13 14:38:43 +02:00
MAINTAINERS Canopus Lossless decoder 2012-08-01 22:02:19 -04:00
Makefile Merge remote-tracking branch 'qatar/master' 2012-08-10 04:46:13 +02:00
README README: be a tiny bit more verbose 2012-04-06 10:23:26 +02:00
RELEASE RELEASE: update, seem this has been forgotten 2012-07-01 21:21:07 +02:00
version.sh version.sh: handle shallow clones and snapshots. 2011-07-22 10:43:59 +02:00

FFmpeg README
-------------

1) Documentation
----------------

* Read the documentation in the doc/ directory in git.
  You can also view it online at http://ffmpeg.org/documentation.html

2) Licensing
------------

* See the LICENSE file.

3) Build and Install
--------------------

* See the INSTALL file.