diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-11-01 13:07:15 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-11-01 13:07:15 +0100 |
commit | 7b91e9cf5dc7b46216aa4da79943aecf9425ab04 (patch) | |
tree | 24e303e1b752801434c49e4516fc3d02a55c500f /libavcodec | |
parent | f62dfed3de400fa02f770ea8a0b750fc297336bf (diff) | |
parent | 7644f5a80787c9b608b82873604805d7e38a6a18 (diff) | |
download | ffmpeg-7b91e9cf5dc7b46216aa4da79943aecf9425ab04.tar.gz |
Merge commit '7644f5a80787c9b608b82873604805d7e38a6a18'
* commit '7644f5a80787c9b608b82873604805d7e38a6a18':
lavc: replace avcodec_set_dimensions with ff_set_dimensions
Conflicts:
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/avcodec.h | 6 | ||||
-rw-r--r-- | libavcodec/internal.h | 6 | ||||
-rw-r--r-- | libavcodec/utils.c | 14 | ||||
-rw-r--r-- | libavcodec/version.h | 3 |
4 files changed, 29 insertions, 0 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 1cab5c5950..77d5e2290c 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -4675,7 +4675,13 @@ enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const en * @} */ +#if FF_API_SET_DIMENSIONS +/** + * @deprecated this function is not supposed to be used from outside of lavc + */ +attribute_deprecated void avcodec_set_dimensions(AVCodecContext *s, int width, int height); +#endif /** * Put a string representing the codec tag codec_tag in buf. diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 96976e1ae9..bfeb0962fd 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -225,4 +225,10 @@ const uint8_t *avpriv_find_start_code(const uint8_t *p, const uint8_t *end, uint32_t *state); +/** + * Check that the provided frame dimensions are valid and set them on the codec + * context. + */ +int ff_set_dimensions(AVCodecContext *s, int width, int height); + #endif /* AVCODEC_INTERNAL_H */ diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 7ea0084dc8..e45ea5b25f 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -230,12 +230,26 @@ unsigned avcodec_get_edge_width(void) return EDGE_WIDTH; } +#if FF_API_SET_DIMENSIONS void avcodec_set_dimensions(AVCodecContext *s, int width, int height) { + ff_set_dimensions(s, width, height); +} +#endif + +int ff_set_dimensions(AVCodecContext *s, int width, int height) +{ + int ret = av_image_check_size(width, height, 0, s); + + if (ret < 0) + width = height = 0; + s->coded_width = width; s->coded_height = height; s->width = FF_CEIL_RSHIFT(width, s->lowres); s->height = FF_CEIL_RSHIFT(height, s->lowres); + + return ret; } #if HAVE_NEON || ARCH_PPC || HAVE_MMX diff --git a/libavcodec/version.h b/libavcodec/version.h index 073c8dc8c6..96852e2e41 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -100,5 +100,8 @@ #ifndef FF_API_VOXWARE #define FF_API_VOXWARE (LIBAVCODEC_VERSION_MAJOR < 56) #endif +#ifndef FF_API_SET_DIMENSIONS +#define FF_API_SET_DIMENSIONS (LIBAVCODEC_VERSION_MAJOR < 56) +#endif #endif /* AVCODEC_VERSION_H */ |