#include "bswapdsp.h"
#include "cabac.h"
#include "get_bits.h"
+#include "h2645_parse.h"
#include "hevcdsp.h"
#include "internal.h"
#include "thread.h"
typedef struct ShortTermRPS {
unsigned int num_negative_pics;
int num_delta_pocs;
+ int rps_idx_num_delta_pocs;
int32_t delta_poc[32];
uint8_t used[32];
} ShortTermRPS;
int short_term_ref_pic_set_size;
ShortTermRPS slice_rps;
const ShortTermRPS *short_term_rps;
+ int long_term_ref_pic_set_size;
LongTermRPS long_term_rps;
unsigned int list_entry_lx[2][32];
uint8_t flags;
} HEVCFrame;
-typedef struct HEVCNAL {
- uint8_t *rbsp_buffer;
- int rbsp_buffer_size;
-
- int size;
- const uint8_t *data;
-
- int raw_size;
- const uint8_t *raw_data;
-} HEVCNAL;
-
struct HEVCContext;
typedef struct HEVCPredContext {
} HEVCPredContext;
typedef struct HEVCLocalContext {
- DECLARE_ALIGNED(16, int16_t, mc_buffer[(MAX_PB_SIZE + 7) * MAX_PB_SIZE]);
+ DECLARE_ALIGNED(16, int16_t, mc_buffer[(MAX_PB_SIZE + 24) * MAX_PB_SIZE]);
uint8_t cabac_state[HEVC_CONTEXTS];
uint8_t first_qp_group;
uint16_t seq_decode;
uint16_t seq_output;
- HEVCNAL *nals;
- int nb_nals;
- int nals_allocated;
+ H2645Packet pkt;
// type of the first VCL NAL of the current frame
enum NALUnitType first_nal_type;
void ff_hevc_pred_init(HEVCPredContext *hpc, int bit_depth);
-/**
- * Extract the raw (unescaped) HEVC bitstream.
- */
-int ff_hevc_extract_rbsp(const uint8_t *src, int length,
- HEVCNAL *nal);
-
int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id,
uint8_t *buf, int buf_size);