|
|
|
@ -29,6 +29,54 @@ |
|
|
|
|
#include <stdint.h> |
|
|
|
|
#include "avio.h" |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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. |
|
|
|
|
* |
|
|
|
|
* @param pb address of the AVIOContext where the data shall be written |
|
|
|
|
* @param buf_in address of the buffer holding the input data |
|
|
|
|
* @param size size (in bytes) of the input buffer |
|
|
|
|
* @param filter_ps whether to write parameter set NAL units to the output (0) |
|
|
|
|
* or to discard them (non-zero) |
|
|
|
|
* @param ps_count address of the variable where the number of discarded |
|
|
|
|
* parameter set NAL units shall be written, may be NULL |
|
|
|
|
* @return the amount (in bytes) of data written in case of success, a negative |
|
|
|
|
* value corresponding to an AVERROR code in case of failure |
|
|
|
|
*/ |
|
|
|
|
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 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. |
|
|
|
|
* |
|
|
|
|
* @param buf_in address of the buffer holding the input data |
|
|
|
|
* @param size address of the variable holding the size (in bytes) of the input |
|
|
|
|
* buffer (on input) and of the output buffer (on output) |
|
|
|
|
* @param buf_out address of the variable holding the address of the output |
|
|
|
|
* buffer |
|
|
|
|
* @param filter_ps whether to write parameter set NAL units to the output (0) |
|
|
|
|
* or to discard them (non-zero) |
|
|
|
|
* @param ps_count address of the variable where the number of discarded |
|
|
|
|
* parameter set NAL units shall be written, may be NULL |
|
|
|
|
* @return 0 in case of success, a negative value corresponding to an AVERROR |
|
|
|
|
* code in case of failure |
|
|
|
|
*/ |
|
|
|
|
int ff_hevc_annexb2mp4_buf(const uint8_t *buf_in, uint8_t **buf_out, |
|
|
|
|
int *size, int filter_ps, int *ps_count); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Writes HEVC extradata (parameter sets, declarative SEI NAL units) to the |
|
|
|
|
* provided AVIOContext. |
|
|
|
|