subtitles: add framework for subtitle decoders

Add a framework for subtitle decoder modules that work more like
audio/video decoders do, and change libass rendering of demuxed
subtitles to use the new framework.

The old subtitle code is messy, with details specific to handling
particular subtitle types spread over high-level code. This should
make it easier to clean things up and fix some bugs/limitations.
This commit is contained in:
Uoti Urpala
2011-01-16 20:03:08 +02:00
parent 8636eb77c5
commit e990fb2ffe
10 changed files with 244 additions and 55 deletions

16
sub/sd.h Normal file
View File

@@ -0,0 +1,16 @@
#ifndef MPLAYER_SD_H
#define MPLAYER_SD_H
struct osd_state;
struct sh_sub;
struct sd_functions {
void (*init)(struct sh_sub *sh, struct osd_state *osd);
void (*decode)(struct sh_sub *sh, struct osd_state *osd,
void *data, int data_len, double pts, double duration);
void (*reset)(struct sh_sub *sh, struct osd_state *osd);
void (*switch_off)(struct sh_sub *sh, struct osd_state *osd);
void (*uninit)(struct sh_sub *sh);
};
#endif