From 33bf3f9a1d3a0a112c2244a4cd73a09df698ec8f Mon Sep 17 00:00:00 2001 From: Gildas Bazin Date: Mon, 8 Mar 2004 13:54:49 +0000 Subject: [PATCH] * ffmpeg/video.c: got rid of the --ffmpeg-truncated option. --- modules/codec/ffmpeg/demux.c | 2 +- modules/codec/ffmpeg/ffmpeg.c | 2 -- modules/codec/ffmpeg/ffmpeg.h | 4 ---- modules/codec/ffmpeg/video.c | 26 ++++++++++++++------------ 4 files changed, 15 insertions(+), 19 deletions(-) diff --git a/modules/codec/ffmpeg/demux.c b/modules/codec/ffmpeg/demux.c index e5233a0a5c..c590b42745 100644 --- a/modules/codec/ffmpeg/demux.c +++ b/modules/codec/ffmpeg/demux.c @@ -2,7 +2,7 @@ * demux.c: demuxer using ffmpeg (libavformat). ***************************************************************************** * Copyright (C) 2004 VideoLAN - * $Id: demux.c,v 1.4 2004/01/25 21:39:37 gbazin Exp $ + * $Id$ * * Authors: Laurent Aimar * Gildas Bazin diff --git a/modules/codec/ffmpeg/ffmpeg.c b/modules/codec/ffmpeg/ffmpeg.c index 739c4ab7fa..33a3fd4863 100644 --- a/modules/codec/ffmpeg/ffmpeg.c +++ b/modules/codec/ffmpeg/ffmpeg.c @@ -87,8 +87,6 @@ vlc_module_begin(); VLC_FALSE ); add_bool( "ffmpeg-hurry-up", 0, NULL, HURRYUP_TEXT, HURRYUP_LONGTEXT, VLC_FALSE ); - add_integer( "ffmpeg-truncated", 0, NULL, TRUNC_TEXT, TRUNC_LONGTEXT, - VLC_FALSE ); #ifdef LIBAVCODEC_PP add_integer( "ffmpeg-pp-q", 0, NULL, PP_Q_TEXT, PP_Q_LONGTEXT, VLC_FALSE ); diff --git a/modules/codec/ffmpeg/ffmpeg.h b/modules/codec/ffmpeg/ffmpeg.h index 5165347702..c6cdcc6f6a 100644 --- a/modules/codec/ffmpeg/ffmpeg.h +++ b/modules/codec/ffmpeg/ffmpeg.h @@ -102,10 +102,6 @@ void E_(ClosePostproc)( decoder_t *, void * ); "when there is not enough time. It's useful with low CPU power " \ "but it can produce distorted pictures.") -#define TRUNC_TEXT N_("Truncated stream") -#define TRUNC_LONGTEXT N_("Truncated stream "\ - "-1: auto, 0: disable, 1: enable") - #define PP_Q_TEXT N_("Post processing quality") #define PP_Q_LONGTEXT N_( \ "Quality of post processing. Valid range is 0 to 6\n" \ diff --git a/modules/codec/ffmpeg/video.c b/modules/codec/ffmpeg/video.c index 5ad32552aa..66336dfcb7 100644 --- a/modules/codec/ffmpeg/video.c +++ b/modules/codec/ffmpeg/video.c @@ -2,7 +2,7 @@ * video.c: video decoder using the ffmpeg library ***************************************************************************** * Copyright (C) 1999-2001 VideoLAN - * $Id: video.c,v 1.68 2004/03/01 22:35:55 fenrir Exp $ + * $Id$ * * Authors: Laurent Aimar * Gildas Bazin @@ -232,11 +232,6 @@ int E_(InitVideoDec)( decoder_t *p_dec, AVCodecContext *p_context, var_Get( p_dec, "grayscale", &val ); if( val.b_bool ) p_sys->p_context->flags |= CODEC_FLAG_GRAY; - /* Decide if we set CODEC_FLAG_TRUNCATED */ - var_Create( p_dec, "ffmpeg-truncated", VLC_VAR_INTEGER|VLC_VAR_DOINHERIT ); - var_Get( p_dec, "ffmpeg-truncated", &val ); - if( val.i_int > 0 ) p_sys->p_context->flags |= CODEC_FLAG_TRUNCATED; - /* ***** ffmpeg frame skipping ***** */ var_Create( p_dec, "ffmpeg-hurry-up", VLC_VAR_BOOL | VLC_VAR_DOINHERIT ); var_Get( p_dec, "ffmpeg-hurry-up", &val ); @@ -295,7 +290,8 @@ int E_(InitVideoDec)( decoder_t *p_dec, AVCodecContext *p_context, memcpy( &p[12], p_dec->fmt_in.p_extra, i_size ); /* Now remove all atoms before the SMI one */ - if( p_sys->p_context->extradata_size > 0x5a && strncmp( &p[0x56], "SMI ", 4 ) ) + if( p_sys->p_context->extradata_size > 0x5a && + strncmp( &p[0x56], "SMI ", 4 ) ) { uint8_t *psz = &p[0x52]; @@ -309,7 +305,8 @@ int E_(InitVideoDec)( decoder_t *p_dec, AVCodecContext *p_context, } if( !strncmp( &psz[4], "SMI ", 4 ) ) { - memmove( &p[0x52], psz, &p[p_sys->p_context->extradata_size] - psz ); + memmove( &p[0x52], psz, + &p[p_sys->p_context->extradata_size] - psz ); break; } @@ -331,7 +328,8 @@ int E_(InitVideoDec)( decoder_t *p_dec, AVCodecContext *p_context, p_dec->fmt_in.i_extra ); p_sys->p_context->sub_id= ((uint32_t*)p_dec->fmt_in.p_extra)[1]; - msg_Warn( p_dec, "using extra data for RV codec sub_id=%08x", p_sys->p_context->sub_id ); + msg_Warn( p_dec, "using extra data for RV codec sub_id=%08x", + p_sys->p_context->sub_id ); } } else @@ -396,7 +394,7 @@ picture_t *E_(DecodeVideo)( decoder_t *p_dec, block_t **pp_block ) p_block = *pp_block; - if( p_block->i_flags&BLOCK_FLAG_DISCONTINUITY ) + if( p_block->i_flags & BLOCK_FLAG_DISCONTINUITY ) { p_sys->i_buffer = 0; p_sys->i_pts = 0; /* To make sure we recover properly */ @@ -704,7 +702,7 @@ static int ffmpeg_GetFrameBuf( struct AVCodecContext *p_context, /* Some demuxers only set the dts so let's try to find a useful * timestamp from this */ if( !p_context->has_b_frames || !p_sys->b_has_b_frames || - !p_ff_pic->reference ) + !p_ff_pic->reference || !p_sys->i_pts ) { p_ff_pic->pts = p_sys->input_dts; } @@ -712,7 +710,11 @@ static int ffmpeg_GetFrameBuf( struct AVCodecContext *p_context, } else p_ff_pic->pts = 0; - p_sys->input_pts = p_sys->input_dts = 0; + if( p_sys->i_pts ) /* make sure 1st frame has a pts > 0 */ + { + p_sys->input_pts = p_sys->input_dts = 0; + } + p_ff_pic->opaque = 0; /* Not much to do in indirect rendering mode */ -- GitLab