mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Align the input buffer in ffplay, introduce a public macro for aligned declarations
Update the avcodec_decode_audio and the float_to_int16 descriptions accordingly Originally committed as revision 6147 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
12ccec0f15
commit
9814587500
2
ffplay.c
2
ffplay.c
@ -133,7 +133,7 @@ typedef struct VideoState {
|
||||
int audio_hw_buf_size;
|
||||
/* samples output by the codec. we reserve more space for avsync
|
||||
compensation */
|
||||
uint8_t audio_buf[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2];
|
||||
DECLARE_ALIGNED(16,uint8_t,audio_buf[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2]);
|
||||
unsigned int audio_buf_size; /* in bytes */
|
||||
int audio_buf_index; /* in bytes */
|
||||
AVPacket audio_pkt;
|
||||
|
@ -17,8 +17,8 @@ extern "C" {
|
||||
#define AV_STRINGIFY(s) AV_TOSTRING(s)
|
||||
#define AV_TOSTRING(s) #s
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT ((51<<16)+(11<<8)+0)
|
||||
#define LIBAVCODEC_VERSION 51.11.0
|
||||
#define LIBAVCODEC_VERSION_INT ((51<<16)+(12<<8)+0)
|
||||
#define LIBAVCODEC_VERSION 51.12.0
|
||||
#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT
|
||||
|
||||
#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
|
||||
@ -2451,6 +2451,17 @@ int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, v
|
||||
*/
|
||||
int avcodec_open(AVCodecContext *avctx, AVCodec *codec);
|
||||
|
||||
/**
|
||||
* Decode an audio frame.
|
||||
*
|
||||
* @param avctx the codec context.
|
||||
* @param samples output buffer, 16 byte aligned
|
||||
* @param frame_size_ptr the output buffer size in bytes, zero if no frame could be compressed
|
||||
* @param buf input buffer, 16 byte aligned
|
||||
* @param buf_size the input buffer size
|
||||
* @return 0 if successful, -1 if not.
|
||||
*/
|
||||
|
||||
int avcodec_decode_audio(AVCodecContext *avctx, int16_t *samples,
|
||||
int *frame_size_ptr,
|
||||
uint8_t *buf, int buf_size);
|
||||
|
@ -323,7 +323,7 @@ typedef struct DSPContext {
|
||||
void (*vector_fmul_add_add)(float *dst, const float *src0, const float *src1, const float *src2, int src3, int len, int step);
|
||||
|
||||
/* C version: convert floats from the range [384.0,386.0] to ints in [-32768,32767]
|
||||
* asm versions: convert floats from [-32768.0,32767.0] without rescaling */
|
||||
* simd versions: convert floats from [-32768.0,32767.0] without rescaling and arrays are 16byte aligned */
|
||||
void (*float_to_int16)(int16_t *dst, const float *src, int len);
|
||||
|
||||
/* (I)DCT */
|
||||
|
@ -364,6 +364,13 @@ tend= read_time();\
|
||||
#endif
|
||||
|
||||
/* memory */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n)))
|
||||
#else
|
||||
#define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
|
||||
#endif
|
||||
|
||||
void *av_malloc(unsigned int size);
|
||||
void *av_realloc(void *ptr, unsigned int size);
|
||||
void av_free(void *ptr);
|
||||
|
Loading…
Reference in New Issue
Block a user