Utility functions
[Encoding/Decoding Library]

Miscellaneous utility functions related to both encoding and decoding (or neither). More...


Data Structures

struct  AVBitStreamFilterContext
struct  AVBitStreamFilter

Modules

 Pixel formats
 Functions for working with pixel formats.
 FFT functions

Enumerations

enum  AVLockOp { AV_LOCK_CREATE, AV_LOCK_OBTAIN, AV_LOCK_RELEASE, AV_LOCK_DESTROY }
 Lock operation used by lockmgr. More...

Functions

void avcodec_set_dimensions (AVCodecContext *s, int width, int height)
size_t av_get_codec_tag_string (char *buf, size_t buf_size, unsigned int codec_tag)
 Put a string representing the codec tag codec_tag in buf.
void avcodec_string (char *buf, int buf_size, AVCodecContext *enc, int encode)
const char * av_get_profile_name (const AVCodec *codec, int profile)
 Return a name for the specified profile, if available.
int avcodec_default_execute (AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2), void *arg, int *ret, int count, int size)
int avcodec_default_execute2 (AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2, int, int), void *arg, int *ret, int count)
int avcodec_fill_audio_frame (AVFrame *frame, int nb_channels, enum AVSampleFormat sample_fmt, const uint8_t *buf, int buf_size, int align)
 Fill audio frame data and linesize.
void avcodec_flush_buffers (AVCodecContext *avctx)
 Flush buffers, should be called when seeking or when switching to a different stream.
void avcodec_default_free_buffers (AVCodecContext *s)
int av_get_bits_per_sample (enum CodecID codec_id)
 Return codec bits per sample.
enum CodecID av_get_pcm_codec (enum AVSampleFormat fmt, int be)
 Return the PCM codec associated with a sample format.
int av_get_exact_bits_per_sample (enum CodecID codec_id)
 Return codec bits per sample.
int av_get_audio_frame_duration (AVCodecContext *avctx, int frame_bytes)
 Return audio frame duration.
