diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-04-04 02:15:23 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-04-04 02:15:27 +0200 |
commit | 241913c0d041e09ddded851a47e0a4a7d6f88561 (patch) | |
tree | ca2b02ee6dec76a51325594c52aa645d58c3fc3b | |
parent | 333eb37a967a6e5299e63adaadec3bb9b8b2bbbd (diff) | |
parent | c4367f950d5bc8a3a2979182d5aef7bd94949f93 (diff) | |
download | ffmpeg-241913c0d041e09ddded851a47e0a4a7d6f88561.tar.gz |
Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
Fix codec fps diplay for very small fps.
lavf/mpeg: Support alaw in Hikvision CCTV recordings.
lavf/mpeg: Support more audio codecs in Hikvision CCTV recordings.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/dump.c | 4 | ||||
-rw-r--r-- | libavformat/mpeg.c | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/libavformat/dump.c b/libavformat/dump.c index 56b37ff7d8..9a7035c323 100644 --- a/libavformat/dump.c +++ b/libavformat/dump.c @@ -118,7 +118,9 @@ void av_pkt_dump_log2(void *avcl, int level, const AVPacket *pkt, int dump_paylo static void print_fps(double d, const char *postfix) { uint64_t v = lrintf(d * 100); - if (v % 100) + if (!v) + av_log(NULL, AV_LOG_INFO, "%1.4f %s", d, postfix); + else if (v % 100) av_log(NULL, AV_LOG_INFO, "%3.2f %s", d, postfix); else if (v % (100 * 1000)) av_log(NULL, AV_LOG_INFO, "%1.0f %s", d, postfix); diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index a0b5738790..c29291db9f 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -547,8 +547,13 @@ redo: codec_id = AV_CODEC_ID_ADPCM_ADX; // Auto-detect AC-3 request_probe = 50; + } else if (m->imkh_cctv && startcode == 0x1c0) { + codec_id = AV_CODEC_ID_PCM_ALAW; + request_probe = 50; } else { codec_id = AV_CODEC_ID_MP2; + if (m->imkh_cctv) + request_probe = 25; } } else if (startcode >= 0x80 && startcode <= 0x87) { type = AVMEDIA_TYPE_AUDIO; @@ -591,7 +596,8 @@ skip: st->id = startcode; st->codec->codec_type = type; st->codec->codec_id = codec_id; - if (st->codec->codec_id == AV_CODEC_ID_PCM_MULAW) { + if ( st->codec->codec_id == AV_CODEC_ID_PCM_MULAW + || st->codec->codec_id == AV_CODEC_ID_PCM_ALAW) { st->codec->channels = 1; st->codec->channel_layout = AV_CH_LAYOUT_MONO; st->codec->sample_rate = 8000; |