[FFmpeg-cvslog] ffv1dec: print timestamp at which a CRC mismatch happened

Michael Niedermayer git at videolan.org
Fri Jul 13 22:13:35 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri Jul 13 21:03:26 2012 +0200| [051dd2eea61b5668bad55a3b7252b834882afd0c] | committer: Michael Niedermayer

ffv1dec: print timestamp at which a CRC mismatch happened

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/ffv1.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c
index 6d60117..7a07980 100644
--- a/libavcodec/ffv1.c
+++ b/libavcodec/ffv1.c
@@ -2015,7 +2015,15 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac
         if(f->ec){
             unsigned crc = av_crc(av_crc_get_table(AV_CRC_32_IEEE), 0, buf_p, v);
             if(crc){
-                av_log(f->avctx, AV_LOG_ERROR, "CRC mismatch %X!\n", crc);
+                int64_t ts = avpkt->pts != AV_NOPTS_VALUE ? avpkt->pts : avpkt->dts;
+                av_log(f->avctx, AV_LOG_ERROR, "CRC mismatch %X!", crc);
+                if(ts != AV_NOPTS_VALUE && avctx->pkt_timebase.num) {
+                    av_log(f->avctx, AV_LOG_ERROR, "at %f seconds\n",ts*av_q2d(avctx->pkt_timebase));
+                } else if(ts != AV_NOPTS_VALUE) {
+                    av_log(f->avctx, AV_LOG_ERROR, "at %"PRId64"\n", ts);
+                } else {
+                    av_log(f->avctx, AV_LOG_ERROR, "\n");
+                }
             }
         }
 



More information about the ffmpeg-cvslog mailing list