p_spu = p_dec->pf_spu_buffer_new( p_dec );
if( !p_spu ) return NULL;
- p_spu->b_pausable = true;
-
- p_spu->i_x = p_sys->i_x_start;
- p_spu->i_y = p_sys->i_y_start;
p_spu->i_start = p_data->i_pts;
p_spu->i_stop = p_data->i_pts + p_sys->i_duration;
p_spu->b_ephemer = true;
p_region->fmt.i_aspect = VOUT_ASPECT_FACTOR;
p_spu->p_region = p_region;
- p_region->i_x = p_region->i_y = 0;
+ p_region->i_x = p_sys->i_x_start;
+ p_region->i_y = p_sys->i_y_start;
/* Build palette */
fmt.p_palette->i_entries = 4;
subpicture_region_t *p_region )
{
decoder_sys_t *p_sys = p_dec->p_sys;
- uint8_t *p_dest = p_region->picture.Y_PIXELS;
+ uint8_t *p_dest = p_region->p_picture->Y_PIXELS;
int i_field; /* The subtitles are interlaced */
int i_row, i_column; /* scanline row/column number */
uint8_t i_color, i_count;
if( i_color == 0 && (i_count = bs_read( &bs, 2 )) )
{
i_count = __MIN( i_count, p_sys->i_width - i_column );
- memset( &p_dest[i_row * p_region->picture.Y_PITCH +
+ memset( &p_dest[i_row * p_region->p_picture->Y_PITCH +
i_column], 0, i_count + 1 );
i_column += i_count;
continue;
}
- p_dest[i_row * p_region->picture.Y_PITCH + i_column] = i_color;
+ p_dest[i_row * p_region->p_picture->Y_PITCH + i_column] = i_color;
}
bs_align( &bs );