Commit 95ee0fba authored by Paul B Mahol's avatar Paul B Mahol

Support demuxing 4gv codec stored in qcp files

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 54649cbd
......@@ -500,6 +500,7 @@ enum AVCodecID {
AV_CODEC_ID_DSD_MSBF = MKBETAG('D','S','D','M'),
AV_CODEC_ID_DSD_LSBF_PLANAR = MKBETAG('D','S','D','1'),
AV_CODEC_ID_DSD_MSBF_PLANAR = MKBETAG('D','S','D','8'),
AV_CODEC_ID_4GV = MKBETAG('s','4','g','v'),
/* subtitle codecs */
AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
......
......@@ -2523,6 +2523,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("SMV (Selectable Mode Vocoder)"),
.props = AV_CODEC_PROP_LOSSY,
},
{
.id = AV_CODEC_ID_4GV,
.type = AVMEDIA_TYPE_AUDIO,
.name = "4gv",
.long_name = NULL_IF_CONFIG_SMALL("4GV (Fourth Generation Vocoder)"),
.props = AV_CODEC_PROP_LOSSY,
},
{
.id = AV_CODEC_ID_DSD_LSBF,
.type = AVMEDIA_TYPE_AUDIO,
......
......@@ -57,6 +57,11 @@ static const uint8_t guid_evrc[16] = {
0x91, 0xef, 0x73, 0x6a, 0x51, 0x00, 0xce, 0xb4
};
static const uint8_t guid_4gv[16] = {
0xca, 0x29, 0xfd, 0x3c, 0x53, 0xf6, 0xf5, 0x4e,
0x90, 0xe9, 0xf4, 0x23, 0x6d, 0x59, 0x9b, 0x61
};
/**
* SMV GUID as stored in the file
*/
......@@ -106,6 +111,8 @@ static int qcp_read_header(AVFormatContext *s)
st->codec->codec_id = AV_CODEC_ID_EVRC;
} else if (!memcmp(buf, guid_smv, 16)) {
st->codec->codec_id = AV_CODEC_ID_SMV;
} else if (!memcmp(buf, guid_4gv, 16)) {
st->codec->codec_id = AV_CODEC_ID_4GV;
} else {
av_log(s, AV_LOG_ERROR, "Unknown codec GUID "FF_PRI_GUID".\n",
FF_ARG_GUID(buf));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment