• Sigmund Augdal Helberg's avatar
    All: My shot at improving subtitle rendering in vlc. Now each vout uses a... · 14b3f0cf
    Sigmund Augdal Helberg authored
    All: My shot at improving subtitle rendering in vlc. Now each vout uses a "text renderer" module to render text on the video when needed. I decieded to make this a module type, because other api's (win32 and macosx) is supposed to do better than freetype under some circumstances.
    
    include/video_output.h: added some members needed by text renderer modules
    src/video_output/video_output.c: load and unload text renderer module when needed
    src/video_output/video_text.c: implemented some functions to show text on the video
    include/osd.h: exported the functions to show text
    modules/misc/Modules.am, module/misc/freetype.c: new text renderer module, largly based on the old osdtext module.
    modules/video_filter/Modules.am, modules/video_filter/osd_text.c: removed the osdtext module
    configure.ac: changes "osdtext" to "freetype" some places
    modules/codec/spudec/*: when iconv is available, use it to convert textual subtitles from the encoding given by --sub-encoding to utf8. Use new code to render subtitles
    modules/control/lirc/lirc.c: use new code to give feedback on buttons pressed. untested.
    modules/demux/util/sub.c: remove all traces of the ugly old osdtext module
    modules/misc/dummy/*: added a "text renderer" submodule in the dummy module
    src/misc/modules.c: included osd.h as it seems to be needed to export symbols
    
    
    final notes: you need to give a proper value to --freetype-font. This should be the path to a font file freetype2 can handle (almost any format afaik) with a unicode translation table in it. Windows ttf files will do. In linux at least openoffice distributes some fonts that work. I think macosx and beos also has useable fonts.
    
    14b3f0cf
Name
Last commit
Last update
..
vlc Loading commit data...
.cvsignore Loading commit data...
announce.h Loading commit data...
aout_internal.h Loading commit data...
audio_output.h Loading commit data...
beos_specific.h Loading commit data...
codecs.h Loading commit data...
configuration.h Loading commit data...
darwin_specific.h Loading commit data...
encoder.h Loading commit data...
httpd.h Loading commit data...
input_ext-dec.h Loading commit data...
input_ext-intf.h Loading commit data...
input_ext-plugins.h Loading commit data...
intf_eject.h Loading commit data...
iso_lang.h Loading commit data...
main.h Loading commit data...
mmx.h Loading commit data...
modules.h Loading commit data...
modules_inner.h Loading commit data...
mtime.h Loading commit data...
network.h Loading commit data...
os_specific.h Loading commit data...
osd.h Loading commit data...
stream_control.h Loading commit data...
stream_output.h Loading commit data...
variables.h Loading commit data...
video_output.h Loading commit data...
vlc_common.h Loading commit data...
vlc_config.h Loading commit data...
vlc_cpu.h Loading commit data...
vlc_error.h Loading commit data...
vlc_interface.h Loading commit data...
vlc_messages.h Loading commit data...
vlc_objects.h Loading commit data...
vlc_playlist.h Loading commit data...
vlc_threads.h Loading commit data...
vlc_threads_funcs.h Loading commit data...
vlc_video.h Loading commit data...
vout_synchro.h Loading commit data...
win32_specific.h Loading commit data...