[FFmpeg-devel] [PATCH]lavf/bit: Fix the G.729 bit auto-detection
Michael Niedermayer
michael at niedermayer.cc
Sat Sep 30 04:19:13 EEST 2017
On Fri, Sep 29, 2017 at 07:23:17PM +0200, Carl Eugen Hoyos wrote:
> Hi!
>
> The G.729 bit auto-detection has never worked, patch attached.
>
> Please comment, Carl Eugen
> bit.c | 23 +++++++++++++----------
> 1 file changed, 13 insertions(+), 10 deletions(-)
> 1eaabbb2e56d350949d0c8c439a2ba49513069f2 0001-lavf-bit-Fix-the-G.729-bit-probe-function.patch
> From 2521a9bd86d807a3e18fe930b35039beb7674b3e Mon Sep 17 00:00:00 2001
> From: Carl Eugen Hoyos <ceffmpeg at gmail.com>
> Date: Fri, 29 Sep 2017 19:10:46 +0200
> Subject: [PATCH] lavf/bit: Fix the G.729 bit auto-detection.
>
> ---
> libavformat/bit.c | 23 +++++++++++++----------
> 1 file changed, 13 insertions(+), 10 deletions(-)
>
> diff --git a/libavformat/bit.c b/libavformat/bit.c
> index d742a5b..f90e4a7 100644
> --- a/libavformat/bit.c
> +++ b/libavformat/bit.c
> @@ -32,20 +32,23 @@
> #if CONFIG_BIT_DEMUXER
> static int probe(AVProbeData *p)
> {
> - int i, j;
> + int i = 0, j, valid = 0;
>
> - if(p->buf_size < 0x40)
> - return 0;
> -
> - for(i=0; i+3<p->buf_size && i< 10*0x50; ){
> - if(AV_RL16(&p->buf[0]) != SYNC_WORD)
> + while (2 * i + 3 < p->buf_size){
> + if (AV_RL16(&p->buf[2 * i++]) != SYNC_WORD)
> return 0;
> - j=AV_RL16(&p->buf[2]);
> - if(j!=0x40 && j!=0x50)
> + j = AV_RL16(&p->buf[2 * i++]);
> + if (j != 0 && j != 0x10 && j != 0x40 && j != 0x50)
> return 0;
> - i+=j;
> + if (j)
> + valid++;
> + i += j;
> }
> - return AVPROBE_SCORE_EXTENSION;
> + if (valid > 10)
> + return AVPROBE_SCORE_MAX;
this looks like a g729 stream encapsulated i another container could
return AVPROBE_SCORE_MAX. This may be sub optimal
no more comments from me
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I have often repented speaking, but never of holding my tongue.
-- Xenocrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170930/4f8a2f63/attachment.sig>
More information about the ffmpeg-devel
mailing list