91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-22
  • 語言: 其他
  • 標簽: gpac??MP4??

資源簡介

gpac庫把H265與AAC封裝成MP4的接口(新),https://blog.csdn.net/LLL347/article/details/85886975

資源截圖

代碼片段和文件信息

#include?“MP4Writer.h“

#include?
#include?“gpac/isomedia.h“
#include?“gpac/constants.h“

extern?“C“?{
#include?“gpac/internal/media_dev.h“
}


#define?INIT_STATUS????0
#define?CONFIG_STATUS??1
#define?CONFIG_FINISH??2


static?s8?GetSampleRateID(u32?SamplRate)
{
????switch?(SamplRate)
????{
?????????case?96000:?return??0;
?????????case?88200:?return??1;
?????????case?64000:?return??2;
?????????case?48000:?return??3;
?????????case?44100:?return??4;
?????????case?32000:?return??5;
?????????case?24000:?return??6;
?????????case?22050:?return??7;
?????????case?16000:?return??8;
?????????case?12000:?return??9;
?????????case?11025:?return?10;
?????????case?8000?:?return?11;
?????????case?7350?:?return?12;
?????????default:????return?-1;
????}
}


//gf_m4a_get_profile
static?u8?GetAACProfile(u8?AudioType?u32?SampleRate?u8?Channel)
{
????switch?(AudioType)
????{
????????case?2:?/*?AAC?LC?*/
????????{
????????????if?(Channel?<=?2)??return?(SampleRate?<=?24000)???0x28?:?0x29;?/*?LC@L1?or?LC@L2?*/
????????????if?(Channel?<=?5)??return?(SampleRate?<=?48000)???0x2A?:?0x2B;?/*?LC@L4?or?LC@L5?*/
???????????????????????????????return?(SampleRate?<=?48000)???0x50?:?0x51;?/*?LC@L4?or?LC@L5?*/
????????}
????????case?5:?/*?HE-AAC?-?SBR?*/
????????{
????????????if?(Channel?<=?2)??return?(SampleRate?<=?24000)???0x2C?:?0x2D;?/*?HE@L2?or?HE@L3?*/
????????????if?(Channel?<=?5)??return?(SampleRate?<=?48000)???0x2E?:?0x2F;?/*?HE@L4?or?HE@L5?*/
???????????????????????????????return?(SampleRate?<=?48000)???0x52?:?0x53;?/*?HE@L6?or?HE@L7?*/
????????}
????????case?29:?/*HE-AACv2?-?SBR+PS*/
????????{
????????????if?(Channel?<=?2)??return?(SampleRate?<=?24000)???0x30?:?0x31;?/*?HE-AACv2@L2?or?HE-AACv2@L3?*/
????????????if?(Channel?<=?5)??return?(SampleRate?<=?48000)???0x32?:?0x33;?/*?HE-AACv2@L4?or?HE-AACv2@L5?*/
???????????????????????????????return?(SampleRate?<=?48000)???0x54?:?0x55;?/*?HE-AACv2@L6?or?HE-AACv2@L7?*/
????????}
????????default:?/*?default?to?HQ?*/
????????{
????????????if?(Channel?<=?2)??return?(SampleRate????????????????????????????????return?0x10;?/*?HQ@L3?*/
????????}
????}
}

static?void?GetAudioSpecificConfig(u8?AudioType?u8?SampleRateID?u8?Channel?u8?*pHigh?u8?*pLow)
{
????u16?Config;

????Config?=?(AudioType?&?0x1f);
????Config?<<=?4;
????Config?|=?SampleRateID?&?0x0f;
????Config?<<=?4;
????Config?|=?Channel?&?0x0f;
????Config?<<=?3;

????*pLow??=?Config?&?0xff;
????Config?>>=?8;
????*pHigh?=?Config?&?0xff;
}

/*?返回的數據包括起始的4個字節0x00000001?*/
static?u8*?FindNalu(u8?*pStart?u32?Size?u8?*pNaluType?u32?*pNaluSize)
{
????u8?*pEnd;
????u8?*pCur;
????u8?*pOut;
????u8??NaluType;

????if?(4?>=?Size)
????????return?NULL;

????/*?找第一個0x00000001?*/
????pCur?=?pStart;
????pEnd?=?pStart?+?Size?-?4;
????while?(pCur?????{
????????if?(?(0?==?pCur[0])?&&?(0?==?pCur[1])?&&?(0?==?pCur[2])?&&?(1?==?pCur[3])?)
????????????break;
????????pCur++;
????}
????if?(pCur?>=?pEnd)
????????return?NULL;

????Nalu

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????16959??2019-01-11?15:46??MP4Writer.cpp
?????文件?????????810??2019-01-05?23:19??MP4Writer.h

評論

共有 條評論