[Ffmpeg-cvslog] r6147 - in trunk: ffplay.c libavcodec/avcodec.h libavcodec/dsputil.h libavutil/common.h
lu_zero
subversion
Thu Aug 31 21:14:00 CEST 2006
Author: lu_zero
Date: Thu Aug 31 21:14:00 2006
New Revision: 6147
Modified:
trunk/ffplay.c
trunk/libavcodec/avcodec.h
trunk/libavcodec/dsputil.h
trunk/libavutil/common.h
Log:
Align the input buffer in ffmpeg, introduce a public macro for it
Modified: trunk/ffplay.c
==============================================================================
--- trunk/ffplay.c (original)
+++ trunk/ffplay.c Thu Aug 31 21:14:00 2006
@@ -133,7 +133,7 @@
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;
Modified: trunk/libavcodec/avcodec.h
==============================================================================
--- trunk/libavcodec/avcodec.h (original)
+++ trunk/libavcodec/avcodec.h Thu Aug 31 21:14:00 2006
@@ -17,8 +17,8 @@
#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_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);
Modified: trunk/libavcodec/dsputil.h
==============================================================================
--- trunk/libavcodec/dsputil.h (original)
+++ trunk/libavcodec/dsputil.h Thu Aug 31 21:14:00 2006
@@ -323,7 +323,7 @@
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 */
Modified: trunk/libavutil/common.h
==============================================================================
--- trunk/libavutil/common.h (original)
+++ trunk/libavutil/common.h Thu Aug 31 21:14:00 2006
@@ -364,6 +364,13 @@
#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);
More information about the ffmpeg-cvslog
mailing list