就剩下一个链接不到CLSID_NullRenderer的错误
parent
87097558e2
commit
63fac4b50a
|
@ -3,7 +3,6 @@
|
|||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#include "falabaac/fa_aacapi.h"
|
||||
#include "libavcodec/avcodec.h"
|
||||
#include "libavformat/avformat.h"
|
||||
#include "libavutil/avutil.h"
|
||||
|
|
|
@ -1,106 +0,0 @@
|
|||
/*
|
||||
falab - free algorithm lab
|
||||
Copyright (C) 2012 luolongzhi 罗龙智 (Chengdu, China)
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
filename: fa_aacapi.h
|
||||
version : v1.0.0
|
||||
time : 2012/11/24 17:58
|
||||
author : luolongzhi ( falab2012@gmail.com luolongzhi@gmail.com )
|
||||
code URL: http://code.google.com/p/falab/
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef _FA_AACAPI_H
|
||||
#define _FA_AACAPI_H
|
||||
|
||||
#include "fa_inttypes.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
|
||||
//typedef unsigned uintptr_t;
|
||||
|
||||
#define FA_AACENC_MPEG_VER_DEF 1
|
||||
#define FA_AACENC_OBJ_TYPE_DEF 2
|
||||
|
||||
/*
|
||||
For you attention:
|
||||
|
||||
1.sample rate only support 32, 44.1, 48kHz(I think enough, high is no useless, low sample rate sound terrible),
|
||||
if you want to support more sample rate, complete fa_swbtab and add code in fa_aacenc_init by yourself, very easy
|
||||
|
||||
2.vbr with quality control (0.1 ~ 1.0), vbr mode is recommend for it adjust bitrate according to the frame feature;
|
||||
cbr(roughtly cbr, because if want have accurate bit rate can cost more bitrate control loop and will degrade the
|
||||
speed performance), cbr support 16~160 per channel, means that if encode stereo audio, can support (32 ~320kbps)
|
||||
default settings is: -q 0.7, band width is 17kHz, roughtly bitrate is 110 ~ 150kbps according to the audio sample feature
|
||||
if you want the best quality and wide band width, use -q 1, the band width extend to 22kHz and encoding whole
|
||||
frequency line using psychmodel
|
||||
|
||||
you can download the EBU test audio file frome the web site below to do sound quality test:
|
||||
http://tech.ebu.ch/public-cations/sqamcd
|
||||
|
||||
3.64 chn can support, lfe support (need you test, lfe I didn't test more)
|
||||
|
||||
4.now only support mpeg_version 2(mpeg2aac), sbr and ps not support now, is developing
|
||||
MPEG2 1
|
||||
MPEG4 0
|
||||
and only ADTS format support
|
||||
|
||||
5.aac_objtype only support MAIN and LC, and ltp of MAIN can not support(useless, very slow and influece quality little) , SSR is not support
|
||||
MAIN 1
|
||||
LOW 2
|
||||
SSR 3
|
||||
LTP 4
|
||||
|
||||
6.ms encode is support, but if you use fast quantize method(according to you speed_level choice), I close ms encode
|
||||
|
||||
7.band_width you can change by yourself using option -w
|
||||
|
||||
8.I give 6 speed level(1~6), you can choose according to your application , 1 is the lowest but very good quality, 6 is fatest but low quality,
|
||||
default is 1(strongly recommend),
|
||||
I think level 3 is a good choice if you want fast encoding, the speed is more than 2 times compare to the speed_level 1.
|
||||
|
||||
9.Summary----
|
||||
Want Best quality (default) : use -l 1 (best quality, very good sound, smoothly and stable)
|
||||
Want Normal quality and fast speed: use -l 3 (it is good choise, normal quality and speed you can tolerant)
|
||||
Want Fast speed : use -l 5 (if is rock music, can not hear abnormal; but if is quiet or piano audio, maybe not good)
|
||||
|
||||
*/
|
||||
uintptr_t fa_aacenc_init(int sample_rate, int bit_rate, int chn_num, float quality, int vbr_flag,
|
||||
int mpeg_version, int aac_objtype, int lfe_enable,
|
||||
float band_width,
|
||||
int speed_level,
|
||||
int time_resolution_first);
|
||||
|
||||
void fa_aacenc_uninit(uintptr_t handle);
|
||||
|
||||
//WARN: the inlen must be 1024*chn_num*2 (2 means 2 bytes for per sample, so your sample should be 16 bits short type),
|
||||
void fa_aacenc_encode(uintptr_t handle, unsigned char *buf_in, int inlen, unsigned char *buf_out, int *outlen);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif
|
|
@ -1,159 +0,0 @@
|
|||
/*
|
||||
falab - free algorithm lab
|
||||
Copyright (C) 2012 luolongzhi 罗龙智 (Chengdu, China)
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
filename: fa_inttypes.h
|
||||
version : v1.0.0
|
||||
time : 2012/07/15 14:14
|
||||
author : luolongzhi ( falab2012@gmail.com luolongzhi@gmail.com )
|
||||
code URL: http://code.google.com/p/falab/
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef _FA_INTTYPES_H
|
||||
#define _FA_INTTYPES_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
|
||||
typedef char * caddr_t;
|
||||
|
||||
#ifdef WIN32
|
||||
//typedef char int8_t;
|
||||
typedef unsigned __int64 u_int64_t;
|
||||
#else
|
||||
typedef long long __int64;
|
||||
typedef unsigned long long u_int64_t;
|
||||
#endif
|
||||
typedef unsigned char u_int8_t;
|
||||
typedef short int16_t;
|
||||
typedef unsigned short u_int16_t;
|
||||
typedef int int32_t;
|
||||
typedef unsigned int u_int32_t;
|
||||
typedef __int64 int64_t;
|
||||
|
||||
typedef int32_t register_t;
|
||||
typedef u_int8_t uint8_t;
|
||||
typedef u_int16_t uint16_t;
|
||||
typedef u_int32_t uint32_t;
|
||||
typedef u_int64_t uint64_t;
|
||||
|
||||
|
||||
#ifdef __GNUC__
|
||||
#ifndef INT64_MAX
|
||||
#define INT64_MAX 9223372036854775807LL
|
||||
#endif
|
||||
#else
|
||||
#define INT64_MAX 9223372036854775807i64
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#ifndef INT64_MIN
|
||||
#define INT64_MIN (-9223372036854775807LL - 1)
|
||||
#endif
|
||||
#else
|
||||
#define INT64_MIN (-9223372036854775807i64 - 1)
|
||||
#endif
|
||||
|
||||
#ifndef INT8_MAX
|
||||
#define INT8_MAX 127
|
||||
#endif
|
||||
#ifndef INT8_MIN
|
||||
#define INT8_MIN (-127 - 1)
|
||||
#endif
|
||||
|
||||
#ifndef INT16_MAX
|
||||
#define INT16_MAX 32767
|
||||
#endif
|
||||
#ifndef INT16_MIN
|
||||
#define INT16_MIN (-32767 - 1)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef INT32_MAX
|
||||
#define INT32_MAX 2147483647
|
||||
#endif
|
||||
#ifndef INT32_MIN
|
||||
#define INT32_MIN (-2147483647 - 1)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef UINT8_MAX
|
||||
#define UINT8_MAX 0xff /* 255U */
|
||||
#endif
|
||||
#ifndef UINT16_MAX
|
||||
#define UINT16_MAX 0xffff /* 65535U */
|
||||
#endif
|
||||
#ifndef UINT32_MAX
|
||||
#define UINT32_MAX 0xffffffff /* 4294967295U */
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#ifndef UINT64_MAX
|
||||
#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
|
||||
#endif
|
||||
#else
|
||||
#define UINT64_MAX 0xffffffffffffffffui64 /* 18446744073709551615ULL */
|
||||
#endif
|
||||
|
||||
typedef int intptr_t;
|
||||
typedef unsigned uintptr_t;
|
||||
|
||||
#ifndef INT64_C
|
||||
# if defined(__GNUC__)
|
||||
# define INT64_C(c) (c ## LL)
|
||||
# define UINT64_C(c) (c ## ULL)
|
||||
# else
|
||||
# define INT64_C(c) (c ## i64)
|
||||
# define UINT64_C(c) (c ## ui64)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef offsetof
|
||||
# define offsetof(T, F) ((unsigned int)((char *)&((T *)0)->F))
|
||||
#endif
|
||||
|
||||
|
||||
#define INTMAX_MIN (-INT64_C(9223372036854775807)-1)
|
||||
#define INTMAX_MAX (INT64_C(9223372036854775807))
|
||||
#define UINTMAX_MAX (UINT64_C(18446744073709551615))
|
||||
|
||||
#ifndef WIN32
|
||||
#define BYTE unsigned char
|
||||
#endif
|
||||
|
||||
//other function compartiable define
|
||||
#ifdef WIN32
|
||||
#define inline __inline
|
||||
#define snprintf _snprintf
|
||||
#define vsnprintf _vsnprintf
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
|
@ -55,24 +55,34 @@ INCLUDEPATH += media/ third/ffmpeg/include/ inc/ third/
|
|||
message($$PWD/third/libs/)
|
||||
LIBS += -L$$PWD/third/libs/
|
||||
LIBS += -lm
|
||||
LIBS += -lgcc
|
||||
win32: LIBS += -llibavcodec
|
||||
win32: LIBS += -llibrtmp
|
||||
win32: LIBS += -llibswscale
|
||||
win32: LIBS += -llibswresample
|
||||
win32: LIBS += -llibavresample
|
||||
win32: LIBS += -llibavformat
|
||||
win32: LIBS += -llibavdevice
|
||||
win32: LIBS += -llibavfilter
|
||||
win32: LIBS += -lSecur32
|
||||
win32: LIBS += -llibavutil
|
||||
win32: LIBS += -llibpostproc
|
||||
|
||||
win32: LIBS += -lSecur32
|
||||
win32: LIBS += -lSDL2
|
||||
win32: LIBS += -lSDL2main
|
||||
win32: LIBS += -lportaudio_x86
|
||||
win32: LIBS += -llibx264
|
||||
win32: LIBS += -lOle32
|
||||
win32: LIBS += -lstrmiids
|
||||
win32: LIBS += -lquartz
|
||||
win32: LIBS += -lSDL2
|
||||
win32: LIBS += -lSDL2main
|
||||
win32: LIBS += -lOleAut32
|
||||
win32: LIBS += $$PWD/third/libs/chkstk.obj
|
||||
win32: LIBS += -lbufferoverflowU
|
||||
win32: LIBS += -lbufferoverflow
|
||||
win32: LIBS += -lmsvcrt
|
||||
win32: LIBS += -llibfdk-aac
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
|
|
Loading…
Reference in New Issue