mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge commit 'f023d57d355ff3b917f1aad9b03db5c293ec4244'
* commit 'f023d57d355ff3b917f1aad9b03db5c293ec4244': lavc: G.723.1 encoder Split existing FFmpeg G.723.1 encoder into a new file. Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
This commit is contained in:
commit
90c93fb129
@ -984,7 +984,7 @@ following image formats are supported:
|
||||
@item Enhanced AC-3 @tab X @tab X
|
||||
@item EVRC (Enhanced Variable Rate Codec) @tab @tab X
|
||||
@item FLAC (Free Lossless Audio Codec) @tab X @tab IX
|
||||
@item G.723.1 @tab X @tab X
|
||||
@item G.723.1 @tab X @tab X
|
||||
@item G.729 @tab @tab X
|
||||
@item GSM @tab E @tab X
|
||||
@tab encoding supported through external library libgsm
|
||||
|
@ -276,9 +276,10 @@ OBJS-$(CONFIG_FOURXM_DECODER) += 4xm.o
|
||||
OBJS-$(CONFIG_FRAPS_DECODER) += fraps.o
|
||||
OBJS-$(CONFIG_FRWU_DECODER) += frwu.o
|
||||
OBJS-$(CONFIG_G2M_DECODER) += g2meet.o elsdec.o
|
||||
OBJS-$(CONFIG_G723_1_DECODER) += g723_1dec.o g723_1.o acelp_vectors.o \
|
||||
celp_filters.o celp_math.o
|
||||
OBJS-$(CONFIG_G723_1_ENCODER) += g723_1dec.o g723_1.o acelp_vectors.o celp_math.o
|
||||
OBJS-$(CONFIG_G723_1_DECODER) += g723_1dec.o g723_1.o \
|
||||
acelp_vectors.o celp_filters.o celp_math.o
|
||||
OBJS-$(CONFIG_G723_1_ENCODER) += g723_1enc.o g723_1.o \
|
||||
acelp_vectors.o celp_filters.o
|
||||
OBJS-$(CONFIG_G729_DECODER) += g729dec.o lsp.o celp_math.o acelp_filters.o acelp_pitch_delay.o acelp_vectors.o g729postfilter.o
|
||||
OBJS-$(CONFIG_GIF_DECODER) += gifdec.o lzw.o
|
||||
OBJS-$(CONFIG_GIF_ENCODER) += gif.o lzwenc.o
|
||||
|
@ -61,6 +61,16 @@ int ff_exp2(uint16_t power);
|
||||
*/
|
||||
int ff_log2_q15(uint32_t value);
|
||||
|
||||
/**
|
||||
* Calculate the dot product of 2 int16_t vectors.
|
||||
* @param a input data array
|
||||
* @param b input data array
|
||||
* @param length number of elements
|
||||
*
|
||||
* @return dot product = sum of elementwise products
|
||||
*/
|
||||
int64_t ff_dot_product(const int16_t *a, const int16_t *b, int length);
|
||||
|
||||
/**
|
||||
* Shift value left or right depending on sign of offset parameter.
|
||||
* @param value value to shift
|
||||
@ -74,16 +84,6 @@ static inline int bidir_sal(int value, int offset)
|
||||
else return value << offset;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the dot product of 2 int16_t vectors.
|
||||
* @param a input data array
|
||||
* @param b input data array
|
||||
* @param length number of elements
|
||||
*
|
||||
* @return dot product = sum of elementwise products
|
||||
*/
|
||||
int64_t ff_dot_product(const int16_t *a, const int16_t *b, int length);
|
||||
|
||||
/**
|
||||
* Return the dot product.
|
||||
* @param a input data array
|
||||
|
@ -53,7 +53,7 @@ int ff_g723_1_normalize_bits(int num, int width)
|
||||
|
||||
int ff_g723_1_dot_product(const int16_t *a, const int16_t *b, int length)
|
||||
{
|
||||
int sum = ff_dot_product(a,b,length);
|
||||
int sum = ff_dot_product(a, b, length);
|
||||
return av_sat_add32(sum, sum);
|
||||
}
|
||||
|
||||
|
@ -145,10 +145,11 @@ typedef struct g723_1_context {
|
||||
int postfilter;
|
||||
|
||||
int16_t audio[FRAME_LEN + LPC_ORDER + PITCH_MAX + 4];
|
||||
|
||||
/* encoder */
|
||||
int16_t prev_data[HALF_FRAME_LEN];
|
||||
int16_t prev_weight_sig[PITCH_MAX];
|
||||
|
||||
|
||||
int16_t hpf_fir_mem; ///< highpass filter fir
|
||||
int hpf_iir_mem; ///< and iir memories
|
||||
int16_t perf_fir_mem[LPC_ORDER]; ///< perceptual filter fir
|
||||
|
File diff suppressed because it is too large
Load Diff
1202
libavcodec/g723_1enc.c
Normal file
1202
libavcodec/g723_1enc.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user