[FFmpeg-cvslog] avcodec: properly check pkt_timebase for validity

Hendrik Leppkes git at videolan.org
Mon Dec 28 10:24:49 CET 2015


ffmpeg | branch: master | Hendrik Leppkes <h.leppkes at gmail.com> | Sun Dec 27 20:00:10 2015 +0100| [50401f5fb7d778583b03a13bc4440f71063d319d] | committer: Hendrik Leppkes

avcodec: properly check pkt_timebase for validity

Unset/invalid timebases have a zero numerator.
This makes the checks consistent with other timebase checks and fixes an
integer division by 0.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=50401f5fb7d778583b03a13bc4440f71063d319d
---

 libavcodec/libzvbi-teletextdec.c |    2 +-
 libavcodec/utils.c               |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/libzvbi-teletextdec.c b/libavcodec/libzvbi-teletextdec.c
index ff968ad..4e59531 100644
--- a/libavcodec/libzvbi-teletextdec.c
+++ b/libavcodec/libzvbi-teletextdec.c
@@ -412,7 +412,7 @@ static int teletext_decode_frame(AVCodecContext *avctx, void *data, int *data_si
         }
     }
 
-    if (avctx->pkt_timebase.den && pkt->pts != AV_NOPTS_VALUE)
+    if (avctx->pkt_timebase.num && pkt->pts != AV_NOPTS_VALUE)
         ctx->pts = av_rescale_q(pkt->pts, avctx->pkt_timebase, AV_TIME_BASE_Q);
 
     if (pkt->size) {
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 19f3f0a..33295ed 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2435,7 +2435,7 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
         } else {
             avctx->internal->pkt = &pkt_recoded;
 
-            if (avctx->pkt_timebase.den && avpkt->pts != AV_NOPTS_VALUE)
+            if (avctx->pkt_timebase.num && avpkt->pts != AV_NOPTS_VALUE)
                 sub->pts = av_rescale_q(avpkt->pts,
                                         avctx->pkt_timebase, AV_TIME_BASE_Q);
             ret = avctx->codec->decode(avctx, sub, got_sub_ptr, &pkt_recoded);



More information about the ffmpeg-cvslog mailing list