summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-11-21 15:14:32 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-11-21 15:37:01 +0100
commit494945cb66fae7678efbde0be14b4d5e6fa5824d (patch)
tree3686bdf1b506f86909d609e4ecb3bbdc8476e3fd /libavcodec
parent4bf3bc6f96cfbf68191625ade624ac97595de781 (diff)
parentd1d9efaae6c7e8466b06c30ca21c6b569dd2e480 (diff)
Merge commit 'd1d9efaae6c7e8466b06c30ca21c6b569dd2e480'
* commit 'd1d9efaae6c7e8466b06c30ca21c6b569dd2e480': avcodec: split avpicture from imgconvert pixdesc: add PIX_FMT_ALPHA flag Conflicts: libavcodec/imgconvert.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/Makefile1
-rw-r--r--libavcodec/avpicture.c78
-rw-r--r--libavcodec/imgconvert.c46
3 files changed, 79 insertions, 46 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 938b5acfd6..e937c4b9fa 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -16,6 +16,7 @@ HEADERS = avcodec.h \
OBJS = allcodecs.o \
audioconvert.o \
avpacket.o \
+ avpicture.o \
bitstream.o \
bitstream_filter.o \
codec_desc.o \
diff --git a/libavcodec/avpicture.c b/libavcodec/avpicture.c
new file mode 100644
index 0000000000..a6f89ef884
--- /dev/null
+++ b/libavcodec/avpicture.c
@@ -0,0 +1,78 @@
+/*
+ * AVPicture management routines
+ * Copyright (c) 2001, 2002, 2003 Fabrice Bellard
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * @file
+ * AVPicture management routines
+ */
+
+#include "avcodec.h"
+#include "internal.h"
+#include "libavutil/common.h"
+#include "libavutil/pixdesc.h"
+#include "libavutil/imgutils.h"
+#include "libavutil/colorspace.h"
+
+int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
+ enum AVPixelFormat pix_fmt, int width, int height)
+{
+ return av_image_fill_arrays(picture->data, picture->linesize,
+ ptr, pix_fmt, width, height, 1);
+}
+
+int avpicture_layout(const AVPicture* src, enum AVPixelFormat pix_fmt, int width, int height,
+ unsigned char *dest, int dest_size)
+{
+ return av_image_copy_to_buffer(dest, dest_size,
+ (const uint8_t * const*)src->data, src->linesize,
+ pix_fmt, width, height, 1);
+}
+
+int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height)
+{
+ return av_image_get_buffer_size(pix_fmt, width, height, 1);
+}
+
+int avpicture_alloc(AVPicture *picture,
+ enum AVPixelFormat pix_fmt, int width, int height)
+{
+ int ret = av_image_alloc(picture->data, picture->linesize,
+ width, height, pix_fmt, 1);
+ if (ret < 0) {
+ memset(picture, 0, sizeof(AVPicture));
+ return ret;
+ }
+
+ return 0;
+}
+
+void avpicture_free(AVPicture *picture)
+{
+ av_free(picture->data[0]);
+}
+
+void av_picture_copy(AVPicture *dst, const AVPicture *src,
+ enum AVPixelFormat pix_fmt, int width, int height)
+{
+ av_image_copy(dst->data, dst->linesize, (const uint8_t **)src->data,
+ src->linesize, pix_fmt, width, height);
+}
+
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index 39c49bddde..2ba4a6ae09 100644
--- a/libavcodec/imgconvert.c
+++ b/libavcodec/imgconvert.c
@@ -433,26 +433,6 @@ void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int
*v_shift = desc->log2_chroma_h;
}
-int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
- enum AVPixelFormat pix_fmt, int width, int height)
-{
- return av_image_fill_arrays(picture->data, picture->linesize,
- ptr, pix_fmt, width, height, 1);
-}
-
-int avpicture_layout(const AVPicture* src, enum AVPixelFormat pix_fmt, int width, int height,
- unsigned char *dest, int dest_size)
-{
- return av_image_copy_to_buffer(dest, dest_size,
- (const uint8_t * const*)src->data, src->linesize,
- pix_fmt, width, height, 1);
-}
-
-int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height)
-{
- return av_image_get_buffer_size(pix_fmt, width, height, 1);
-}
-
static int get_pix_fmt_depth(int *min, int *max, enum AVPixelFormat pix_fmt)
{
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
@@ -635,13 +615,6 @@ enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(enum AVPixelFormat *pix_fmt
return best;
}
-void av_picture_copy(AVPicture *dst, const AVPicture *src,
- enum AVPixelFormat pix_fmt, int width, int height)
-{
- av_image_copy(dst->data, dst->linesize, (const uint8_t **)src->data,
- src->linesize, pix_fmt, width, height);
-}
-
/* 2x2 -> 1x1 */
void ff_shrink22(uint8_t *dst, int dst_wrap,
const uint8_t *src, int src_wrap,
@@ -728,25 +701,6 @@ void ff_shrink88(uint8_t *dst, int dst_wrap,
}
}
-
-int avpicture_alloc(AVPicture *picture,
- enum AVPixelFormat pix_fmt, int width, int height)
-{
- int ret;
-
- if ((ret = av_image_alloc(picture->data, picture->linesize, width, height, pix_fmt, 1)) < 0) {
- memset(picture, 0, sizeof(AVPicture));
- return ret;
- }
-
- return 0;
-}
-
-void avpicture_free(AVPicture *picture)
-{
- av_free(picture->data[0]);
-}
-
/* return true if yuv planar */
static inline int is_yuv_planar(enum AVPixelFormat fmt)
{