Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Side by Side Diff: source/patched-ffmpeg-mt/libavcore/imgutils.h

Issue 3384002: ffmpeg source update for sep 09 (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * This file is part of FFmpeg. 2 * This file is part of FFmpeg.
3 * 3 *
4 * FFmpeg is free software; you can redistribute it and/or 4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public 5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version. 7 * version 2.1 of the License, or (at your option) any later version.
8 * 8 *
9 * FFmpeg is distributed in the hope that it will be useful, 9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details. 12 * Lesser General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU Lesser General Public 14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software 15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */ 17 */
18 18
19 #ifndef AVCORE_IMGUTILS_H 19 #ifndef AVCORE_IMGUTILS_H
20 #define AVCORE_IMGUTILS_H 20 #define AVCORE_IMGUTILS_H
21 21
22 /** 22 /**
23 * @file 23 * @file
24 * misc image utilities 24 * misc image utilities
25 */ 25 */
26 26
27 #include "libavutil/pixfmt.h" 27 #include "libavutil/pixdesc.h"
28 #include "avcore.h" 28 #include "avcore.h"
29 29
30 /** 30 /**
31 * Compute the max pixel step for each plane of an image with a
32 * format described by pixdesc.
33 *
34 * The pixel step is the distance in bytes between the first byte of
35 * the group of bytes which describe a pixel component and the first
36 * byte of the successive group in the same plane for the same
37 * component.
38 *
39 * @param max_pixsteps an array which is filled with the max pixel step
40 * for each plane. Since a plane may contain different pixel
41 * components, the computed max_pixsteps[plane] is relative to the
42 * component in the plane with the max pixel step.
43 * @param max_pixstep_comps an array which is filled with the component
44 * for each plane which has the max pixel step. May be NULL.
45 */
46 void av_image_fill_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4],
47 const AVPixFmtDescriptor *pixdesc);
48
49 /**
50 * Compute the size of an image line with format pix_fmt and width
51 * width for the plane plane.
52 *
53 * @return the computed size in bytes
54 */
55 int av_image_get_linesize(enum PixelFormat pix_fmt, int width, int plane);
56
57 /**
31 * Fill plane linesizes for an image with pixel format pix_fmt and 58 * Fill plane linesizes for an image with pixel format pix_fmt and
32 * width width. 59 * width width.
33 * 60 *
34 * @param linesizes array to be filled with the linesize for each plane 61 * @param linesizes array to be filled with the linesize for each plane
35 * @return >= 0 in case of success, a negative error code otherwise 62 * @return >= 0 in case of success, a negative error code otherwise
36 */ 63 */
37 int av_fill_image_linesizes(int linesizes[4], enum PixelFormat pix_fmt, int widt h); 64 int av_image_fill_linesizes(int linesizes[4], enum PixelFormat pix_fmt, int widt h);
38 65
39 /** 66 /**
40 * Fill plane data pointers for an image with pixel format pix_fmt and 67 * Fill plane data pointers for an image with pixel format pix_fmt and
41 * height height. 68 * height height.
42 * 69 *
43 * @param data pointers array to be filled with the pointer for each image plane 70 * @param data pointers array to be filled with the pointer for each image plane
44 * @param ptr the pointer to a buffer which will contain the image 71 * @param ptr the pointer to a buffer which will contain the image
45 * @param linesizes[4] the array containing the linesize for each 72 * @param linesizes[4] the array containing the linesize for each
46 * plane, should be filled by av_fill_image_linesizes() 73 * plane, should be filled by av_image_fill_linesizes()
47 * @return the size in bytes required for the image buffer, a negative 74 * @return the size in bytes required for the image buffer, a negative
48 * error code in case of failure 75 * error code in case of failure
49 */ 76 */
50 int av_fill_image_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int heigh t, 77 int av_image_fill_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int heigh t,
51 uint8_t *ptr, const int linesizes[4]); 78 uint8_t *ptr, const int linesizes[4]);
52 79
53 /** 80 /**
81 * Copy image plane from src to dst.
82 * That is, copy "height" number of lines of "bytewidth" bytes each.
83 * The first byte of each successive line is separated by *_linesize
84 * bytes.
85 *
86 * @param dst_linesize linesize for the image plane in dst
87 * @param src_linesize linesize for the image plane in src
88 */
89 void av_image_copy_plane(uint8_t *dst, int dst_linesize,
90 const uint8_t *src, int src_linesize,
91 int bytewidth, int height);
92
93 /**
94 * Copy image in src_data to dst_data.
95 *
96 * @param dst_linesize linesizes for the image in dst_data
97 * @param src_linesize linesizes for the image in src_data
98 */
99 void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4],
100 const uint8_t *src_data[4], const int src_linesizes[4],
101 enum PixelFormat pix_fmt, int width, int height);
102
103 /**
54 * Check if the given dimension of an image is valid, meaning that all 104 * Check if the given dimension of an image is valid, meaning that all
55 * bytes of the image can be addressed with a signed int. 105 * bytes of the image can be addressed with a signed int.
56 * 106 *
57 * @param w the width of the picture 107 * @param w the width of the picture
58 * @param h the height of the picture 108 * @param h the height of the picture
59 * @param log_offset the offset to sum to the log level for logging with log_ctx 109 * @param log_offset the offset to sum to the log level for logging with log_ctx
60 * @param log_ctx the parent logging context, it may be NULL 110 * @param log_ctx the parent logging context, it may be NULL
61 * @return >= 0 if valid, a negative error code otherwise 111 * @return >= 0 if valid, a negative error code otherwise
62 */ 112 */
113 int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *lo g_ctx);
114
115 #if FF_API_OLD_IMAGE_NAMES
116 attribute_deprecated
117 void av_fill_image_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4],
118 const AVPixFmtDescriptor *pixdesc);
119
120 attribute_deprecated
121 int av_get_image_linesize(enum PixelFormat pix_fmt, int width, int plane);
122
123 attribute_deprecated
124 int av_fill_image_linesizes(int linesizes[4], enum PixelFormat pix_fmt, int widt h);
125
126 attribute_deprecated
127 int av_fill_image_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int heigh t,
128 uint8_t *ptr, const int linesizes[4]);
129
130 attribute_deprecated
63 int av_check_image_size(unsigned int w, unsigned int h, int log_offset, void *lo g_ctx); 131 int av_check_image_size(unsigned int w, unsigned int h, int log_offset, void *lo g_ctx);
132 #endif
64 133
65 #endif /* AVCORE_IMGUTILS_H */ 134 #endif /* AVCORE_IMGUTILS_H */
OLDNEW
« no previous file with comments | « source/patched-ffmpeg-mt/libavcore/avcore.h ('k') | source/patched-ffmpeg-mt/libavcore/imgutils.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698