summaryrefslogtreecommitdiff
path: root/src/libspucc/cc_decoder.c
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2004-05-05 17:36:48 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2004-05-05 17:36:48 +0000
commit12b253984720f634ac1574ff9d7238226a558718 (patch)
tree12dd61d9ad2af92a67162540bcda86d9482e588c /src/libspucc/cc_decoder.c
parent96d133c218fa2bce388a0e20dec3eb7760b42073 (diff)
downloadxine-lib-12b253984720f634ac1574ff9d7238226a558718.tar.gz
xine-lib-12b253984720f634ac1574ff9d7238226a558718.tar.bz2
cleanup CC decoder config entries: move them to the class context
CVS patchset: 6487 CVS date: 2004/05/05 17:36:48
Diffstat (limited to 'src/libspucc/cc_decoder.c')
-rw-r--r--src/libspucc/cc_decoder.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/libspucc/cc_decoder.c b/src/libspucc/cc_decoder.c
index fae09339e..ace2b8df3 100644
--- a/src/libspucc/cc_decoder.c
+++ b/src/libspucc/cc_decoder.c
@@ -20,7 +20,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: cc_decoder.c,v 1.24 2003/12/09 00:02:33 f1rmb Exp $
+ * $Id: cc_decoder.c,v 1.25 2004/05/05 17:36:48 mroi Exp $
*
* stuff needed to provide closed captioning decoding and display
*
@@ -286,7 +286,7 @@ struct cc_renderer_s {
metronom_t *metronom; /* the active xine metronom */
- cc_config_t *cc_cfg; /* captioning configuration */
+ cc_state_t *cc_state; /* captioning configuration */
};
@@ -357,7 +357,7 @@ struct cc_decoder_s {
int displayed;
/* configuration and intrinsics of CC decoder */
- cc_config_t *cc_cfg;
+ cc_state_t *cc_state;
metronom_t *metronom;
};
@@ -528,7 +528,7 @@ static void ccrow_set_attributes(cc_renderer_t *renderer, cc_row_t *this,
{
const cc_attribute_t *attr = &this->cells[pos].attributes;
const char *fontname;
- cc_config_t *cap_info = renderer->cc_cfg;
+ cc_config_t *cap_info = renderer->cc_state->cc_cfg;
if (attr->italic)
fontname = cap_info->italic_font;
@@ -544,7 +544,7 @@ static void ccrow_render(cc_renderer_t *renderer, cc_row_t *this, int rownum)
char buf[CC_COLUMNS + 1];
int base_y;
int pos = ccrow_find_next_text_part(this, 0);
- cc_config_t *cap_info = renderer->cc_cfg;
+ cc_config_t *cap_info = renderer->cc_state->cc_cfg;
osd_renderer_t *osd_renderer = renderer->osd_renderer;
/* find y coordinate of caption */
@@ -806,8 +806,8 @@ static void ccmem_exit(cc_memory_t *this)
static void cc_renderer_build_palette(cc_renderer_t *this)
{
int i, j;
- colorinfo_t *cc_text = cc_text_palettes[this->cc_cfg->cc_scheme];
- uint8_t *cc_alpha = cc_alpha_palettes[this->cc_cfg->cc_scheme];
+ colorinfo_t *cc_text = cc_text_palettes[this->cc_state->cc_cfg->cc_scheme];
+ uint8_t *cc_alpha = cc_alpha_palettes[this->cc_state->cc_cfg->cc_scheme];
memset(this->cc_palette, 0, sizeof (this->cc_palette));
memset(this->cc_trans, 0, sizeof (this->cc_trans));
@@ -925,14 +925,14 @@ static void cc_renderer_adjust_osd_object(cc_renderer_t *this)
cc_renderer_t *cc_renderer_open(osd_renderer_t *osd_renderer,
- metronom_t *metronom, cc_config_t *cc_cfg,
+ metronom_t *metronom, cc_state_t *cc_state,
int video_width, int video_height)
{
cc_renderer_t *this = (cc_renderer_t *) xine_xmalloc(sizeof (cc_renderer_t));
this->osd_renderer = osd_renderer;
this->metronom = metronom;
- this->cc_cfg = cc_cfg;
+ this->cc_state = cc_state;
cc_renderer_update_cfg(this, video_width, video_height);
#ifdef LOG_DEBUG
printf("spucc: cc_renderer: open\n");
@@ -972,12 +972,12 @@ void cc_renderer_update_cfg(cc_renderer_t *this_obj, int video_width,
/* find maximum text width and height for normal & italic captioning */
/* font */
- get_font_metrics(this_obj->osd_renderer, this_obj->cc_cfg->font,
- this_obj->cc_cfg->font_size, &fontw, &fonth);
+ get_font_metrics(this_obj->osd_renderer, this_obj->cc_state->cc_cfg->font,
+ this_obj->cc_state->cc_cfg->font_size, &fontw, &fonth);
this_obj->max_char_width = fontw;
this_obj->max_char_height = fonth;
- get_font_metrics(this_obj->osd_renderer, this_obj->cc_cfg->italic_font,
- this_obj->cc_cfg->font_size, &fontw, &fonth);
+ get_font_metrics(this_obj->osd_renderer, this_obj->cc_state->cc_cfg->italic_font,
+ this_obj->cc_state->cc_cfg->font_size, &fontw, &fonth);
this_obj->max_char_width = MAX(fontw, this_obj->max_char_width);
this_obj->max_char_height = MAX(fonth, this_obj->max_char_height);
#ifdef LOG_DEBUG
@@ -1007,11 +1007,11 @@ void cc_renderer_update_cfg(cc_renderer_t *this_obj, int video_width,
if (required_w <= this_obj->video_width &&
required_h <= this_obj->video_height) {
- this_obj->cc_cfg->can_cc = 1;
+ this_obj->cc_state->can_cc = 1;
cc_renderer_adjust_osd_object(this_obj);
}
else {
- this_obj->cc_cfg->can_cc = 0;
+ this_obj->cc_state->can_cc = 0;
cc_renderer_free_osd_object(this_obj);
printf("spucc: required captioning area %dx%d exceeds screen %dx%d!\n"
" Captions disabled. Perhaps you should choose a smaller"
@@ -1052,13 +1052,13 @@ static void cc_hide_displayed(cc_decoder_t *this)
printf("cc_decoder: cc_hide_displayed\n");
#endif
- if (cc_renderer_on_display(this->cc_cfg->renderer)) {
- int64_t vpts = cc_renderer_calc_vpts(this->cc_cfg->renderer, this->pts,
+ if (cc_renderer_on_display(this->cc_state->renderer)) {
+ int64_t vpts = cc_renderer_calc_vpts(this->cc_state->renderer, this->pts,
this->f_offset);
#ifdef LOG_DEBUG
printf("cc_decoder: cc_hide_displayed: hiding caption %u at vpts %u\n", this->capid, vpts);
#endif
- cc_renderer_hide_caption(this->cc_cfg->renderer, vpts);
+ cc_renderer_hide_caption(this->cc_state->renderer, vpts);
}
}
@@ -1070,13 +1070,13 @@ static void cc_show_displayed(cc_decoder_t *this)
#endif
if (cc_onscreen_displayable(this)) {
- int64_t vpts = cc_renderer_calc_vpts(this->cc_cfg->renderer, this->pts,
+ int64_t vpts = cc_renderer_calc_vpts(this->cc_state->renderer, this->pts,
this->f_offset);
#ifdef LOG_DEBUG
printf("cc_decoder: cc_show_displayed: showing caption %u at vpts %u\n", this->capid, vpts);
#endif
this->capid++;
- cc_renderer_show_caption(this->cc_cfg->renderer,
+ cc_renderer_show_caption(this->cc_state->renderer,
&this->on_buf->channel[this->on_buf->channel_no],
vpts);
}
@@ -1443,11 +1443,11 @@ void decode_cc(cc_decoder_t *this, uint8_t *buffer, uint32_t buf_len,
-cc_decoder_t *cc_decoder_open(cc_config_t *cc_cfg)
+cc_decoder_t *cc_decoder_open(cc_state_t *cc_state)
{
cc_decoder_t *this = (cc_decoder_t *) xine_xmalloc(sizeof (cc_decoder_t));
/* configfile stuff */
- this->cc_cfg = cc_cfg;
+ this->cc_state = cc_state;
ccmem_init(&this->buffer[0]);
ccmem_init(&this->buffer[1]);