diff options
author | Paul B Mahol <onemda@gmail.com> | 2015-06-12 15:49:50 +0000 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2015-06-21 09:30:01 +0000 |
commit | 95ee0fbacfad9e79ed0f67e1e1980a53a4d2807e (patch) | |
tree | 1f2acaf1f57e576f484b477f30cf8520ee43a46a | |
parent | 54649cbda890b54dad0e76ae8886cb291be58a03 (diff) | |
download | ffmpeg-95ee0fbacfad9e79ed0f67e1e1980a53a4d2807e.tar.gz |
Support demuxing 4gv codec stored in qcp files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-rw-r--r-- | libavcodec/avcodec.h | 1 | ||||
-rw-r--r-- | libavcodec/codec_desc.c | 7 | ||||
-rw-r--r-- | libavformat/qcp.c | 7 |
3 files changed, 15 insertions, 0 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 77cddf8fc0..b75b27e66f 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -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. diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index 81baf1e543..87bbc776b3 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -2524,6 +2524,13 @@ static const AVCodecDescriptor codec_descriptors[] = { .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, .name = "dsd_lsbf", diff --git a/libavformat/qcp.c b/libavformat/qcp.c index 9e2eedfe85..ad4a8ae79c 100644 --- a/libavformat/qcp.c +++ b/libavformat/qcp.c @@ -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)); |