4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: YoungHun Kim <yh8004.kim@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
22 #ifndef __MM_UTIL_GSTCS_INTERNAL_H__
23 #define __MM_UTIL_GSTCS_INTERNAL_H__
31 #include <gst/gstbuffer.h>
32 #include <gst/app/gstappsrc.h>
33 #include <gst/app/gstappbuffer.h>
34 #include <gst/app/gstappsink.h>
35 #include "mm_util_gstcs.h"
37 #define GSTCS_FREE(src) { if(src) {g_free(src); src = NULL;} }
38 typedef struct _image_format_s
40 char *format_label; /*I420, AYUV, RGB888, BGRA8888 */
41 char *colorspace; /* yuv, rgb, RGBA */
50 typedef struct _gstreamer_s
55 GstElement *colorspace;
56 GstElement *videoscale;
57 GstElement *videoflip;
59 GstBuffer *output_buffer;
66 * @param input_format_label [in] "filename.yuv" or "filename,rgb" etc
67 * @param input_width, input_height, output_width, output_height [in] int value
68 * @return This function returns image size
71 mm_setup_image_size(const char* image_format_label, int width, int height);
78 #endif /*__MM_UTIL_GSTCS_INTERNAL_H__*/