summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-18 00:08:54 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-03-23 00:28:51 +0100
commitfc567ac49e17151f00f31b59030cd10f952612ef (patch)
tree0f3706fe3b4c0dd87b6ff327c45b7e67c9089875
parent2765c2ec7d5ec50f5852fe65f89c4a9e238f2157 (diff)
avcodec: Add padding after the remaining AVFrames
This limits ABI issues in case libavcodec is linked to a libavutil with larger AVFrame Which can happen if they are shiped in seperate binary packages and libavutil is upgraded A cleaner alternative would be to replace them by pointers but this would likely cause a small speedloss Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/h264.h1
-rw-r--r--libavcodec/mpegvideo.h1
-rw-r--r--libavcodec/utils.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 7f738d58ca..7262239747 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -289,6 +289,7 @@ typedef struct MMCO {
typedef struct H264Picture {
struct AVFrame f;
+ uint8_t avframe_padding[1024]; // hack to allow linking to a avutil with larger AVFrame
ThreadFrame tf;
AVBufferRef *qscale_table_buf;
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index ec1ec7d31e..cfbbb0653c 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -93,6 +93,7 @@ struct MpegEncContext;
*/
typedef struct Picture{
struct AVFrame f;
+ uint8_t avframe_padding[1024]; // hack to allow linking to a avutil with larger AVFrame
ThreadFrame tf;
AVBufferRef *qscale_table_buf;
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index cd04ca2aaf..19df3cc748 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -807,6 +807,7 @@ int avcodec_default_get_buffer(AVCodecContext *avctx, AVFrame *frame)
typedef struct CompatReleaseBufPriv {
AVCodecContext avctx;
AVFrame frame;
+ uint8_t avframe_padding[1024]; // hack to allow linking to a avutil with larger AVFrame
} CompatReleaseBufPriv;
static void compat_free_buffer(void *opaque, uint8_t *data)