changed checking type to bitwise operation 77/110177/1 tizen_3.0_tv accepted/tizen/3.0/common/20170117.075643 accepted/tizen/3.0/ivi/20170117.005350 accepted/tizen/3.0/mobile/20170117.005253 accepted/tizen/3.0/tv/20170117.005313 accepted/tizen/3.0/wearable/20170117.005324 submit/tizen_3.0/20170113.113320 submit/tizen_3.0/20170116.054403
authorSejun Park <sejun79.park@samsung.com>
Fri, 13 Jan 2017 07:09:08 +0000 (16:09 +0900)
committerSejun Park <sejun79.park@samsung.com>
Fri, 13 Jan 2017 07:09:08 +0000 (16:09 +0900)
Change-Id: Ic68effa7a400578d274a0ed238d053bdabb0ae4a

include/media_format_private.h
packaging/capi-media-tool.spec
src/media_format.c

index 4314c7b7965f3474cff3b7dee48f3b5b5b2b1290..48133f00bad37ab5f6ba0483282a6004d1e56f49 100755 (executable)
@@ -49,35 +49,52 @@ extern "C" {
 
 #define MEDIA_FORMAT_CAST(obj) ((media_format_s*)(obj))
 
+#define CHECK_BIT(x, y) (((x) >> (y)) & 0x01)
+
+#define CHECK_IS_AUDIO(x)              \
+       (CHECK_BIT(x, 24) == 1 && CHECK_BIT(x, 25) == 0)
+
+#define CHECK_IS_VIDEO(x)              \
+       (CHECK_BIT(x, 25) == 1 && CHECK_BIT(x, 24) == 0)
+
+#define CHECK_IS_TEXT(x)               \
+       (CHECK_BIT(x, 25) == 1 && CHECK_BIT(x, 24) == 1)
+
+#define CHECK_IS_CONTAINER(x)  CHECK_BIT(x, 26)
+
+#define CHECK_IS_ENCODED(x) (CHECK_BIT(x, 28) == 1)
+
+#define CHECK_IS_RAW(x) (CHECK_BIT(x, 29) == 1)
+
 /**
  * @brief Check whether given media format is for audio or not
  * @since_tizen 2.3
  */
-#define MEDIA_FORMAT_IS_AUDIO(x_fmt) (MEDIA_FORMAT_CAST(x_fmt)->mimetype & MEDIA_FORMAT_AUDIO)
+#define MEDIA_FORMAT_IS_AUDIO(x_fmt) (CHECK_IS_AUDIO(MEDIA_FORMAT_CAST(x_fmt)->mimetype))
 
 /**
  * @brief Check whether given media format is for video or not
  * @since_tizen 2.3
  */
-#define MEDIA_FORMAT_IS_VIDEO(x_fmt) (MEDIA_FORMAT_CAST(x_fmt)->mimetype & MEDIA_FORMAT_VIDEO)
+#define MEDIA_FORMAT_IS_VIDEO(x_fmt) (CHECK_IS_VIDEO(MEDIA_FORMAT_CAST(x_fmt)->mimetype))
 
 /**
  * @brief Check whether given media format is for text or not
  * @since_tizen 2.3
  */
-#define MEDIA_FORMAT_IS_TEXT(x_fmt) (MEDIA_FORMAT_CAST(x_fmt)->mimetype & MEDIA_FORMAT_TEXT)
+#define MEDIA_FORMAT_IS_TEXT(x_fmt) (CHECK_IS_TEXT(MEDIA_FORMAT_CAST(x_fmt)->mimetype))
 
 /**
  * @brief Check whether given media format is for raw type or not
  * @since_tizen 2.3
  */
-#define MEDIA_FORMAT_IS_RAW(x_fmt) (MEDIA_FORMAT_CAST(x_fmt)->mimetype & MEDIA_FORMAT_RAW)
+#define MEDIA_FORMAT_IS_RAW(x_fmt) (CHECK_IS_RAW(MEDIA_FORMAT_CAST(x_fmt)->mimetype))
 
 /**
  * @brief Check whether given media format is for encoded type or not
  * @since_tizen 2.3
  */
-#define MEDIA_FORMAT_IS_ENCODED(x_fmt) (MEDIA_FORMAT_CAST(x_fmt)->mimetype & MEDIA_FORMAT_ENCODED)
+#define MEDIA_FORMAT_IS_ENCODED(x_fmt) (CHECK_IS_ENCODED(MEDIA_FORMAT_CAST(x_fmt)->mimetype))
 
 /**
  * @brief Gets the number of media format ref_count
@@ -103,18 +120,6 @@ extern "C" {
  */
 #define MEDIA_FORMAT_DEC_REFCOUNT_TEST(x_fmt) (g_atomic_int_dec_and_test(&(MEDIA_FORMAT_CAST(x_fmt))->ref_count))
 
-#define CHECK_BIT(x, y) (((x) >> (y)) & 0x01)
-
-#define CHECK_IS_AUDIO(x)              \
-       (CHECK_BIT(x, 24) == 1 && CHECK_BIT(x, 25) == 0)
-
-#define CHECK_IS_VIDEO(x)              \
-       (CHECK_BIT(x, 25) == 1 && CHECK_BIT(x, 24) == 0)
-
-#define CHECK_IS_TEXT(x)               \
-       (CHECK_BIT(x, 25) == 1 && CHECK_BIT(x, 24) == 1)
-
-#define CHECK_IS_CONTAINER(x)  CHECK_BIT(x, 26)
 /**
  * @brief Media format for configuring video codec.
  * @since_tizen 2.3
index 70750f112cda834569ee4e860397d7610a274ae8..8a00067d947d6122a9244d7a5aa47a2cd010595e 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       capi-media-tool
 Summary:    A Core API media tool library in Tizen Native API
-Version:    0.1.5
+Version:    0.1.6
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 4e9f7c0c122a30425d0b4826d8cafdb9678d0cad..71bc5ea7b77864e91ff876c8d2ffa0973efec6e8 100755 (executable)
@@ -63,13 +63,13 @@ int media_format_get_type(media_format_h fmt, media_format_type_e *formattype)
        if (!formattype)
                return MEDIA_FORMAT_ERROR_INVALID_PARAMETER;
 
-       if (fmt_handle->mimetype & MEDIA_FORMAT_AUDIO)
+       if (CHECK_IS_AUDIO(fmt_handle->mimetype))
                *formattype = MEDIA_FORMAT_AUDIO;
-       else if (fmt_handle->mimetype & MEDIA_FORMAT_VIDEO)
+       else if (CHECK_IS_VIDEO(fmt_handle->mimetype))
                *formattype = MEDIA_FORMAT_VIDEO;
-       else if (fmt_handle->mimetype & MEDIA_FORMAT_CONTAINER)
+       else if (CHECK_IS_CONTAINER(fmt_handle->mimetype))
                *formattype = MEDIA_FORMAT_CONTAINER;
-       else if (fmt_handle->mimetype & MEDIA_FORMAT_TEXT)
+       else if (CHECK_IS_TEXT(fmt_handle->mimetype))
                *formattype = MEDIA_FORMAT_TEXT;
        else {
                LOGE("The format handle is not for AUDIO / VIDEO / CONTAINER / TEXT..\n");
@@ -87,7 +87,7 @@ int media_format_get_container_mime(media_format_h fmt, media_format_mimetype_e
        media_format_s *fmt_handle;
        fmt_handle = (media_format_s *)fmt;
 
-       if (!(fmt_handle->mimetype & MEDIA_FORMAT_CONTAINER)) {
+       if (!CHECK_IS_CONTAINER(fmt_handle->mimetype)) {
                LOGE("The format handle is not for MEDIA_FORMAT_CONTAINER..\n");
                return MEDIA_FORMAT_ERROR_INVALID_PARAMETER;
        }