@ -29,6 +29,54 @@
# include <stdint.h>
# include <stdint.h>
# include "avio.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
* Writes HEVC extradata ( parameter sets , declarative SEI NAL units ) to the
* provided AVIOContext .
* provided AVIOContext .