[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