aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-07-13 21:03:26 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-07-13 22:08:27 +0200
commit051dd2eea61b5668bad55a3b7252b834882afd0c (patch)
tree0a1361eafcdb7bb0402b5f070ce8398b384899a4
parentc3a4c1bd5abf96cd4dc3486004e0fd70d02b6d28 (diff)
downloadffmpeg-051dd2eea61b5668bad55a3b7252b834882afd0c.tar.gz
ffv1dec: print timestamp at which a CRC mismatch happened
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/ffv1.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c
index 6d60117d2e..7a07980af6 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");
+ }
}
}