Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-07-13 00:31:12 +0300
committerMichael Niedermayer <michael@niedermayer.cc>2015-07-13 00:44:24 +0300
commit4690a636324663be660602ea4d1d80ba4fa29763 (patch)
treee2e86aeda6938c596a5ac3362b59910787b6cd79 /libavcodec/hevc.h
parent4c42c66935a7bdaded8667fa76dc0945ae66e867 (diff)
parentd82e1adc2019135a2fc45372e0ed0b5ef107cdd0 (diff)
Merge commit 'd82e1adc2019135a2fc45372e0ed0b5ef107cdd0'
* commit 'd82e1adc2019135a2fc45372e0ed0b5ef107cdd0': hevc: move splitting the packet into NALUs into a separate function Conflicts: libavcodec/hevc.c libavcodec/hevc.h libavcodec/hevc_parse.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
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 8f4346efa2..a774c6b0bc 100644
--- a/libavcodec/hevc.h
+++ b/libavcodec/hevc.h
@@ -761,6 +761,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;
+
typedef struct HEVCLocalContext {
uint8_t cabac_state[HEVC_CONTEXTS];
@@ -900,9 +907,7 @@ typedef struct HEVCContext {
const uint8_t *data;
- 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;
@@ -1068,6 +1073,12 @@ void ff_hevc_hls_mvd_coding(HEVCContext *s, int x0, int y0, int log2_cb_size);
int ff_hevc_extract_rbsp(HEVCContext *s, const uint8_t *src, int length,
HEVCNAL *nal);
+/**
+ * Split an input packet into NAL units.
+ */
+int ff_hevc_split_packet(HEVCContext *s, 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);