aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2014-09-26 14:15:25 +0100
committerVittorio Giovara <vittorio.giovara@gmail.com>2014-10-08 18:17:49 +0100
commit5a419b2dd1881889d436f55741fd3ff3f9f436c4 (patch)
tree66d406037b11884a24f35498b7249e6dbf7ddd7a
parent04ccd584a70fad4ebb29ca340d704970ff313cbc (diff)
downloadffmpeg-5a419b2dd1881889d436f55741fd3ff3f9f436c4.tar.gz
pixdesc: return color properties names
-rw-r--r--doc/APIchanges3
-rw-r--r--libavutil/pixdesc.c58
-rw-r--r--libavutil/pixdesc.h25
-rw-r--r--libavutil/version.h4
4 files changed, 88 insertions, 2 deletions
diff --git a/doc/APIchanges b/doc/APIchanges
index 3df116e0df..ee317193c5 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -13,6 +13,9 @@ libavutil: 2014-08-09
API changes, most recent first:
+2014-09-xx - xxxxxxx - lavu 54.04.0 - pixdesc.h
+ Add API to return the name of frame and context color properties.
+
2014-09-xx - xxxxxxx - lavc 56.2.0 - vdpau.h
Add av_vdpau_bind_context(). This function should now be used for creating
(or resetting) a AVVDPAUContext instead of av_vdpau_alloc_context().
diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
index 3215276164..baace8c9bc 100644
--- a/libavutil/pixdesc.c
+++ b/libavutil/pixdesc.c
@@ -1523,6 +1523,33 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
},
};
+static const char *color_range_names[AVCOL_RANGE_NB] = {
+ "unknown", "tv", "pc",
+};
+
+static const char *color_primaries_names[AVCOL_PRI_NB] = {
+ "reserved", "bt709", "unknown", "reserved", "bt470m",
+ "bt470bg", "smpte170m", "smpte240m", "film", "bt2020",
+};
+
+static const char *color_transfer_names[AVCOL_TRC_NB] = {
+ "reserved", "bt709", "unknown", "reserved", "bt470m",
+ "bt470bg", "smpte170m", "smpte240m", "linear", "log100",
+ "log316", "iec61966-2-4", "bt1361e", "iec61966-2-1",
+ "bt2020-10", "bt2020-20",
+};
+
+static const char *color_space_names[AVCOL_SPC_NB] = {
+ "gbr", "bt709", "unknown", "reserved", "fcc",
+ "bt470bg", "smpte170m", "smpte240m", "ycgco",
+ "bt2020nc", "bt2020c",
+};
+
+static const char *chroma_location_names[AVCHROMA_LOC_NB] = {
+ "unspecified", "left", "center", "topleft",
+ "top", "bottomleft", "bottom",
+};
+
FF_DISABLE_DEPRECATION_WARNINGS
static enum AVPixelFormat get_pix_fmt_internal(const char *name)
{
@@ -1700,3 +1727,34 @@ enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt)
}
#undef PIX_FMT_SWAP_ENDIANNESS
}
+
+const char *av_color_range_name(enum AVColorRange range)
+{
+ return (unsigned) range < AVCOL_RANGE_NB ?
+ color_range_names[range] : NULL;
+}
+
+const char *av_color_primaries_name(enum AVColorPrimaries primaries)
+{
+ return (unsigned) primaries < AVCOL_PRI_NB ?
+ color_primaries_names[primaries] : NULL;
+}
+
+const char *av_color_transfer_name(enum AVColorTransferCharacteristic transfer)
+{
+ return (unsigned) transfer < AVCOL_TRC_NB ?
+ color_transfer_names[transfer] : NULL;
+}
+
+const char *av_color_space_name(enum AVColorSpace space)
+{
+ return (unsigned) space < AVCOL_SPC_NB ?
+ color_space_names[space] : NULL;
+}
+
+const char *av_chroma_location_name(enum AVChromaLocation location)
+{
+ return (unsigned) location < AVCHROMA_LOC_NB ?
+ chroma_location_names[location] : NULL;
+}
+
diff --git a/libavutil/pixdesc.h b/libavutil/pixdesc.h
index 1c9e0af11f..23dc009a12 100644
--- a/libavutil/pixdesc.h
+++ b/libavutil/pixdesc.h
@@ -291,4 +291,29 @@ int av_pix_fmt_count_planes(enum AVPixelFormat pix_fmt);
*/
enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt);
+/**
+ * @return the name for provided color range or NULL if unknown.
+ */
+const char *av_color_range_name(enum AVColorRange range);
+
+/**
+ * @return the name for provided color primaries or NULL if unknown.
+ */
+const char *av_color_primaries_name(enum AVColorPrimaries primaries);
+
+/**
+ * @return the name for provided color transfer or NULL if unknown.
+ */
+const char *av_color_transfer_name(enum AVColorTransferCharacteristic transfer);
+
+/**
+ * @return the name for provided color space or NULL if unknown.
+ */
+const char *av_color_space_name(enum AVColorSpace space);
+
+/**
+ * @return the name for provided chroma location or NULL if unknown.
+ */
+const char *av_chroma_location_name(enum AVChromaLocation location);
+
#endif /* AVUTIL_PIXDESC_H */
diff --git a/libavutil/version.h b/libavutil/version.h
index 79da1aa1ab..8279635a83 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -54,8 +54,8 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 54
-#define LIBAVUTIL_VERSION_MINOR 3
-#define LIBAVUTIL_VERSION_MICRO 1
+#define LIBAVUTIL_VERSION_MINOR 4
+#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \