and deprecate the old function. Originally committed as revision 25064 to svn://svn.ffmpeg.org/ffmpeg/trunktags/n0.8
| @@ -32,7 +32,7 @@ | |||||
| #define LIBAVCODEC_VERSION_MAJOR 52 | #define LIBAVCODEC_VERSION_MAJOR 52 | ||||
| #define LIBAVCODEC_VERSION_MINOR 87 | #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, \ | #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | ||||
| LIBAVCODEC_VERSION_MINOR, \ | LIBAVCODEC_VERSION_MINOR, \ | ||||
| @@ -27,6 +27,7 @@ | |||||
| * DSP utils | * DSP utils | ||||
| */ | */ | ||||
| #include "libavcore/imgutils.h" | |||||
| #include "avcodec.h" | #include "avcodec.h" | ||||
| #include "dsputil.h" | #include "dsputil.h" | ||||
| #include "simple_idct.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[0] = sv_fmul_scalar_2_c; | ||||
| c->sv_fmul_scalar[1] = sv_fmul_scalar_4_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[1]= ff_shrink22; | ||||
| c->shrink[2]= ff_shrink44; | c->shrink[2]= ff_shrink44; | ||||
| c->shrink[3]= ff_shrink88; | c->shrink[3]= ff_shrink88; | ||||
| @@ -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); | void ff_ea_idct_put_c(uint8_t *dest, int linesize, DCTELEM *block); | ||||
| /* 1/2^n downscaling functions from imgconvert.c */ | /* 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); | 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_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_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); | void ff_shrink88(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height); | ||||
| @@ -781,20 +781,14 @@ enum PixelFormat avcodec_find_best_pix_fmt(int64_t pix_fmt_mask, enum PixelForma | |||||
| return dst_pix_fmt; | return dst_pix_fmt; | ||||
| } | } | ||||
| #if LIBAVCODEC_VERSION_MAJOR < 53 | |||||
| void ff_img_copy_plane(uint8_t *dst, int dst_wrap, | void ff_img_copy_plane(uint8_t *dst, int dst_wrap, | ||||
| const uint8_t *src, int src_wrap, | const uint8_t *src, int src_wrap, | ||||
| int width, int height) | 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) | int ff_get_plane_bytewidth(enum PixelFormat pix_fmt, int width, int plane) | ||||
| { | { | ||||
| return av_image_get_linesize(pix_fmt, width, 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) { | if (i == 1 || i == 2) { | ||||
| h= -((-height)>>desc->log2_chroma_h); | 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], | src_data[i], src_linesize[i], | ||||
| bwidth, h); | bwidth, h); | ||||
| } | } | ||||
| break; | break; | ||||
| case FF_PIXEL_PALETTE: | 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], | src_data[0], src_linesize[0], | ||||
| width, height); | width, height); | ||||
| /* copy the palette */ | /* copy the palette */ | ||||
| @@ -27,7 +27,7 @@ | |||||
| #include "libavutil/avutil.h" | #include "libavutil/avutil.h" | ||||
| #define LIBAVCORE_VERSION_MAJOR 0 | #define LIBAVCORE_VERSION_MAJOR 0 | ||||
| #define LIBAVCORE_VERSION_MINOR 7 | |||||
| #define LIBAVCORE_VERSION_MINOR 8 | |||||
| #define LIBAVCORE_VERSION_MICRO 0 | #define LIBAVCORE_VERSION_MICRO 0 | ||||
| #define LIBAVCORE_VERSION_INT AV_VERSION_INT(LIBAVCORE_VERSION_MAJOR, \ | #define LIBAVCORE_VERSION_INT AV_VERSION_INT(LIBAVCORE_VERSION_MAJOR, \ | ||||
| @@ -139,6 +139,19 @@ int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *lo | |||||
| return AVERROR(EINVAL); | 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 | #if FF_API_OLD_IMAGE_NAMES | ||||
| void av_fill_image_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4], | void av_fill_image_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4], | ||||
| const AVPixFmtDescriptor *pixdesc) | const AVPixFmtDescriptor *pixdesc) | ||||
| @@ -77,6 +77,19 @@ int av_image_fill_linesizes(int linesizes[4], enum PixelFormat pix_fmt, int widt | |||||
| int av_image_fill_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int height, | int av_image_fill_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int height, | ||||
| uint8_t *ptr, const int linesizes[4]); | 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 | * Check if the given dimension of an image is valid, meaning that all | ||||
| * bytes of the image can be addressed with a signed int. | * bytes of the image can be addressed with a signed int. | ||||