Opened 3 years ago

Last modified 2 years ago

#4142 new enhancement

Fourth Generation Vocoder

Reported by: cehoyos Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: qcp
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by cehoyos)

A user uploaded a qcp file with an unknown GUID {3CFD29CA-F653-4EF5-90E9-F4236D599B61} containing Fourth Generation Vocoder (4GV).

$ ffmpeg -i 0812001631.qcp
ffmpeg version N-68112-ge4788e9 Copyright (c) 2000-2014 the FFmpeg developers
  built on Nov 30 2014 00:45:08 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      54. 15.100 / 54. 15.100
  libavcodec     56. 13.100 / 56. 13.100
  libavformat    56. 15.101 / 56. 15.101
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[qcp @ 0x238fba0] Unknown codec GUID.
0812001631.qcp: Invalid data found when processing input

Attachments (1)

0812001631.qcp (158.6 KB) - added by cehoyos 3 years ago.

Download all attachments as: .zip

Change History (9)

Changed 3 years ago by cehoyos

comment:1 Changed 3 years ago by cehoyos

  • Description modified (diff)

comment:2 Changed 3 years ago by al3x

From Wikipedia:

Currently, the 4GV suite offers EVRC-B and EVRC-WB.

Enhanced Variable Rate Codec B (EVRC-B) is a speech codec used by CDMA networks. EVRC-B is an enhancement to EVRC and compresses each 20 milliseconds of 8000 Hz, 16-bit sampled speech input into output frames of one of the four different sizes: Rate 1 - 171 bits, Rate 1/2 - 80 bits, Rate 1/4 - 40 bits, Rate 1/8 - 16 bits.

In addition, there are two zero bit codec frame types: null frames and erasure frames, similar to EVRC. One significant enhancement in EVRC-B is the use of 1/4 rate frames that were not used in EVRC. This provides lower average data rates (ADRs) compared to EVRC, for a given voice quality. The new 4GV Codecs used in CDMA2000 are based on EVRC-B.

comment:3 Changed 2 years ago by richardpl

AFAIK there is no single document that mentions this guid, why you think it have anything in common with 4GV?

comment:4 Changed 2 years ago by cehoyos

What is the correct GUID for 4GV?

comment:5 Changed 2 years ago by richardpl

I dunno. How you got idea it is 4GV at first place?

comment:6 Changed 2 years ago by cehoyos

Please have a look at the attached sample.

comment:7 Changed 2 years ago by richardpl

I managed to decode this file (first you need to add 16bit frame type to each packet and convert bitstream from bigendian to little endian) with reference decoder EVRC-B.
Reference decoder EVRC-C with its executable with name fourgv did not correctly decoded file. So this file probably is not EVRC-WB.

I failed to find GUID as used in qcp on internet and fourcc (if) used in 3gpp2 files.

comment:8 Changed 2 years ago by richardpl

According to this site http://droid-dev.mobi/wiki/Qualcomm_QSC6085 4GV is just another name for EVRC-B.

Note: See TracTickets for help on using tickets.