mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-15 03:20:00 +01:00
adx: move header decoding to ADX common code
This commit is contained in:
@@ -31,6 +31,10 @@
|
||||
#ifndef AVCODEC_ADX_H
|
||||
#define AVCODEC_ADX_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "avcodec.h"
|
||||
|
||||
typedef struct {
|
||||
int s1,s2;
|
||||
} ADXChannelState;
|
||||
@@ -47,6 +51,9 @@ typedef struct {
|
||||
|
||||
#define COEFF_BITS 12
|
||||
|
||||
#define BLOCK_SIZE 18
|
||||
#define BLOCK_SAMPLES 32
|
||||
|
||||
/**
|
||||
* Calculate LPC coefficients based on cutoff frequency and sample rate.
|
||||
*
|
||||
@@ -57,4 +64,18 @@ typedef struct {
|
||||
*/
|
||||
void ff_adx_calculate_coeffs(int cutoff, int sample_rate, int bits, int *coeff);
|
||||
|
||||
/**
|
||||
* Decode ADX stream header.
|
||||
* Sets avctx->channels and avctx->sample_rate.
|
||||
*
|
||||
* @param avctx codec context
|
||||
* @param buf header data
|
||||
* @param bufsize data size, should be at least 24 bytes
|
||||
* @param[out] header_size size of ADX header
|
||||
* @param[out] coeff 2 LPC coefficients, can be NULL
|
||||
* @return data offset or negative error code if header is invalid
|
||||
*/
|
||||
int ff_adx_decode_header(AVCodecContext *avctx, const uint8_t *buf, int bufsize,
|
||||
int *header_size, int *coeff);
|
||||
|
||||
#endif /* AVCODEC_ADX_H */
|
||||
|
||||
Reference in New Issue
Block a user