Open Broadcaster Software
Free, open source software for live streaming and recording
obs-avc.h File Reference

Go to the source code of this file.

Enumerations

enum  {
  OBS_NAL_UNKNOWN = 0, OBS_NAL_SLICE = 1, OBS_NAL_SLICE_DPA = 2, OBS_NAL_SLICE_DPB = 3,
  OBS_NAL_SLICE_DPC = 4, OBS_NAL_SLICE_IDR = 5, OBS_NAL_SEI = 6, OBS_NAL_SPS = 7,
  OBS_NAL_PPS = 8, OBS_NAL_AUD = 9, OBS_NAL_FILLER = 12, LOG_ERROR = 100,
  LOG_WARNING = 200, LOG_INFO = 300, LOG_DEBUG = 400, simde_MM_ROUND_NEAREST,
  simde_MM_ROUND_DOWN, simde_MM_ROUND_UP, simde_MM_ROUND_TOWARD_ZERO
}
 
enum  { OBS_NAL_PRIORITY_DISPOSABLE = 0, OBS_NAL_PRIORITY_LOW = 1, OBS_NAL_PRIORITY_HIGH = 2, OBS_NAL_PRIORITY_HIGHEST = 3 }
 

Functions

EXPORT bool obs_avc_keyframe (const uint8_t *data, size_t size)
 
EXPORT const uint8_t * obs_avc_find_startcode (const uint8_t *p, const uint8_t *end)
 
EXPORT void obs_parse_avc_packet (struct encoder_packet *avc_packet, const struct encoder_packet *src)
 
EXPORT size_t obs_parse_avc_header (uint8_t **header, const uint8_t *data, size_t size)
 
EXPORT void obs_extract_avc_headers (const uint8_t *packet, size_t size, uint8_t **new_packet_data, size_t *new_packet_size, uint8_t **header_data, size_t *header_size, uint8_t **sei_data, size_t *sei_size)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
OBS_NAL_UNKNOWN 
OBS_NAL_SLICE 
OBS_NAL_SLICE_DPA 
OBS_NAL_SLICE_DPB 
OBS_NAL_SLICE_DPC 
OBS_NAL_SLICE_IDR 
OBS_NAL_SEI 
OBS_NAL_SPS 
OBS_NAL_PPS 
OBS_NAL_AUD 
OBS_NAL_FILLER 
LOG_ERROR 

Use if there's a problem that can potentially affect the program, but isn't enough to require termination of the program.

Use in creation functions and core subsystem functions. Places that should definitely not fail.

LOG_WARNING 

Use if a problem occurs that doesn't affect the program and is recoverable.

Use in places where failure isn't entirely unexpected, and can be handled safely.

LOG_INFO 

Informative message to be displayed in the log.

LOG_DEBUG 

Debug message to be used mostly by developers.

simde_MM_ROUND_NEAREST 
simde_MM_ROUND_DOWN 
simde_MM_ROUND_UP 
simde_MM_ROUND_TOWARD_ZERO 

◆ anonymous enum

anonymous enum
Enumerator
OBS_NAL_PRIORITY_DISPOSABLE 
OBS_NAL_PRIORITY_LOW 
OBS_NAL_PRIORITY_HIGH 
OBS_NAL_PRIORITY_HIGHEST 

Function Documentation

◆ obs_avc_find_startcode()

EXPORT const uint8_t* obs_avc_find_startcode ( const uint8_t *  p,
const uint8_t *  end 
)

◆ obs_avc_keyframe()

EXPORT bool obs_avc_keyframe ( const uint8_t *  data,
size_t  size 
)

◆ obs_extract_avc_headers()

EXPORT void obs_extract_avc_headers ( const uint8_t *  packet,
size_t  size,
uint8_t **  new_packet_data,
size_t *  new_packet_size,
uint8_t **  header_data,
size_t *  header_size,
uint8_t **  sei_data,
size_t *  sei_size 
)

◆ obs_parse_avc_header()

EXPORT size_t obs_parse_avc_header ( uint8_t **  header,
const uint8_t *  data,
size_t  size 
)

◆ obs_parse_avc_packet()

EXPORT void obs_parse_avc_packet ( struct encoder_packet avc_packet,
const struct encoder_packet src 
)