FFmpeg
Functions | Variables
avc.c File Reference
#include "libavutil/intreadwrite.h"
#include "libavcodec/h264.h"
#include "libavcodec/get_bits.h"
#include "avformat.h"
#include "avio.h"
#include "avc.h"
#include "avio_internal.h"

Go to the source code of this file.

Functions

static const uint8_t * avc_find_startcode_internal (const uint8_t *p, const uint8_t *end)
 
const uint8_t * ff_avc_find_startcode (const uint8_t *p, const uint8_t *end)
 
static int avc_parse_nal_units (AVIOContext *pb, NALUList *list, const uint8_t *buf_in, int size)
 
int ff_avc_parse_nal_units (AVIOContext *pb, const uint8_t *buf_in, int size)
 
int ff_nal_units_create_list (NALUList *list, const uint8_t *buf, int size)
 
void ff_nal_units_write_list (const NALUList *list, AVIOContext *pb, const uint8_t *buf)
 
int ff_avc_parse_nal_units_buf (const uint8_t *buf_in, uint8_t **buf, int *size)
 
int ff_isom_write_avcc (AVIOContext *pb, const uint8_t *data, int len)
 
int ff_avc_write_annexb_extradata (const uint8_t *in, uint8_t **buf, int *size)
 
const uint8_t * ff_avc_mp4_find_startcode (const uint8_t *start, const uint8_t *end, int nal_length_size)
 
uint8_t * ff_nal_unit_extract_rbsp (const uint8_t *src, uint32_t src_len, uint32_t *dst_len, int header_len)
 
static int get_ue_golomb (GetBitContext *gb)
 
static int get_se_golomb (GetBitContext *gb)
 
int ff_avc_decode_sps (H264SPS *sps, const uint8_t *buf, int buf_size)
 

Variables

static const AVRational avc_sample_aspect_ratio [17]
 

Function Documentation

◆ avc_find_startcode_internal()

static const uint8_t* avc_find_startcode_internal ( const uint8_t *  p,
const uint8_t *  end 
)
static

Definition at line 30 of file avc.c.

Referenced by ff_avc_find_startcode().

◆ ff_avc_find_startcode()

const uint8_t* ff_avc_find_startcode ( const uint8_t *  p,
const uint8_t *  end 
)

◆ avc_parse_nal_units()

static int avc_parse_nal_units ( AVIOContext pb,
NALUList list,
const uint8_t *  buf_in,
int  size 
)
static

Definition at line 73 of file avc.c.

Referenced by ff_avc_parse_nal_units(), and ff_nal_units_create_list().

◆ ff_avc_parse_nal_units()

int ff_avc_parse_nal_units ( AVIOContext pb,
const uint8_t *  buf_in,
int  size 
)

Definition at line 109 of file avc.c.

Referenced by ff_avc_parse_nal_units_buf(), ff_hevc_annexb2mp4(), and ff_mov_write_packet().

◆ ff_nal_units_create_list()

int ff_nal_units_create_list ( NALUList list,
const uint8_t *  buf,
int  size 
)

Definition at line 114 of file avc.c.

◆ ff_nal_units_write_list()

void ff_nal_units_write_list ( const NALUList list,
AVIOContext pb,
const uint8_t *  buf 
)

Definition at line 120 of file avc.c.

◆ ff_avc_parse_nal_units_buf()

int ff_avc_parse_nal_units_buf ( const uint8_t *  buf_in,
uint8_t **  buf,
int size 
)

◆ ff_isom_write_avcc()

int ff_isom_write_avcc ( AVIOContext pb,
const uint8_t *  data,
int  len 
)

◆ ff_avc_write_annexb_extradata()

int ff_avc_write_annexb_extradata ( const uint8_t *  in,
uint8_t **  buf,
int size 
)

Definition at line 255 of file avc.c.

Referenced by get_private_data(), and mov_write_isml_manifest().

◆ ff_avc_mp4_find_startcode()

const uint8_t* ff_avc_mp4_find_startcode ( const uint8_t *  start,
const uint8_t *  end,
int  nal_length_size 
)

Definition at line 286 of file avc.c.

Referenced by ff_rtp_send_h264_hevc().

◆ ff_nal_unit_extract_rbsp()

uint8_t* ff_nal_unit_extract_rbsp ( const uint8_t *  src,
uint32_t  src_len,
uint32_t *  dst_len,
int  header_len 
)

Definition at line 303 of file avc.c.

Referenced by ff_avc_decode_sps(), hvcc_add_nal_unit(), and write_codec_attr().

◆ get_ue_golomb()

static int get_ue_golomb ( GetBitContext gb)
inlinestatic

Definition at line 355 of file avc.c.

Referenced by ff_avc_decode_sps(), and get_se_golomb().

◆ get_se_golomb()

static int get_se_golomb ( GetBitContext gb)
inlinestatic

Definition at line 362 of file avc.c.

Referenced by ff_avc_decode_sps().

◆ ff_avc_decode_sps()

int ff_avc_decode_sps ( H264SPS sps,
const uint8_t *  buf,
int  buf_size 
)

Definition at line 368 of file avc.c.

Referenced by ff_isom_write_avcc(), and mxf_parse_h264_frame().

Variable Documentation

◆ avc_sample_aspect_ratio

const AVRational avc_sample_aspect_ratio[17]
static
Initial value:
= {
{ 0, 1 },
{ 1, 1 },
{ 12, 11 },
{ 10, 11 },
{ 16, 11 },
{ 40, 33 },
{ 24, 11 },
{ 20, 11 },
{ 32, 11 },
{ 80, 33 },
{ 18, 11 },
{ 15, 11 },
{ 64, 33 },
{ 160, 99 },
{ 4, 3 },
{ 3, 2 },
{ 2, 1 },
}

Definition at line 335 of file avc.c.

Referenced by ff_avc_decode_sps().