[libbluray-devel] Add HEVC/2160p video format
hpi1
git at videolan.org
Wed Aug 30 08:50:49 CEST 2017
libbluray | branch: master | hpi1 <hpi1 at anonymous.org> | Mon Aug 28 09:50:43 2017 +0300| [14aa7e9c0f5a79e6880029d956187b8b43ef62a3] | committer: hpi1
Add HEVC/2160p video format
> http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=14aa7e9c0f5a79e6880029d956187b8b43ef62a3
---
src/devtools/clpi_dump.c | 1 +
src/devtools/mpls_dump.c | 1 +
src/devtools/strings.h | 2 ++
src/libbluray/bdnav/bdparse.h | 2 ++
src/libbluray/bdnav/clpi_parse.c | 1 +
src/libbluray/bdnav/mpls_parse.c | 1 +
src/libbluray/bluray.h | 4 +++-
7 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/devtools/clpi_dump.c b/src/devtools/clpi_dump.c
index fa224dd2..ad5154ce 100644
--- a/src/devtools/clpi_dump.c
+++ b/src/devtools/clpi_dump.c
@@ -63,6 +63,7 @@ _show_stream(CLPI_PROG_STREAM *ss, int level)
case 0xea:
case 0x1b:
case 0x20:
+ case 0x24:
indent_printf(level, "Format %02x: %s", ss->format,
_lookup_str(video_format_map, ss->format));
indent_printf(level, "Rate %02x: %s", ss->rate,
diff --git a/src/devtools/mpls_dump.c b/src/devtools/mpls_dump.c
index 64274bbf..10dffbda 100644
--- a/src/devtools/mpls_dump.c
+++ b/src/devtools/mpls_dump.c
@@ -115,6 +115,7 @@ _show_stream(MPLS_STREAM *ss, int level)
case 0x02:
case 0xea:
case 0x1b:
+ case 0x24:
indent_printf(level, "Format %02x: %s", ss->format,
_lookup_str(video_format_map, ss->format));
indent_printf(level, "Rate %02x: %s", ss->rate,
diff --git a/src/devtools/strings.h b/src/devtools/strings.h
index 9f78dcaf..9125f2f6 100644
--- a/src/devtools/strings.h
+++ b/src/devtools/strings.h
@@ -39,6 +39,7 @@ const VALUE_MAP codec_map[] = {
{0xea, "VC-1"},
{0x1b, "H.264"},
{0x20, "H.264 MVC dep."},
+ {0x24, "HEVC"},
{0x90, "Presentation Graphics"},
{0x91, "Presentation Graphics"},
{0x92, "Interactive Graphics"},
@@ -54,6 +55,7 @@ const VALUE_MAP video_format_map[] = {
{5, "720p"},
{6, "1080p"},
{7, "576p"},
+ {8, "2160p"},
{0, NULL}
};
diff --git a/src/libbluray/bdnav/bdparse.h b/src/libbluray/bdnav/bdparse.h
index c11f2b09..9242449c 100644
--- a/src/libbluray/bdnav/bdparse.h
+++ b/src/libbluray/bdnav/bdparse.h
@@ -37,6 +37,7 @@
#define BD_STREAM_TYPE_AUDIO_DTSHD_MASTER 0x86
#define BD_STREAM_TYPE_VIDEO_VC1 0xea
#define BD_STREAM_TYPE_VIDEO_H264 0x1b
+#define BD_STREAM_TYPE_VIDEO_HEVC 0x24
#define BD_STREAM_TYPE_SUB_PG 0x90
#define BD_STREAM_TYPE_SUB_IG 0x91
#define BD_STREAM_TYPE_SUB_TEXT 0x92
@@ -48,6 +49,7 @@
#define BD_VIDEO_FORMAT_720P 5 // SMPTE 296M
#define BD_VIDEO_FORMAT_1080P 6 // SMPTE 274M
#define BD_VIDEO_FORMAT_576P 7 // ITU-R BT.1358
+#define BD_VIDEO_FORMAT_2160P 8
#define BD_VIDEO_RATE_24000_1001 1 // 23.976
#define BD_VIDEO_RATE_24 2
diff --git a/src/libbluray/bdnav/clpi_parse.c b/src/libbluray/bdnav/clpi_parse.c
index 4c094268..ef72543e 100644
--- a/src/libbluray/bdnav/clpi_parse.c
+++ b/src/libbluray/bdnav/clpi_parse.c
@@ -75,6 +75,7 @@ _parse_stream_attr(BITSTREAM *bits, CLPI_PROG_STREAM *ss)
case 0xea:
case 0x1b:
case 0x20:
+ case 0x24:
ss->format = bs_read(bits, 4);
ss->rate = bs_read(bits, 4);
ss->aspect = bs_read(bits, 4);
diff --git a/src/libbluray/bdnav/mpls_parse.c b/src/libbluray/bdnav/mpls_parse.c
index 1fd181dc..579006fd 100644
--- a/src/libbluray/bdnav/mpls_parse.c
+++ b/src/libbluray/bdnav/mpls_parse.c
@@ -183,6 +183,7 @@ _parse_stream(BITSTREAM *bits, MPLS_STREAM *s)
case 0x02:
case 0xea:
case 0x1b:
+ case 0x24:
s->format = bs_read(bits, 4);
s->rate = bs_read(bits, 4);
break;
diff --git a/src/libbluray/bluray.h b/src/libbluray/bluray.h
index b7b52e55..b2b359a6 100644
--- a/src/libbluray/bluray.h
+++ b/src/libbluray/bluray.h
@@ -140,6 +140,7 @@ typedef enum {
BLURAY_STREAM_TYPE_AUDIO_DTSHD_MASTER = 0x86,
BLURAY_STREAM_TYPE_VIDEO_VC1 = 0xea,
BLURAY_STREAM_TYPE_VIDEO_H264 = 0x1b,
+ BLURAY_STREAM_TYPE_VIDEO_HEVC = 0x24,
BLURAY_STREAM_TYPE_SUB_PG = 0x90,
BLURAY_STREAM_TYPE_SUB_IG = 0x91,
BLURAY_STREAM_TYPE_SUB_TEXT = 0x92,
@@ -154,7 +155,8 @@ typedef enum {
BLURAY_VIDEO_FORMAT_1080I = 4, // SMPTE 274M
BLURAY_VIDEO_FORMAT_720P = 5, // SMPTE 296M
BLURAY_VIDEO_FORMAT_1080P = 6, // SMPTE 274M
- BLURAY_VIDEO_FORMAT_576P = 7 // ITU-R BT.1358
+ BLURAY_VIDEO_FORMAT_576P = 7, // ITU-R BT.1358
+ BLURAY_VIDEO_FORMAT_2160P = 8, //
} bd_video_format_e;
typedef enum {
More information about the libbluray-devel
mailing list