mirror of https://git.ffmpeg.org/ffmpeg.git
Support demuxing 4gv codec stored in qcp files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
54649cbda8
commit
95ee0fbacf
|
@ -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));
|
||||
|
|
Loading…
Reference in New Issue