X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcodec%2Fcvdsub.c;h=21098b16c438aa8c6e6ef4c9218cc325bc15f72f;hb=46814a092d56e9675ad5096c437bad3ecf965633;hp=adec5547f40d23e8209690f66304e505fbc9f845;hpb=658686029ee756fbf4beb8e0cdcc4b0bc5dd18ed;p=vlc diff --git a/modules/codec/cvdsub.c b/modules/codec/cvdsub.c index adec5547f4..21098b16c4 100644 --- a/modules/codec/cvdsub.c +++ b/modules/codec/cvdsub.c @@ -1,7 +1,7 @@ /***************************************************************************** - * cvd.c : CVD Subtitle decoder + * cvdsub.c : CVD Subtitle decoder ***************************************************************************** - * Copyright (C) 2003, 2004 the VideoLAN team + * Copyright (C) 2003, 2004 VLC authors and VideoLAN * $Id$ * * Authors: Rocky Bernstein @@ -9,19 +9,19 @@ * Julio Sanchez Fernandez (http://subhandler.sourceforge.net) * Laurent Aimar * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ /***************************************************************************** @@ -35,7 +35,7 @@ #include #include -#include "vlc_bits.h" +#include #define DEBUG_CVDSUB 1 @@ -214,7 +214,6 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block ) static block_t *Reassemble( decoder_t *p_dec, block_t *p_block ) { decoder_sys_t *p_sys = p_dec->p_sys; - uint8_t *p_buffer; if( p_block->i_buffer < SPU_HEADER_LEN ) { @@ -224,13 +223,11 @@ static block_t *Reassemble( decoder_t *p_dec, block_t *p_block ) return NULL; } - p_buffer = p_block->p_buffer; - /* From the scant data on the format, there is only only way known * to detect the first packet in a subtitle. The first packet * seems to have a valid PTS while later packets for the same * image don't. */ - if( p_sys->i_state == SUBTITLE_BLOCK_EMPTY && p_block->i_pts == 0 ) + if( p_sys->i_state == SUBTITLE_BLOCK_EMPTY && p_block->i_pts <= VLC_TS_INVALID ) { msg_Warn( p_dec, "first packet expected but no PTS present"); return NULL; @@ -500,7 +497,7 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data ) int i; /* Allocate the subpicture internal data. */ - p_spu = decoder_NewSubpicture( p_dec ); + p_spu = decoder_NewSubpicture( p_dec, NULL ); if( !p_spu ) return NULL; p_spu->i_start = p_data->i_pts; @@ -510,7 +507,8 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data ) /* Create new SPU region */ memset( &fmt, 0, sizeof(video_format_t) ); fmt.i_chroma = VLC_CODEC_YUVP; - fmt.i_aspect = VOUT_ASPECT_FACTOR; + fmt.i_sar_num = 1; + fmt.i_sar_den = 1; fmt.i_width = fmt.i_visible_width = p_sys->i_width; fmt.i_height = fmt.i_visible_height = p_sys->i_height; fmt.i_x_offset = fmt.i_y_offset = 0; @@ -528,7 +526,7 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data ) if( !p_region ) { msg_Err( p_dec, "cannot allocate SPU region" ); - decoder_DeleteSubpicture( p_dec, p_spu ); + subpicture_Delete( p_spu ); return NULL; }