---
libavutil/pixdesc.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++
libavutil/pixdesc.h | 29 ++++++++++++++++++
2 files changed, 115 insertions(+)
diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
index 3215276..42d5dd2 100644
--- a/libavutil/pixdesc.c
+++ b/libavutil/pixdesc.c
@@ -1700,3 +1700,89 @@ enum AVPixelFormat av_pix_fmt_swap_endianness(enum
AVPixelFormat pix_fmt)
}
#undef PIX_FMT_SWAP_ENDIANNESS
}
+
+const char* av_get_color_primaries_name(enum AVColorPrimaries color_primaries)
+{
+ switch (color_primaries) {
+ case AVCOL_PRI_BT709: return "ITU-R BT.709";
+ case AVCOL_PRI_UNSPECIFIED: return "Unspecified";
+ case AVCOL_PRI_BT470M: return "ITU-R BT.470M";
+ case AVCOL_PRI_BT470BG: return "ITU-R BT.470BG";
+ case AVCOL_PRI_SMPTE170M: return "SMPTE 170M";
+ case AVCOL_PRI_SMPTE240M: return "SMPTE 240M";
+ case AVCOL_PRI_FILM: return "Film";
+ case AVCOL_PRI_BT2020: return "ITU-R BT.2020";
+ case AVCOL_PRI_RESERVED:
+ case AVCOL_PRI_NB: return NULL;
+ }
+ return NULL;
+}
+
+const char* av_get_color_transfer_name(enum AVColorTransferCharacteristic
+ color_transfer)
+{
+ switch (color_transfer) {
+ case AVCOL_TRC_BT709: return "BT.709";
+ case AVCOL_TRC_UNSPECIFIED: return "Unspecified";
+ case AVCOL_TRC_GAMMA22: return "Gamma 2.2";
+ case AVCOL_TRC_GAMMA28: return "Gamma 2.8";
+ case AVCOL_TRC_SMPTE170M: return "SMPTE 170 M";
+ case AVCOL_TRC_SMPTE240M: return "SMPTE 240 M";
+ case AVCOL_TRC_LINEAR: return "Linear";
+ case AVCOL_TRC_LOG: return "Log";
+ case AVCOL_TRC_LOG_SQRT: return "Log square root";
+ case AVCOL_TRC_IEC61966_2_4: return "IEC 61966-2-4";
+ case AVCOL_TRC_BT1361_ECG: return "BT.1361 ECG";
+ case AVCOL_TRC_IEC61966_2_1: return "IEC 61966-2-1";
+ case AVCOL_TRC_BT2020_10: return "BT.2020 10 bits";
+ case AVCOL_TRC_BT2020_12: return "BT.2020 12 bits";
+ case AVCOL_TRC_RESERVED:
+ case AVCOL_TRC_NB: return NULL;
+ }
+ return NULL;
+}
+
+const char* av_get_colorspace_name(enum AVColorSpace colorspace)
+{
+ switch (colorspace) {
+ case AVCOL_SPC_RGB: return "RGB";
+ case AVCOL_SPC_BT709: return "BT.709";
+ case AVCOL_SPC_UNSPECIFIED: return "Unspecified";
+ case AVCOL_SPC_FCC: return "FourCC";
+ case AVCOL_SPC_BT470BG: return "BT.470 BG";
+ case AVCOL_SPC_SMPTE170M: return "SMPTE 170 M";
+ case AVCOL_SPC_SMPTE240M: return "SMPTE 240 M";
+ case AVCOL_SPC_YCOCG: return "YCOCG";
+ case AVCOL_SPC_BT2020_NCL: return "BT.2020 NCL";
+ case AVCOL_SPC_BT2020_CL: return "BT.2020 CL";
+ case AVCOL_SPC_RESERVED:
+ case AVCOL_SPC_NB: return NULL;
+ }
+ return NULL;
+}
+
+const char* av_get_color_range_name(enum AVColorRange color_range)
+{
+ switch (color_range) {
+ case AVCOL_RANGE_UNSPECIFIED: return "Unspecified";
+ case AVCOL_RANGE_MPEG: return "MPEG (219*2^(n-8))";
+ case AVCOL_RANGE_JPEG: return "JPEG (2^n-1)";
+ case AVCOL_RANGE_NB: return NULL;
+ }
+ return NULL;
+}
+
+const char* av_get_chroma_location_name(enum AVChromaLocation chroma_location)
+{
+ switch (chroma_location) {
+ case AVCHROMA_LOC_UNSPECIFIED: return "Unspecified";
+ case AVCHROMA_LOC_LEFT: return "Left";
+ case AVCHROMA_LOC_CENTER: return "Center";
+ case AVCHROMA_LOC_TOPLEFT: return "Top-left";
+ case AVCHROMA_LOC_TOP: return "Top";
+ case AVCHROMA_LOC_BOTTOMLEFT: return "Bottom-left";
+ case AVCHROMA_LOC_BOTTOM: return "Bottom";
+ case AVCHROMA_LOC_NB: return NULL;
+ }
+ return NULL;
+}
diff --git a/libavutil/pixdesc.h b/libavutil/pixdesc.h
index 1c9e0af..1a09bff 100644
--- a/libavutil/pixdesc.h
+++ b/libavutil/pixdesc.h
@@ -291,4 +291,33 @@ 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 a color primaries, NULL in case color_primaries is
+ * unknown.
+ */
+const char* av_get_color_primaries_name(enum AVColorPrimaries color_primaries);
+
+/**
+ * Return the name for a color transfer charateristic, NULL in case
+ * color_transfer is unknown.
+ */
+const char* av_get_color_transfer_name(enum AVColorTransferCharacteristic
+ color_transfer);
+
+/**
+ * Return the name for a colorspace, NULL in case colorspace is unknown.
+ */
+const char* av_get_colorspace_name(enum AVColorSpace colorspace);
+
+/**
+ * Return the name for a color range, NULL in case color_range is unknown.
+ */
+const char* av_get_color_range_name(enum AVColorRange color_range);
+
+/**
+ * Return the name for a color location, NULL in case chroma_location is
+ * unknown.
+ */
+const char* av_get_chroma_location_name(enum AVChromaLocation chroma_location);
+
#endif /* AVUTIL_PIXDESC_H */
--
2.1.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel