[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