void av_register_bitstream_filter (AVBitStreamFilter *bsf)
AVBitStreamFilterContextav_bitstream_filter_init (const char *name)
int av_bitstream_filter_filter (AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const char *args, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
void av_bitstream_filter_close (AVBitStreamFilterContext *bsf)
AVBitStreamFilterav_bitstream_filter_next (AVBitStreamFilter *f)
void * av_fast_realloc (void *ptr, unsigned int *size, size_t min_size)
 Reallocate the given block if it is not large enough, otherwise do nothing.
void av_fast_malloc (void *ptr, unsigned int *size, size_t min_size)
 Allocate a buffer, reusing the given one if large enough.
void av_fast_padded_malloc (void *ptr, unsigned int *size, size_t min_size)
 Same behaviour av_fast_malloc but the buffer has additional FF_INPUT_PADDING_SIZE at the end which will will always be 0.
unsigned int av_xiphlacing (unsigned char *s, unsigned int v)
 Encode extradata length to a buffer.
void av_log_missing_feature (void *avc, const char *feature, int want_sample)
 Log a generic warning message about a missing feature.
void av_log_ask_for_sample (void *avc, const char *msg,...) av_printf_format(2
 Log a generic warning message asking for a sample.
void void av_register_hwaccel (AVHWAccel *hwaccel)
 Register the hardware accelerator hwaccel.
AVHWAccelav_hwaccel_next (AVHWAccel *hwaccel)
 If hwaccel is NULL, returns the first registered hardware accelerator, if hwaccel is non-NULL, returns the next registered hardware accelerator after hwaccel, or NULL if hwaccel is the last one.
int av_lockmgr_register (int(*cb)(void **mutex, enum AVLockOp op))
 Register a user provided lock manager supporting the operations specified by AVLockOp.
enum AVMediaType avcodec_get_type (enum CodecID codec_id)
 Get the type of the given codec.
const char * avcodec_get_name (enum CodecID id)
 Get the name of a codec.
int avcodec_is_open (AVCodecContext *s)
int av_codec_is_encoder (AVCodec *codec)
int av_codec_is_decoder (AVCodec *codec)


Detailed Description

Miscellaneous utility functions related to both encoding and decoding (or neither).

Enumeration Type Documentation

enum AVLockOp

Lock operation used by lockmgr.

Enumerator:
AV_LOCK_CREATE  Create a mutex.
AV_LOCK_OBTAIN  Lock the mutex.
AV_LOCK_RELEASE  Unlock the mutex.
AV_LOCK_DESTROY  Free mutex resources.

Definition at line 4641 of file avcodec.h.


Function Documentation

void av_bitstream_filter_close ( AVBitStreamFilterContext bsf  ) 

Definition at line 50 of file bitstream_filter.c.

Referenced by exit_program(), Stagefright_close(), Stagefright_init(), and uninit().

int av_bitstream_filter_filter ( AVBitStreamFilterContext bsfc,
AVCodecContext avctx,
const char *  args,
uint8_t **  poutbuf,
int *  poutbuf_size,
const uint8_t buf,
int  buf_size,
int  keyframe 
)

Definition at line 58 of file bitstream_filter.c.

Referenced by decode(), init(), Stagefright_decode_frame(), and write_frame().

AVBitStreamFilterContext* av_bitstream_filter_init ( const char *  name  ) 

Definition at line 35 of file bitstream_filter.c.

Referenced by init(), new_output_stream(), and Stagefright_init().

AVBitStreamFilter* av_bitstream_filter_next ( AVBitStreamFilter f  ) 

Definition at line 25 of file bitstream_filter.c.

Referenced by opt_bsfs().

int av_codec_is_decoder ( AVCodec codec  ) 

Returns:
a non-zero number if codec is a decoder, zero otherwise

Definition at line 126 of file utils.c.

Referenced by avcodec_find_decoder(), avcodec_find_decoder_by_name(), avcodec_open2(), and opt_codecs().

int av_codec_is_encoder ( AVCodec codec  ) 

Returns:
a non-zero number if codec is an encoder, zero otherwise

Definition at line 121 of file utils.c.

Referenced by avcodec_close(), avcodec_find_encoder(), avcodec_find_encoder_by_name(), avcodec_open2(), and opt_codecs().

void av_fast_malloc ( void *  ptr,
unsigned int *  size,
size_t  min_size 
)

Allocate a buffer, reusing the given one if large enough.

Contrary to av_fast_realloc the current buffer contents might not be preserved and on error the old buffer is freed, thus no special handling to avoid memleaks is necessary.

Parameters:
ptr pointer to pointer to already allocated buffer, overwritten with pointer to new buffer
size size of the buffer *ptr points to
min_size minimum size of *ptr buffer after returning, *ptr will be NULL and *size 0 if an error occurred.

Definition at line 85 of file utils.c.

Referenced by ape_decode_frame(), codec_reinit(), decode_frame(), decode_i_frame(), decode_p_frame(), ff_h263_decode_frame(), ff_id3v2_parse(), ff_mpeg_update_thread_context(), ljpeg_decode_rgb_scan(), mp_decode_frame(), parse_picture_segment(), pmp_packet(), spdif_header_dts4(), spdif_write_packet(), submit_packet(), svq3_decode_frame(), truemotion1_decode_header(), and truemotion1_decode_init().

void av_fast_padded_malloc ( void *  ptr,
unsigned int *  size,
size_t  min_size 
)

Same behaviour av_fast_malloc but the buffer has additional FF_INPUT_PADDING_SIZE at the end which will will always be 0.

In addition the whole buffer will initially and after resizes be 0-initialized so that no uninitialized data will ever appear.

Definition at line 90 of file utils.c.

Referenced by cdxl_decode_frame(), decode_frame(), ff_alloc_packet2(), ff_h264_decode_nal(), ff_mjpeg_find_marker(), mimic_decode_frame(), mpc7_decode_frame(), and tqi_decode_frame().

void* av_fast_realloc ( void *  ptr,
unsigned int *  size,
size_t  min_size 
)

int av_get_audio_frame_duration ( AVCodecContext avctx,
int  frame_bytes 
)

Return audio frame duration.

Parameters:
avctx codec context
frame_bytes size of the frame, or 0 if unknown
Returns:
frame duration, in samples, if known. 0 if not able to determine.

Definition at line 2068 of file utils.c.

Referenced by ff_parse_specific_params(), get_aiff_header(), get_audio_frame_size(), rtp_write_header(), and swf_write_audio().

int av_get_bits_per_sample ( enum CodecID  codec_id  ) 

size_t av_get_codec_tag_string ( char *  buf,
size_t  buf_size,
unsigned int  codec_tag 
)

Put a string representing the codec tag codec_tag in buf.

Parameters:
buf_size size in bytes of buf
Returns:
the length of the string that would have been generated if enough space had been available, excluding the trailing null

Definition at line 1773 of file utils.c.

Referenced by avcodec_string(), avformat_write_header(), and show_stream().

int av_get_exact_bits_per_sample ( enum CodecID  codec_id  ) 

Return codec bits per sample.

Only return non-zero if the bits per sample is exactly correct, not an approximation.

Parameters:
[in] codec_id the codec
Returns:
Number of bits per sample or zero if unknown for the given codec.

Definition at line 1986 of file utils.c.

Referenced by av_get_audio_frame_duration(), and av_get_bits_per_sample().

enum CodecID av_get_pcm_codec ( enum AVSampleFormat  fmt,
int  be 
)

Return the PCM codec associated with a sample format.

Parameters:
be endianness, 0 for little, 1 for big, -1 (or anything else) for native
Returns:
CODEC_ID_PCM_* or CODEC_ID_NONE

Definition at line 2029 of file utils.c.

Referenced by lavfi_read_header().

const char* av_get_profile_name ( const AVCodec codec,
int  profile 
)

Return a name for the specified profile, if available.

Parameters:
codec the codec that is searched for the given profile
profile the profile value for which a name is requested
Returns:
A name for the profile if found, NULL otherwise.

Definition at line 1885 of file utils.c.

Referenced by avcodec_string().

AVHWAccel* av_hwaccel_next ( AVHWAccel hwaccel  ) 

If hwaccel is NULL, returns the first registered hardware accelerator, if hwaccel is non-NULL, returns the next registered hardware accelerator after hwaccel, or NULL if hwaccel is the last one.

Definition at line 2276 of file utils.c.

Referenced by ff_find_hwaccel().

int av_lockmgr_register ( int(*)(void **mutex, enum AVLockOp op)  cb  ) 

Register a user provided lock manager supporting the operations specified by AVLockOp.

mutex points to a (void *) where the lockmgr should store/get a pointer to a user allocated mutex. It's NULL upon AV_LOCK_CREATE and != NULL for all other ops.

Parameters:
cb User defined callback. Note: FFmpeg may invoke calls to this callback during the call to av_lockmgr_register(). Thus, the application must be prepared to handle that. If cb is set to NULL the lockmgr will be unregistered. Also note that during unregistration the previously registered lockmgr callback may also be invoked.

Definition at line 2293 of file utils.c.

Referenced by do_exit(), and main().

void av_log_ask_for_sample ( void *  avc,
const char *  msg,
  ... 
)

Log a generic warning message asking for a sample.

This function is intended to be used internally by FFmpeg (libavcodec, libavformat, etc.) only, and would normally not be used by applications.

Parameters:
[in] avc a pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct
[in] msg string containing an optional message, or NULL if no message

Referenced by alac_decode_init(), ape_decode_init(), au_read_header(), av_log_missing_feature(), avpriv_adx_decode_header(), cdxl_decode_frame(), cinaudio_decode_init(), cinepak_decode(), cook_decode_init(), dca_exss_parse_header(), dca_subframe_header(), decode_band_hdr(), decode_bytes(), decode_channel_transform(), decode_frame(), decode_frame_byterun1(), decode_frame_headers(), decode_frame_ilbm(), decode_init(), decode_scalefactors(), decode_slice_header(), decode_subframe(), determine_bitrate(), ea_read_packet(), execute_code(), ff_mjpeg_decode_sof(), ff_mov_read_chan(), ff_parse_mpeg2_descriptor(), get_packet_header(), iff_read_header(), imc_decode_init(), mov_read_mdhd(), mpc7_decode_init(), mtv_read_header(), mxf_read_packet_old(), mxf_read_primer_pack(), oma_read_header(), parse_setup_header(), pmp_packet(), ptx_decode_frame(), read_block_data(), read_frame(), read_header(), read_major_sync(), read_restart_header(), rso_read_header(), save_bits(), smjpeg_read_header(), spdif_header_dts(), spdif_header_truehd(), spdif_read_packet(), sunrast_decode_frame(), truemotion1_decode_header(), truespeech_decode_init(), ws_snd_decode_init(), wsaud_read_header(), xa_decode(), xmv_read_header(), xwd_decode_frame(), and xwma_read_header().

void av_log_missing_feature ( void *  avc,
const char *  feature,
int  want_sample 
)

Log a generic warning message about a missing feature.

This function is intended to be used internally by FFmpeg (libavcodec, libavformat, etc.) only, and would normally not be used by applications.

Parameters:
[in] avc a pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct
[in] feature string containing the name of the missing feature
[in] want_sample indicates if samples are wanted which exhibit this feature. If want_sample is non-zero, additional verbage will be added to the log message which tells the user how to report samples to the development mailing list.

Definition at line 2240 of file utils.c.

Referenced by aac_adtstoasc_filter(), amrnb_decode_frame(), amrwb_decode_frame(), decode_audio_block(), decode_frame(), decode_frame_header(), decode_ga_specific_config(), decode_ics(), decode_init(), decode_packet(), decode_seq_header(), decode_slice_header(), decode_subframe(), ff_eac3_parse_header(), ff_h263_decode_frame(), ff_rv34_decode_frame(), ff_vc1_parse_frame_header_adv(), flashsv_decode_frame(), latm_decode_audio_specific_config(), mpc8_decode_init(), ogg_read_page(), parse_adts_frame_header(), parse_fmtp(), parse_MP4SLDescrTag(), qt_rtp_parse_packet(), read_sbr_extension(), read_stream_mux_config(), rv10_decode_init(), smc_decode_stream(), spdif_get_offset_and_codec(), spdif_read_packet(), synth_superframe(), and tta_decode_init().

void av_register_bitstream_filter ( AVBitStreamFilter bsf  ) 

Definition at line 30 of file bitstream_filter.c.

void void av_register_hwaccel ( AVHWAccel hwaccel  ) 

Register the hardware accelerator hwaccel.

Definition at line 2267 of file utils.c.

unsigned int av_xiphlacing ( unsigned char *  s,
unsigned int  v 
)

Encode extradata length to a buffer.

Used by xiph codecs.

Parameters:
s buffer to write to; must be at least (v/255+1) bytes long
v size of extradata in bytes
Returns:
number of bytes written to the buffer.

Definition at line 2220 of file utils.c.

Referenced by fixup_vorbis_headers(), oggvorbis_encode_init(), parse_packed_headers(), and put_main_header().

int avcodec_default_execute ( AVCodecContext c,
int(*)(AVCodecContext *c2, void *arg2)  func,
void *  arg,
int *  ret,
int  count,
int  size 
)

Definition at line 634 of file utils.c.

Referenced by avcodec_get_context_defaults3(), and avcodec_thread_execute().

int avcodec_default_execute2 ( AVCodecContext c,
int(*)(AVCodecContext *c2, void *arg2, int, int)  func,
void *  arg,
int *  ret,
int  count 
)

void avcodec_default_free_buffers ( AVCodecContext s  ) 

Definition at line 1972 of file utils.c.

Referenced by avcodec_close(), ff_MPV_common_end(), and frame_thread_free().

int avcodec_fill_audio_frame ( AVFrame frame,
int  nb_channels,
enum AVSampleFormat  sample_fmt,
const uint8_t buf,
int  buf_size,
int  align 
)

Fill audio frame data and linesize.

AVFrame extended_data channel pointers are allocated if necessary for planar audio.

Parameters:
frame the AVFrame frame->nb_samples must be set prior to calling the function. This function fills in frame->data, frame->extended_data, frame->linesize[0].
nb_channels channel count
sample_fmt sample format
buf buffer to use for frame data
buf_size size of buffer
align plane size sample alignment (0 = default)
Returns:
0 on success, negative error code on failure

Definition at line 279 of file utils.c.

Referenced by audio_get_buffer(), avcodec_encode_audio(), pad_last_frame(), and write_audio_frame().

void avcodec_flush_buffers ( AVCodecContext avctx  ) 

Flush buffers, should be called when seeking or when switching to a different stream.

Definition at line 1921 of file utils.c.

Referenced by audio_decode_frame(), get_video_frame(), subtitle_thread(), and video_thread().

const char* avcodec_get_name ( enum CodecID  id  ) 

Get the name of a codec.

Returns:
a static string identifying the codec; never NULL

Definition at line 1754 of file utils.c.

Referenced by avcodec_string(), flv_write_packet(), init_input_stream(), read_frame_internal(), rtp_write_header(), and transcode_init().

enum AVMediaType avcodec_get_type ( enum CodecID  codec_id  ) 

Get the type of the given codec.

Definition at line 2374 of file utils.c.

Referenced by mkv_query_codec().

int avcodec_is_open ( AVCodecContext s  ) 

Returns:
a positive value if s is open (i.e. avcodec_open2() was called on it with no corresponding avcodec_close()), 0 otherwise.

Definition at line 2394 of file utils.c.

Referenced by avcodec_close(), avcodec_copy_context(), avcodec_open2(), and try_decode_frame().

void avcodec_set_dimensions ( AVCodecContext s,
int  width,
int  height 
)

void avcodec_string ( char *  buf,
int  buf_size,
AVCodecContext enc,
int  encode 
)

Definition at line 1788 of file utils.c.

Referenced by dump_stream_format().


Generated on Fri Oct 26 02:48:04 2012 for FFmpeg by  doxygen 1.5.8