Commit 0981604c authored by Laurent Aimar's avatar Laurent Aimar

* all: ported/cleaned up/renabled dvb subtitle decoder. But it is untested.

 (I have no sample at all)
parent 5bab317b
dnl Autoconf settings for vlc
dnl $Id: configure.ac,v 1.119 2003/11/23 18:40:09 fenrir Exp $
dnl $Id: configure.ac,v 1.120 2003/11/24 02:35:50 fenrir Exp $
AC_INIT(vlc,0.6.3-cvs)
......@@ -867,7 +867,7 @@ dnl default modules
dnl
AX_ADD_PLUGINS([dummy rc logger gestures memcpy hotkeys])
AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ts avi asf aac mp4 rawdv])
AX_ADD_PLUGINS([spudec mpeg_audio lpcm a52 dts cinepak])
AX_ADD_PLUGINS([spudec dvbsub mpeg_audio lpcm a52 dts cinepak])
AX_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur])
AX_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32])
AX_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler])
......
......@@ -2,7 +2,7 @@
* vlc_es.h
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: vlc_es.h,v 1.4 2003/11/24 00:39:00 fenrir Exp $
* $Id: vlc_es.h,v 1.5 2003/11/24 02:35:50 fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
......@@ -92,6 +92,11 @@ struct subs_format_t
/* FIXME */
uint32_t palette[16+1];
} spu;
struct
{
int i_id;
} dvb;
};
/**
......
......@@ -16,3 +16,4 @@ SOURCES_rawvideo = rawvideo.c
SOURCES_quicktime = quicktime.c
SOURCES_subsdec = subsdec.c
SOURCES_faad = faad.c
SOURCES_dvbsub = dvbsub.c
This diff is collapsed.
......@@ -2,7 +2,7 @@
* input_dec.c: Functions for the management of decoders
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: input_dec.c,v 1.76 2003/11/24 00:39:02 fenrir Exp $
* $Id: input_dec.c,v 1.77 2003/11/24 02:35:50 fenrir Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Gildas Bazin <gbazin@netcourrier.com>
......@@ -407,17 +407,25 @@ static decoder_t * CreateDecoder( input_thread_t * p_input,
p_dec->fmt_in.video.i_width = p_bih->biWidth;
p_dec->fmt_in.video.i_height = p_bih->biHeight;
}
/* FIXME
* - 1: beurk
* - 2: I'm not sure there isn't any endian problem here ... */
if( p_es->i_cat == SPU_ES &&
( p_es->i_fourcc == VLC_FOURCC( 's', 'p', 'u', ' ' ) ||
p_es->i_fourcc == VLC_FOURCC( 's', 'p', 'u', 'b' ) ) &&
p_es->p_demux_data &&
*((uint32_t*)p_es->p_demux_data) == 0xBeef )
* - 2: I'm not sure there isn't any endian problem here (spu)... */
if( p_es->i_cat == SPU_ES && p_es->p_demux_data )
{
memcpy( p_dec->fmt_in.subs.spu.palette,
p_es->p_demux_data, 17 * 4 );
if( ( p_es->i_fourcc == VLC_FOURCC( 's', 'p', 'u', ' ' ) ||
p_es->i_fourcc == VLC_FOURCC( 's', 'p', 'u', 'b' ) ) &&
*((uint32_t*)p_es->p_demux_data) == 0xBeef )
{
memcpy( p_dec->fmt_in.subs.spu.palette,
p_es->p_demux_data, 17 * 4 );
}
else if( p_es->i_fourcc == VLC_FOURCC( 'd', 'v', 'b', 's' ) )
{
dvb_spuinfo_t *p_dvbs = (dvb_spuinfo_t*)p_es->p_demux_data;
p_dec->fmt_in.subs.dvb.i_id = p_dvbs->i_id;
}
}
p_dec->fmt_in.i_cat = p_es->i_cat;
......@@ -464,8 +472,6 @@ static int DecoderThread( decoder_t * p_dec )
/* The decoder's main loop */
while( !p_dec->b_die && !p_dec->b_error )
{
int i_size;
if( ( p_block = block_FifoGet( p_dec->p_owner->p_fifo ) ) == NULL )
{
p_dec->b_error = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment