summaryrefslogtreecommitdiffstats
path: root/libavcodec/hevc.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/hevc.h')
-rw-r--r--libavcodec/hevc.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h
index 41b88db..c6e05bc 100644
--- a/libavcodec/hevc.h
+++ b/libavcodec/hevc.h
@@ -718,6 +718,13 @@ typedef struct HEVCNAL {
int temporal_id;
} HEVCNAL;
+/* an input packet split into unescaped NAL units */
+typedef struct HEVCPacket {
+ HEVCNAL *nals;
+ int nb_nals;
+ int nals_allocated;
+} HEVCPacket;
+
struct HEVCContext;
typedef struct HEVCPredContext {
@@ -843,9 +850,7 @@ typedef struct HEVCContext {
uint16_t seq_decode;
uint16_t seq_output;
- HEVCNAL *nals;
- int nb_nals;
- int nals_allocated;
+ HEVCPacket pkt;
// type of the first VCL NAL of the current frame
enum NALUnitType first_nal_type;
@@ -1022,6 +1027,12 @@ void ff_hevc_pred_init(HEVCPredContext *hpc, int bit_depth);
int ff_hevc_extract_rbsp(const uint8_t *src, int length,
HEVCNAL *nal);
+/**
+ * Split an input packet into NAL units.
+ */
+int ff_hevc_split_packet(HEVCPacket *pkt, const uint8_t *buf, int length,
+ AVCodecContext *avctx, int is_nalff, int nal_length_size);
+
int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id,
uint8_t *buf, int buf_size);
OpenPOWER on IntegriCloud