[FFmpeg-devel] [PATCH 2/7] hevc: store the escaped/raw bitstream in HEVCNAL

Hendrik Leppkes h.leppkes at gmail.com
Sun Jan 25 13:01:07 CET 2015


Hardware Accelerators require access to the escaped bitstream.
---
 libavcodec/hevc.c | 8 ++++++--
 libavcodec/hevc.h | 3 +++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c
index 8f60b3d..bcbb889 100644
--- a/libavcodec/hevc.c
+++ b/libavcodec/hevc.c
@@ -2772,8 +2772,10 @@ int ff_hevc_extract_rbsp(HEVCContext *s, const uint8_t *src, int length,
 #endif /* HAVE_FAST_UNALIGNED */
 
     if (i >= length - 1) { // no escaped 0
-        nal->data = src;
-        nal->size = length;
+        nal->data     =
+        nal->raw_data = src;
+        nal->size     =
+        nal->raw_size = length;
         return length;
     }
 
@@ -2823,6 +2825,8 @@ nsc:
 
     nal->data = dst;
     nal->size = di;
+    nal->raw_data = src;
+    nal->raw_size = si;
     return si;
 }
 
diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h
index 8fdefbb..c0fad27 100644
--- a/libavcodec/hevc.h
+++ b/libavcodec/hevc.h
@@ -734,6 +734,9 @@ typedef struct HEVCNAL {
 
     int size;
     const uint8_t *data;
+
+    int raw_size;
+    const uint8_t *raw_data;
 } HEVCNAL;
 
 typedef struct HEVCLocalContext {
-- 
1.9.5.msysgit.0



More information about the ffmpeg-devel mailing list