mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge commit 'a1c5cc429d99216406170eac7e8352860076d3e8'
* commit 'a1c5cc429d99216406170eac7e8352860076d3e8': lavc: don't set AVFrame.pts to random numbers in decoders. Conflicts: libavcodec/mpeg4videodec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
17e47ec8be
@ -478,7 +478,6 @@ static int h261_decode_picture_header(H261Context *h)
|
|||||||
s->picture_number = (s->picture_number & ~31) + i;
|
s->picture_number = (s->picture_number & ~31) + i;
|
||||||
|
|
||||||
s->avctx->time_base = (AVRational) { 1001, 30000 };
|
s->avctx->time_base = (AVRational) { 1001, 30000 };
|
||||||
s->current_picture.f.pts = s->picture_number;
|
|
||||||
|
|
||||||
/* PTYPE starts here */
|
/* PTYPE starts here */
|
||||||
skip_bits1(&s->gb); /* split screen off */
|
skip_bits1(&s->gb); /* split screen off */
|
||||||
|
@ -895,7 +895,6 @@ int ff_h263_decode_picture_header(MpegEncContext *s)
|
|||||||
i = get_bits(&s->gb, 8); /* picture timestamp */
|
i = get_bits(&s->gb, 8); /* picture timestamp */
|
||||||
if( (s->picture_number&~0xFF)+i < s->picture_number)
|
if( (s->picture_number&~0xFF)+i < s->picture_number)
|
||||||
i+= 256;
|
i+= 256;
|
||||||
s->current_picture_ptr->f.pts =
|
|
||||||
s->picture_number= (s->picture_number&~0xFF) + i;
|
s->picture_number= (s->picture_number&~0xFF) + i;
|
||||||
|
|
||||||
/* PTYPE starts here */
|
/* PTYPE starts here */
|
||||||
|
@ -1948,6 +1948,7 @@ static int decode_user_data(MpegEncContext *s, GetBitContext *gb){
|
|||||||
|
|
||||||
static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){
|
static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){
|
||||||
int time_incr, time_increment;
|
int time_incr, time_increment;
|
||||||
|
int64_t pts;
|
||||||
|
|
||||||
s->pict_type = get_bits(gb, 2) + AV_PICTURE_TYPE_I; /* pict type: I = 0 , P = 1 */
|
s->pict_type = get_bits(gb, 2) + AV_PICTURE_TYPE_I; /* pict type: I = 0 , P = 1 */
|
||||||
if(s->pict_type==AV_PICTURE_TYPE_B && s->low_delay && s->vol_control_parameters==0 && !(s->flags & CODEC_FLAG_LOW_DELAY)){
|
if(s->pict_type==AV_PICTURE_TYPE_B && s->low_delay && s->vol_control_parameters==0 && !(s->flags & CODEC_FLAG_LOW_DELAY)){
|
||||||
@ -2023,12 +2024,12 @@ static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(s->avctx->time_base.num)
|
if(s->avctx->time_base.num)
|
||||||
s->current_picture_ptr->f.pts = ROUNDED_DIV(s->time, s->avctx->time_base.num);
|
pts = ROUNDED_DIV(s->time, s->avctx->time_base.num);
|
||||||
else
|
else
|
||||||
s->current_picture_ptr->f.pts = AV_NOPTS_VALUE;
|
pts = AV_NOPTS_VALUE;
|
||||||
if(s->avctx->debug&FF_DEBUG_PTS)
|
if(s->avctx->debug&FF_DEBUG_PTS)
|
||||||
av_log(s->avctx, AV_LOG_DEBUG, "MPEG4 PTS: %"PRId64"\n",
|
av_log(s->avctx, AV_LOG_DEBUG, "MPEG4 PTS: %"PRId64"\n",
|
||||||
s->current_picture_ptr->f.pts);
|
pts);
|
||||||
|
|
||||||
check_marker(gb, "before vop_coded");
|
check_marker(gb, "before vop_coded");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user