Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master: Fix remuxing of IMA_QT in mov. Do not detect "00000000..." (and other non-changing values) as adp. Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
c9afeda55e
@ -26,14 +26,21 @@
|
|||||||
|
|
||||||
static int adp_probe(AVProbeData *p)
|
static int adp_probe(AVProbeData *p)
|
||||||
{
|
{
|
||||||
int i;
|
int i, changes = 0;
|
||||||
|
char last = 0;
|
||||||
|
|
||||||
if (p->buf_size < 32)
|
if (p->buf_size < 32)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (i = 0; i < p->buf_size - 3; i+=32)
|
for (i = 0; i < p->buf_size - 3; i+=32) {
|
||||||
if (p->buf[i] != p->buf[i+2] || p->buf[i+1] != p->buf[i+3])
|
if (p->buf[i] != p->buf[i+2] || p->buf[i+1] != p->buf[i+3])
|
||||||
return 0;
|
return 0;
|
||||||
|
if (p->buf[i] != last)
|
||||||
|
changes++;
|
||||||
|
last = p->buf[i];
|
||||||
|
}
|
||||||
|
if (changes <= 1)
|
||||||
|
return 0;
|
||||||
|
|
||||||
return p->buf_size < 260 ? 1 : AVPROBE_SCORE_MAX / 4;
|
return p->buf_size < 260 ? 1 : AVPROBE_SCORE_MAX / 4;
|
||||||
}
|
}
|
||||||
|
@ -3885,7 +3885,8 @@ static int mov_write_header(AVFormatContext *s)
|
|||||||
}else{
|
}else{
|
||||||
track->sample_size = (av_get_bits_per_sample(st->codec->codec_id) >> 3) * st->codec->channels;
|
track->sample_size = (av_get_bits_per_sample(st->codec->codec_id) >> 3) * st->codec->channels;
|
||||||
}
|
}
|
||||||
if (st->codec->codec_id == AV_CODEC_ID_ILBC) {
|
if (st->codec->codec_id == AV_CODEC_ID_ILBC ||
|
||||||
|
st->codec->codec_id == AV_CODEC_ID_ADPCM_IMA_QT) {
|
||||||
track->audio_vbr = 1;
|
track->audio_vbr = 1;
|
||||||
}
|
}
|
||||||
if (track->mode != MODE_MOV &&
|
if (track->mode != MODE_MOV &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user