FFmpeg
|
#include "libavcodec/avcodec.h"
#include "libavcodec/get_bits.h"
#include "libavcodec/golomb.h"
#include "libavcodec/hevc.h"
#include "libavutil/intreadwrite.h"
#include "avc.h"
#include "avio.h"
#include "hevc.h"
Go to the source code of this file.
Data Structures | |
struct | HVCCNALUnitArray |
struct | HEVCDecoderConfigurationRecord |
struct | HVCCProfileTierLevel |
Macros | |
#define | MAX_SPATIAL_SEGMENTATION 4096 |
|
static |
Definition at line 71 of file hevc.c.
Referenced by hvcc_parse_ptl().
|
static |
Definition at line 125 of file hevc.c.
Referenced by hvcc_parse_sps(), and hvcc_parse_vps().
|
static |
Definition at line 174 of file hevc.c.
Referenced by skip_hrd_parameters().
|
static |
Definition at line 193 of file hevc.c.
Referenced by hvcc_parse_vui().
|
static |
Definition at line 268 of file hevc.c.
Referenced by hvcc_parse_vui().
|
static |
Definition at line 277 of file hevc.c.
Referenced by hvcc_parse_sps().
|
static |
Definition at line 355 of file hevc.c.
Referenced by hvcc_parse_sps().
|
static |
Definition at line 362 of file hevc.c.
Referenced by hvcc_add_nal_unit().
|
static |
Definition at line 399 of file hevc.c.
Referenced by hvcc_parse_sps().
|
static |
Definition at line 418 of file hevc.c.
Referenced by hvcc_parse_sps().
|
static |
Definition at line 485 of file hevc.c.
Referenced by hvcc_add_nal_unit().
|
static |
Definition at line 589 of file hevc.c.
Referenced by hvcc_add_nal_unit().
|
static |
Definition at line 646 of file hevc.c.
Referenced by hvcc_add_nal_unit().
|
static |
Definition at line 659 of file hevc.c.
Referenced by hvcc_add_nal_unit().
|
static |
Definition at line 712 of file hevc.c.
Referenced by ff_isom_write_hvcc().
|
static |
Definition at line 768 of file hevc.c.
Referenced by ff_isom_write_hvcc().
|
static |
Definition at line 788 of file hevc.c.
Referenced by ff_isom_write_hvcc().
|
static |
Definition at line 802 of file hevc.c.
Referenced by ff_isom_write_hvcc().
int ff_hevc_annexb2mp4 | ( | AVIOContext * | pb, |
const uint8_t * | buf_in, | ||
int | size, | ||
int | filter_ps, | ||
int * | ps_count | ||
) |
Writes Annex B formatted HEVC NAL units to the provided AVIOContext.
The NAL units are converted to an MP4-compatible format (start code prefixes are replaced by 4-byte size fields, as per ISO/IEC 14496-15).
If filter_ps is non-zero, any HEVC parameter sets found in the input will be discarded, and *ps_count will be set to the number of discarded PS NAL units.
pb | address of the AVIOContext where the data shall be written |
buf_in | address of the buffer holding the input data |
size | size (in bytes) of the input buffer |
filter_ps | whether to write parameter set NAL units to the output (0) or to discard them (non-zero) |
ps_count | address of the variable where the number of discarded parameter set NAL units shall be written, may be NULL |
Definition at line 998 of file hevc.c.
Referenced by ff_hevc_annexb2mp4_buf(), and ff_mov_write_packet().
int ff_hevc_annexb2mp4_buf | ( | const uint8_t * | buf_in, |
uint8_t ** | buf_out, | ||
int * | size, | ||
int | filter_ps, | ||
int * | ps_count | ||
) |
Writes Annex B formatted HEVC NAL units to a data buffer.
The NAL units are converted to an MP4-compatible format (start code prefixes are replaced by 4-byte size fields, as per ISO/IEC 14496-15).
If filter_ps is non-zero, any HEVC parameter sets found in the input will be discarded, and *ps_count will be set to the number of discarded PS NAL units.
On output, *size holds the size (in bytes) of the output data buffer.
buf_in | address of the buffer holding the input data |
size | address of the variable holding the size (in bytes) of the input buffer (on input) and of the output buffer (on output) |
buf_out | address of the variable holding the address of the output buffer |
filter_ps | whether to write parameter set NAL units to the output (0) or to discard them (non-zero) |
ps_count | address of the variable where the number of discarded parameter set NAL units shall be written, may be NULL |
Definition at line 1046 of file hevc.c.
Referenced by ff_mov_write_packet(), and mkv_write_block().
int ff_isom_write_hvcc | ( | AVIOContext * | pb, |
const uint8_t * | data, | ||
int | size, | ||
int | ps_array_completeness | ||
) |
Writes HEVC extradata (parameter sets, declarative SEI NAL units) to the provided AVIOContext.
If the extradata is Annex B format, it gets converted to hvcC format before writing.
pb | address of the AVIOContext where the hvcC shall be written |
data | address of the buffer holding the data needed to write the hvcC |
size | size (in bytes) of the data buffer |
ps_array_completeness | whether all parameter sets are in the hvcC (1) or there may be additional parameter sets in the bitstream (0) |
Definition at line 1062 of file hevc.c.
Referenced by mkv_write_native_codecprivate(), and mov_write_hvcc_tag().