FFmpeg
|
#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 |
Macros | |
#define | MAX_MBPAIR_SIZE (256*1024) |
Enumerations | |
enum | { H2645_FLAG_IS_NALFF = (1 << 0), H2645_FLAG_SMALL_PADDING = (1 << 1), H2645_FLAG_USE_REF = (1 << 2) } |
Functions | |
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 nal_length_size, enum AVCodecID codec_id, int flags) |
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) |
#define MAX_MBPAIR_SIZE (256*1024) |
Definition at line 32 of file h2645_parse.h.
anonymous enum |
Enumerator | |
---|---|
H2645_FLAG_IS_NALFF | |
H2645_FLAG_SMALL_PADDING | |
H2645_FLAG_USE_REF |
Definition at line 96 of file h2645_parse.h.
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().
int ff_h2645_packet_split | ( | H2645Packet * | pkt, |
const uint8_t * | buf, | ||
int | length, | ||
void * | logctx, | ||
int | nal_length_size, | ||
enum AVCodecID | codec_id, | ||
int | flags | ||
) |
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, H2645_FLAG_USE_REF must not be set in flags. If H2645_FLAG_USE_REF is set in flags, 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().
void ff_h2645_packet_uninit | ( | H2645Packet * | pkt | ) |
Free all the allocated memory in the packet.
Definition at line 600 of file h2645_parse.c.
Referenced by cbs_h264_close(), cbs_h265_close(), cbs_h266_close(), decode_extradata_ps(), extract_extradata_close(), h264_decode_end(), hevc_decode_free(), hevc_decode_nal_units(), and hevc_parser_close().
|
inlinestatic |
Definition at line 126 of file h2645_parse.h.
Referenced by ff_h2645_packet_split(), and parse_nal_units().