mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-17 12:27:18 +00:00
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_MSBF = MKBETAG('D','S','D','M'),
|
||||||
AV_CODEC_ID_DSD_LSBF_PLANAR = MKBETAG('D','S','D','1'),
|
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_DSD_MSBF_PLANAR = MKBETAG('D','S','D','8'),
|
||||||
|
AV_CODEC_ID_4GV = MKBETAG('s','4','g','v'),
|
||||||
|
|
||||||
/* subtitle codecs */
|
/* subtitle codecs */
|
||||||
AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of 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)"),
|
.long_name = NULL_IF_CONFIG_SMALL("SMV (Selectable Mode Vocoder)"),
|
||||||
.props = AV_CODEC_PROP_LOSSY,
|
.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,
|
.id = AV_CODEC_ID_DSD_LSBF,
|
||||||
.type = AVMEDIA_TYPE_AUDIO,
|
.type = AVMEDIA_TYPE_AUDIO,
|
||||||
|
@ -57,6 +57,11 @@ static const uint8_t guid_evrc[16] = {
|
|||||||
0x91, 0xef, 0x73, 0x6a, 0x51, 0x00, 0xce, 0xb4
|
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
|
* 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;
|
st->codec->codec_id = AV_CODEC_ID_EVRC;
|
||||||
} else if (!memcmp(buf, guid_smv, 16)) {
|
} else if (!memcmp(buf, guid_smv, 16)) {
|
||||||
st->codec->codec_id = AV_CODEC_ID_SMV;
|
st->codec->codec_id = AV_CODEC_ID_SMV;
|
||||||
|
} else if (!memcmp(buf, guid_4gv, 16)) {
|
||||||
|
st->codec->codec_id = AV_CODEC_ID_4GV;
|
||||||
} else {
|
} else {
|
||||||
av_log(s, AV_LOG_ERROR, "Unknown codec GUID "FF_PRI_GUID".\n",
|
av_log(s, AV_LOG_ERROR, "Unknown codec GUID "FF_PRI_GUID".\n",
|
||||||
FF_ARG_GUID(buf));
|
FF_ARG_GUID(buf));
|
||||||
|
Loading…
Reference in New Issue
Block a user