diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2010-09-07 21:23:45 +0000 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2010-09-07 21:23:45 +0000 |
commit | 9686abb8260c31be6c109d97f369aa84c46ff567 (patch) | |
tree | 11d9ca0e17d88f572529243242433be8e9e9e824 | |
parent | b163078fe309f15e4c7fecea9147ec8d8437623b (diff) | |
download | ffmpeg-9686abb8260c31be6c109d97f369aa84c46ff567.tar.gz |
Reimplement ff_img_copy_plane() as av_image_copy_plane() in libavcore,
and deprecate the old function.
Originally committed as revision 25064 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/avcodec.h | 2 | ||||
-rw-r--r-- | libavcodec/dsputil.c | 3 | ||||
-rw-r--r-- | libavcodec/dsputil.h | 7 | ||||
-rw-r--r-- | libavcodec/imgconvert.c | 14 | ||||
-rw-r--r-- | libavcore/avcore.h | 2 | ||||
-rw-r--r-- | libavcore/imgutils.c | 13 | ||||
-rw-r--r-- | libavcore/imgutils.h | 13 |
7 files changed, 41 insertions, 13 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 879eb7f136..1026631513 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -32,7 +32,7 @@ #define LIBAVCODEC_VERSION_MAJOR 52 #define LIBAVCODEC_VERSION_MINOR 87 -#define LIBAVCODEC_VERSION_MICRO 2 +#define LIBAVCODEC_VERSION_MICRO 3 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c index 2b6cd162c5..29ddb4d6ce 100644 --- a/libavcodec/dsputil.c +++ b/libavcodec/dsputil.c @@ -27,6 +27,7 @@ * DSP utils */ +#include "libavcore/imgutils.h" #include "avcodec.h" #include "dsputil.h" #include "simple_idct.h" @@ -4454,7 +4455,7 @@ av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx) c->sv_fmul_scalar[0] = sv_fmul_scalar_2_c; c->sv_fmul_scalar[1] = sv_fmul_scalar_4_c; - c->shrink[0]= ff_img_copy_plane; + c->shrink[0]= av_image_copy_plane; c->shrink[1]= ff_shrink22; c->shrink[2]= ff_shrink44; c->shrink[3]= ff_shrink88; diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index 3b5ca122fe..d88efaf3c6 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -105,7 +105,14 @@ void ff_bink_idct_put_c(uint8_t *dest, int linesize, DCTELEM *block); void ff_ea_idct_put_c(uint8_t *dest, int linesize, DCTELEM *block); /* 1/2^n downscaling functions from imgconvert.c */ +#if LIBAVCODEC_VERSION_MAJOR < 53 +/** + * @deprecated Use av_image_copy_plane() instead. + */ +attribute_deprecated void ff_img_copy_plane(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height); +#endif + void ff_shrink22(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height); void ff_shrink44(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height); void ff_shrink88(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height); diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index ee4a4d284d..f8095b94fe 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -781,20 +781,14 @@ enum PixelFormat avcodec_find_best_pix_fmt(int64_t pix_fmt_mask, enum PixelForma return dst_pix_fmt; } +#if LIBAVCODEC_VERSION_MAJOR < 53 void ff_img_copy_plane(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height) { - if (!dst || !src) - return; - for(;height > 0; height--) { - memcpy(dst, src, width); - dst += dst_wrap; - src += src_wrap; - } + av_image_copy_plane(dst, dst_wrap, src, src_wrap, width, height); } -#if LIBAVCODEC_VERSION_MAJOR < 53 int ff_get_plane_bytewidth(enum PixelFormat pix_fmt, int width, int plane) { return av_image_get_linesize(pix_fmt, width, plane); @@ -819,13 +813,13 @@ void av_picture_data_copy(uint8_t *dst_data[4], int dst_linesize[4], if (i == 1 || i == 2) { h= -((-height)>>desc->log2_chroma_h); } - ff_img_copy_plane(dst_data[i], dst_linesize[i], + av_image_copy_plane(dst_data[i], dst_linesize[i], src_data[i], src_linesize[i], bwidth, h); } break; case FF_PIXEL_PALETTE: - ff_img_copy_plane(dst_data[0], dst_linesize[0], + av_image_copy_plane(dst_data[0], dst_linesize[0], src_data[0], src_linesize[0], width, height); /* copy the palette */ diff --git a/libavcore/avcore.h b/libavcore/avcore.h index d11ae3866e..57ac487b99 100644 --- a/libavcore/avcore.h +++ b/libavcore/avcore.h @@ -27,7 +27,7 @@ #include "libavutil/avutil.h" #define LIBAVCORE_VERSION_MAJOR 0 -#define LIBAVCORE_VERSION_MINOR 7 +#define LIBAVCORE_VERSION_MINOR 8 #define LIBAVCORE_VERSION_MICRO 0 #define LIBAVCORE_VERSION_INT AV_VERSION_INT(LIBAVCORE_VERSION_MAJOR, \ diff --git a/libavcore/imgutils.c b/libavcore/imgutils.c index b75413eb67..c891212009 100644 --- a/libavcore/imgutils.c +++ b/libavcore/imgutils.c @@ -139,6 +139,19 @@ int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *lo return AVERROR(EINVAL); } +void av_image_copy_plane(uint8_t *dst, int dst_linesize, + const uint8_t *src, int src_linesize, + int bytewidth, int height) +{ + if (!dst || !src) + return; + for (;height > 0; height--) { + memcpy(dst, src, bytewidth); + dst += dst_linesize; + src += src_linesize; + } +} + #if FF_API_OLD_IMAGE_NAMES void av_fill_image_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4], const AVPixFmtDescriptor *pixdesc) diff --git a/libavcore/imgutils.h b/libavcore/imgutils.h index 291c872419..879281d0c9 100644 --- a/libavcore/imgutils.h +++ b/libavcore/imgutils.h @@ -78,6 +78,19 @@ int av_image_fill_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int heigh uint8_t *ptr, const int linesizes[4]); /** + * Copy image plane from src to dst. + * That is, copy "height" number of lines of "bytewidth" bytes each. + * The first byte of each successive line is separated by *_linesize + * bytes. + * + * @param dst_linesize linesize for the image plane in dst + * @param src_linesize linesize for the image plane in src + */ +void av_image_copy_plane(uint8_t *dst, int dst_linesize, + const uint8_t *src, int src_linesize, + int bytewidth, int height); + +/** * Check if the given dimension of an image is valid, meaning that all * bytes of the image can be addressed with a signed int. * |