[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