Go to the documentation of this file.
   25                                  HEVCSEI *
sei, 
int is_nalff, 
int nal_length_size,
 
   26                                  int err_recognition, 
int apply_defdispwin, 
void *logctx)
 
   38     for (
i = 0; 
i < 
pkt.nb_nals; 
i++) {
 
   81                              HEVCSEI *
sei, 
int *is_nalff, 
int *nal_length_size,
 
   82                              int err_recognition, 
int apply_defdispwin, 
void *logctx)
 
   94         int i, j, num_arrays, nal_len_size;
 
   99         nal_len_size = (bytestream2_get_byte(&gb) & 3) + 1;
 
  100         num_arrays   = bytestream2_get_byte(&gb);
 
  104         *nal_length_size = 2;
 
  107         for (
i = 0; 
i < num_arrays; 
i++) {
 
  108             int type = bytestream2_get_byte(&gb) & 0x3f;
 
  109             int cnt  = bytestream2_get_be16(&gb);
 
  111             for (j = 0; j < cnt; j++) {
 
  113                 int nalsize = bytestream2_peek_be16(&gb) + 2;
 
  116                            "Invalid NAL unit size in extradata.\n");
 
  121                                             *nal_length_size, err_recognition, apply_defdispwin,
 
  125                            "Decoding nal unit %d %d from hvcC failed\n",
 
  135         *nal_length_size = nal_len_size;
 
  139                                     err_recognition, apply_defdispwin, logctx);
 
  
#define AV_EF_EXPLODE
abort decoding on minor error detection
 
void ff_h2645_packet_uninit(H2645Packet *pkt)
Free all the allocated memory in the packet.
 
#define AV_LOG_VERBOSE
Detailed information.
 
static av_always_inline void bytestream2_skip(GetByteContext *g, unsigned int size)
 
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
 
static int hevc_decode_nal_units(const uint8_t *buf, int buf_size, HEVCParamSets *ps, HEVCSEI *sei, int is_nalff, int nal_length_size, int err_recognition, int apply_defdispwin, void *logctx)
 
int ff_hevc_decode_nal_sei(GetBitContext *gb, void *logctx, HEVCSEI *s, const HEVCParamSets *ps, enum HEVCNALUnitType type)
 
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
 
int ff_hevc_decode_extradata(const uint8_t *data, int size, HEVCParamSets *ps, HEVCSEI *sei, int *is_nalff, int *nal_length_size, int err_recognition, int apply_defdispwin, void *logctx)
 
static int FUNC() sei(CodedBitstreamContext *ctx, RWContext *rw, H264RawSEI *current)
 
static av_always_inline int bytestream2_get_bytes_left(GetByteContext *g)
 
int ff_hevc_decode_nal_sps(GetBitContext *gb, AVCodecContext *avctx, HEVCParamSets *ps, int apply_defdispwin)
 
int ff_hevc_decode_nal_vps(GetBitContext *gb, AVCodecContext *avctx, HEVCParamSets *ps)
 
int ff_h2645_packet_split(H2645Packet *pkt, const uint8_t *buf, int length, void *logctx, int is_nalff, int nal_length_size, enum AVCodecID codec_id, int small_padding, int use_ref)
Split an input packet into NAL units.
 
#define i(width, name, range_min, range_max)
 
static av_always_inline void bytestream2_init(GetByteContext *g, const uint8_t *buf, int buf_size)
 
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
 
int ff_hevc_decode_nal_pps(GetBitContext *gb, AVCodecContext *avctx, HEVCParamSets *ps)