Data Structures | Macros | Functions
h2645_parse.h File Reference
#include <stdint.h>
#include "libavutil/buffer.h"
#include "libavutil/error.h"
#include "libavutil/log.h"
#include "codec_id.h"
#include "get_bits.h"

Go to the source code of this file.

Data Structures

struct  H2645NAL
struct  H2645RBSP
struct  H2645Packet


#define MAX_MBPAIR_SIZE   (256*1024)


int ff_h2645_extract_rbsp (const uint8_t *src, int length, H2645RBSP *rbsp, H2645NAL *nal, int small_padding)
 Extract the raw (unescaped) bitstream. More...
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. More...
void ff_h2645_packet_uninit (H2645Packet *pkt)
 Free all the allocated memory in the packet. More...
static int get_nalsize (int nal_length_size, const uint8_t *buf, int buf_size, int *buf_index, void *logctx)

Macro Definition Documentation


#define MAX_MBPAIR_SIZE   (256*1024)

Definition at line 32 of file h2645_parse.h.

Function Documentation

◆ ff_h2645_extract_rbsp()

int ff_h2645_extract_rbsp ( const uint8_t *  src,
int  length,
H2645RBSP rbsp,
H2645NAL nal,
int  small_padding 

Extract the raw (unescaped) bitstream.

Definition at line 36 of file h2645_parse.c.

Referenced by ff_h2645_packet_split(), generate_fake_vps(), and parse_nal_units().

◆ ff_h2645_packet_split()

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.

If data == raw_data holds true for a NAL unit of the returned pkt, then said NAL unit does not contain any emulation_prevention_three_byte and the data is contained in the input buffer pointed to by buf. Otherwise, the unescaped data is part of the rbsp_buffer described by the packet's H2645RBSP.

If the packet's rbsp_buffer_ref is not NULL, the underlying AVBuffer must own rbsp_buffer. If not and rbsp_buffer is not NULL, use_ref must be 0. If use_ref is set, rbsp_buffer will be reference-counted and owned by the underlying AVBuffer of rbsp_buffer_ref.

Definition at line 465 of file h2645_parse.c.

Referenced by cbs_h2645_split_fragment(), decode_extradata_ps(), decode_nal_units(), extract_extradata_h2645(), hevc_decode_nal_units(), and parse_nal_units().

◆ ff_h2645_packet_uninit()

void ff_h2645_packet_uninit ( H2645Packet pkt)

◆ get_nalsize()

static int get_nalsize ( int  nal_length_size,
const uint8_t *  buf,
int  buf_size,
int buf_index,
void *  logctx 

Definition at line 119 of file h2645_parse.h.

Referenced by ff_h2645_packet_split(), and parse_nal_units().