libavcodec/utils.c File Reference

#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "integer.h"
#include "opt.h"
#include "crc.h"
#include <stdarg.h>
#include <limits.h>
#include <float.h>
#include <fcntl.h>

Go to the source code of this file.

Data Structures

struct  InternalBuffer
struct  VideoFrameSizeAbbr
struct  VideoFrameRateAbbr

Defines

#define INTERNAL_BUFFER_SIZE   32
#define ALIGN(x, a)   (((x)+(a)-1)&~((a)-1))
#define OFFSET(x)   offsetof(AVCodecContext,x)
#define DEFAULT   0
#define V   AV_OPT_FLAG_VIDEO_PARAM
#define A   AV_OPT_FLAG_AUDIO_PARAM
#define S   AV_OPT_FLAG_SUBTITLE_PARAM
#define E   AV_OPT_FLAG_ENCODING_PARAM
#define D   AV_OPT_FLAG_DECODING_PARAM
#define AV_CODEC_DEFAULT_BITRATE   200*1000

Functions

void * av_fast_realloc (void *ptr, unsigned int *size, unsigned int min_size)
 Reallocates the given block if it is not large enough, otherwise it does nothing.
void * av_mallocz_static (unsigned int size)
 Allocation of static arrays.
void * ff_realloc_static (void *ptr, unsigned int size)
 Same as av_mallocz_static(), but does a realloc.
void av_free_static (void)
 Frees all static arrays and resets their pointers to 0.
static void do_free (void)
 Call av_free_static automatically before it's too late.
AVCodecav_codec_next (AVCodec *c)
void register_avcodec (AVCodec *format)
void avcodec_set_dimensions (AVCodecContext *s, int width, int height)
void avcodec_align_dimensions (AVCodecContext *s, int *width, int *height)
int avcodec_check_dimensions (void *av_log_ctx, unsigned int w, unsigned int h)
 Checks if the given dimension of a picture is valid, meaning that all bytes of the picture can be addressed with a signed int.
int avcodec_default_get_buffer (AVCodecContext *s, AVFrame *pic)
void avcodec_default_release_buffer (AVCodecContext *s, AVFrame *pic)
int avcodec_default_reget_buffer (AVCodecContext *s, AVFrame *pic)
int avcodec_default_execute (AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2), void **arg, int *ret, int count)
enum PixelFormat avcodec_default_get_format (struct AVCodecContext *s, const enum PixelFormat *fmt)
static const char * context_to_name (void *ptr)
void avcodec_get_context_defaults2 (AVCodecContext *s, enum CodecType codec_type)
 THIS FUNCTION IS NOT YET PART OF THE PUBLIC API! we WILL change its arguments and name a few times!
AVCodecContextavcodec_alloc_context2 (enum CodecType codec_type)
 THIS FUNCTION IS NOT YET PART OF THE PUBLIC API! we WILL change its arguments and name a few times!
void avcodec_get_context_defaults (AVCodecContext *s)
 Sets the fields of the given AVCodecContext to default values.
AVCodecContextavcodec_alloc_context (void)
 Allocates an AVCodecContext and sets its fields to default values.
void avcodec_get_frame_defaults (AVFrame *pic)
 Sets the fields of the given AVFrame to default values.
AVFrameavcodec_alloc_frame (void)
 Allocates an AVFrame and sets its fields to default values.
int attribute_align_arg avcodec_open (AVCodecContext *avctx, AVCodec *codec)
 Initializes the AVCodecContext to use the given AVCodec.
int attribute_align_arg avcodec_encode_audio (AVCodecContext *avctx, uint8_t *buf, int buf_size, const short *samples)
 Encodes an audio frame from samples into buf.
int attribute_align_arg avcodec_encode_video (AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVFrame *pict)
 Encodes a video frame from pict into buf.
int avcodec_encode_subtitle (AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub)
int attribute_align_arg avcodec_decode_video (AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, const uint8_t *buf, int buf_size)
 Decodes a video frame from buf into picture.
int attribute_align_arg avcodec_decode_audio2 (AVCodecContext *avctx, int16_t *samples, int *frame_size_ptr, const uint8_t *buf, int buf_size)
 Decodes an audio frame from buf into samples.
int avcodec_decode_audio (AVCodecContext *avctx, int16_t *samples, int *frame_size_ptr, const uint8_t *buf, int buf_size)
int avcodec_decode_subtitle (AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, const uint8_t *buf, int buf_size)
int avcodec_close (AVCodecContext *avctx)
AVCodecavcodec_find_encoder (enum CodecID id)
 Finds a registered encoder with a matching codec ID.
AVCodecavcodec_find_encoder_by_name (const char *name)
 Finds a registered encoder with the specified name.
AVCodecavcodec_find_decoder (enum CodecID id)
 Finds a registered decoder with a matching codec ID.
AVCodecavcodec_find_decoder_by_name (const char *name)
 Finds a registered decoder with the specified name.
void avcodec_string (char *buf, int buf_size, AVCodecContext *enc, int encode)
unsigned avcodec_version (void)
unsigned avcodec_build (void)
void avcodec_init (void)
 Initializes libavcodec.
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)
char av_get_pict_type_char (int pict_type)
 Returns a single letter to describe the given picture type pict_type.
int av_get_bits_per_sample (enum CodecID codec_id)
 Returns codec bits per sample.
int av_get_bits_per_sample_format (enum SampleFormat sample_fmt)
 Returns sample format bits per sample.
int avcodec_thread_init (AVCodecContext *s, int thread_count)
unsigned int av_xiphlacing (unsigned char *s, unsigned int v)
int av_tempfile (char *prefix, char **filename)
int av_parse_video_frame_size (int *width_ptr, int *height_ptr, const char *str)
 Parses str and put in width_ptr and height_ptr the detected values.
int av_parse_video_frame_rate (AVRational *frame_rate, const char *arg)
 Parses str and put in frame_rate the detected values.

Variables

const uint8_t ff_reverse [256]
static int volatile entangled_thread_counter = 0
static unsigned int last_static = 0
static unsigned int allocated_static = 0
static void ** array_static = NULL
AVCodecfirst_avcodec = NULL
static const AVOption options []
static AVClass av_codec_context_class = { "AVCodecContext", context_to_name, options }
static VideoFrameSizeAbbr video_frame_size_abbrs []
static VideoFrameRateAbbr video_frame_rate_abbrs []


Define Documentation

#define A   AV_OPT_FLAG_AUDIO_PARAM

#define ALIGN ( x,
 )     (((x)+(a)-1)&~((a)-1))

Definition at line 161 of file utils.c.

#define AV_CODEC_DEFAULT_BITRATE   200*1000

Definition at line 432 of file utils.c.

#define D   AV_OPT_FLAG_DECODING_PARAM

Definition at line 430 of file utils.c.

Referenced by gmc1_c(), gmc_c(), horizX1Filter(), idct(), and put_no_rnd_h264_chroma_mc8_c().

#define DEFAULT   0

Definition at line 424 of file utils.c.

#define E   AV_OPT_FLAG_ENCODING_PARAM

Definition at line 429 of file utils.c.

Referenced by idct().

#define INTERNAL_BUFFER_SIZE   32

Definition at line 159 of file utils.c.

Referenced by avcodec_default_free_buffers(), and avcodec_default_get_buffer().

#define OFFSET (  )     offsetof(AVCodecContext,x)

Definition at line 423 of file utils.c.

#define S   AV_OPT_FLAG_SUBTITLE_PARAM

Definition at line 428 of file utils.c.

Referenced by dering_altivec(), and wv_unpack_mono().

#define V   AV_OPT_FLAG_VIDEO_PARAM


Function Documentation

AVCodec* av_codec_next ( AVCodec c  ) 

Definition at line 129 of file utils.c.

Referenced by opt_show_formats().

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

void av_free_static ( void   ) 

Frees all static arrays and resets their pointers to 0.

Call this function to release all statically allocated tables.

Deprecated:
. Code which uses av_free_static is broken/misdesigned and should correctly use static arrays

Definition at line 106 of file utils.c.

Referenced by av_exit(), and do_free().

int av_get_bits_per_sample ( enum CodecID  codec_id  ) 

Returns codec bits per sample.

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

Definition at line 1300 of file utils.c.

Referenced by av_find_stream_info(), get_aiff_header(), get_audio_frame_size(), mkv_write_tracks(), mov_read_stsd(), mov_write_header(), pcm_decode_frame(), pcm_read_seek(), raw_read_packet(), and voc_get_packet().

int av_get_bits_per_sample_format ( enum SampleFormat  sample_fmt  ) 

Returns sample format bits per sample.

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

Definition at line 1336 of file utils.c.

Referenced by mkv_write_tracks().

char av_get_pict_type_char ( int  pict_type  ) 

Returns a single letter to describe the given picture type pict_type.

Parameters:
[in] pict_type the picture type
Returns:
A single character representing the picture type.

Definition at line 1288 of file utils.c.

Referenced by decode_mb_cavlc(), decode_slice_header(), do_video_stats(), ff_rate_estimate_qscale(), flv_h263_decode_picture_header(), show_pict_info(), and svq3_decode_frame().

void* av_mallocz_static ( unsigned int  size  ) 

Allocation of static arrays.

Warning:
Do not use for normal allocation.
Parameters:
[in] size The amount of memory you need in bytes.
Returns:
block of memory of the requested size
Deprecated:
. Code which uses av_mallocz_static is broken/misdesigned and should correctly use static arrays

Definition at line 76 of file utils.c.

Referenced by ff_realloc_static(), init_2d_vlc_rl(), and init_vlc_rl().

int av_parse_video_frame_rate ( AVRational frame_rate,
const char *  str 
)

Parses str and put in frame_rate the detected values.

Returns:
0 in case of a successful parsing, a negative value otherwise
Parameters:
[in] str the string to parse: it has to be a string in the format <frame_rate_nom>/<frame_rate_den>, a float number or a valid video rate abbreviation
[in,out] frame_rate pointer to the AVRational which will contain the detected frame rate

Definition at line 1496 of file utils.c.

Referenced by opt_frame_rate(), and parse_frame_rate().

int av_parse_video_frame_size ( int *  width_ptr,
int *  height_ptr,
const char *  str 
)

Parses str and put in width_ptr and height_ptr the detected values.

Returns:
0 in case of a successful parsing, a negative value otherwise
Parameters:
[in] str the string to parse: it has to be a string in the format <width>x<height> or a valid video frame size abbreviation.
[in,out] width_ptr pointer to the variable which will contain the detected frame width value
[in,out] height_ptr pointer to the variable which will contain the detected frame height value

Definition at line 1468 of file utils.c.

Referenced by opt_frame_size(), parse_ffconfig(), and parse_image_size().

int av_tempfile ( char *  prefix,
char **  filename 
)

Definition at line 1377 of file utils.c.

Referenced by ff_xvid_encode_init(), and ff_xvid_rate_control_init().

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

Definition at line 1358 of file utils.c.

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

void avcodec_align_dimensions ( AVCodecContext s,
int *  width,
int *  height 
)

Definition at line 163 of file utils.c.

Referenced by avcodec_default_get_buffer().

AVCodecContext* avcodec_alloc_context ( void   ) 

Allocates an AVCodecContext and sets its fields to default values.

The resulting struct can be deallocated by simply calling av_free().

Returns:
An AVCodecContext filled with default values or NULL on failure.
See also:
avcodec_get_context_defaults

Definition at line 820 of file utils.c.

Referenced by add_av_stream1(), add_codec(), audio_decode_example(), audio_encode_example(), av_new_stream(), estimate_best_b_count(), http_prepare_data(), main(), read_ffserver_streams(), rtp_new_av_stream(), video_decode_example(), and video_encode_example().

AVCodecContext* avcodec_alloc_context2 ( enum CodecType  codec_type  ) 

THIS FUNCTION IS NOT YET PART OF THE PUBLIC API! we WILL change its arguments and name a few times!

Definition at line 806 of file utils.c.

Referenced by avcodec_alloc_context(), and main().

AVFrame* avcodec_alloc_frame ( void   ) 

Allocates an AVFrame and sets its fields to default values.

The resulting struct can be deallocated by simply calling av_free().

Returns:
An AVFrame filled with default values or NULL on failure.
See also:
avcodec_get_frame_defaults

Definition at line 831 of file utils.c.

Referenced by AC3_encode_init(), adx_encode_init(), alloc_picture(), encode_init(), Faac_encode_init(), flac_encode_init(), g726_init(), get_watermark_picture(), libgsm_init(), MP3lame_encode_init(), MPA_encode_init(), oggvorbis_encode_init(), pcm_encode_init(), roq_dpcm_encode_init(), video_decode_example(), video_encode_example(), video_thread(), and vorbis_encode_init().

unsigned avcodec_build ( void   ) 

Definition at line 1249 of file utils.c.

Referenced by show_version().

int avcodec_check_dimensions ( void *  av_log_ctx,
unsigned int  w,
unsigned int  h 
)

int avcodec_close ( AVCodecContext avctx  ) 

int avcodec_decode_audio ( AVCodecContext avctx,
int16_t *  samples,
int *  frame_size_ptr,
const uint8_t buf,
int  buf_size 
)

Deprecated:
Use avcodec_decode_audio2() instead.

Definition at line 987 of file utils.c.

Referenced by audio_decode_example().

int attribute_align_arg avcodec_decode_audio2 ( AVCodecContext avctx,
int16_t *  samples,
int *  frame_size_ptr,
const uint8_t buf,
int  buf_size 
)

Decodes an audio frame from buf into samples.

The avcodec_decode_audio2() function decodes an audio frame from the input buffer buf of size buf_size. To decode it, it makes use of the audio codec which was coupled with avctx using avcodec_open(). The resulting decoded frame is stored in output buffer samples. If no frame could be decompressed, frame_size_ptr is zero. Otherwise, it is the decompressed frame size in bytes.

Warning:
You must set frame_size_ptr to the allocated size of the output buffer before calling avcodec_decode_audio2().

The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than the actual read bytes because some optimized bitstream readers read 32 or 64 bits at once and could read over the end.

The end of the input buffer buf should be set to 0 to ensure that no overreading happens for damaged MPEG streams.

Note:
You might have to align the input buffer buf and output buffer samples. The alignment requirements depend on the CPU: On some CPUs it isn't necessary at all, on others it won't work at all if not aligned and on others it will work but it will have an impact on performance. In practice, the bitstream should have 4 byte alignment at minimum and all sample data should be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If the linesize is not a multiple of 16 then there's no sense in aligning the start of the buffer to 16.
Parameters:
avctx the codec context
[out] samples the output buffer
[in,out] frame_size_ptr the output buffer size in bytes
[in] buf the input buffer
[in] buf_size the input buffer size in bytes
Returns:
On error a negative value is returned, otherwise the number of bytes used or zero if no frame could be decompressed.

Definition at line 958 of file utils.c.

Referenced by audio_decode_frame(), avcodec_decode_audio(), output_packet(), and try_decode_frame().

int avcodec_decode_subtitle ( AVCodecContext avctx,
AVSubtitle sub,
int *  got_sub_ptr,
const uint8_t buf,
int  buf_size 
)

Definition at line 995 of file utils.c.

Referenced by output_packet(), and subtitle_thread().

int attribute_align_arg avcodec_decode_video ( AVCodecContext avctx,
AVFrame picture,
int *  got_picture_ptr,
const uint8_t buf,
int  buf_size 
)

Decodes a video frame from buf into picture.

The avcodec_decode_video() function decodes a video frame from the input buffer buf of size buf_size. To decode it, it makes use of the video codec which was coupled with avctx using avcodec_open(). The resulting decoded frame is stored in picture.

Warning:
The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than the actual read bytes because some optimized bitstream readers read 32 or 64 bits at once and could read over the end.

The end of the input buffer buf should be set to 0 to ensure that no overreading happens for damaged MPEG streams.

Note:
You might have to align the input buffer buf and output buffer samples. The alignment requirements depend on the CPU: on some CPUs it isn't necessary at all, on others it won't work at all if not aligned and on others it will work but it will have an impact on performance. In practice, the bitstream should have 4 byte alignment at minimum and all sample data should be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If the linesize is not a multiple of 16 then there's no sense in aligning the start of the buffer to 16.
Parameters:
avctx the codec context
[out] picture The AVFrame in which the decoded video frame will be stored.
[in] buf the input buffer
[in] buf_size the size of the input buffer in bytes
[in,out] got_picture_ptr Zero if no frame could be decompressed, otherwise, it is nonzero.
Returns:
On error a negative value is returned, otherwise the number of bytes used or zero if no frame could be decompressed.

Definition at line 935 of file utils.c.

Referenced by get_watermark_picture(), output_packet(), try_decode_frame(), video_decode_example(), and video_thread().

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

Definition at line 400 of file utils.c.

Referenced by avcodec_get_context_defaults2().

void avcodec_default_free_buffers ( AVCodecContext s  ) 

Definition at line 1271 of file utils.c.

Referenced by avcodec_close(), and MPV_common_end().

int avcodec_default_get_buffer ( AVCodecContext s,
AVFrame pic 
)

Definition at line 228 of file utils.c.

Referenced by avcodec_get_context_defaults2(), and my_get_buffer().

enum PixelFormat avcodec_default_get_format ( struct AVCodecContext s,
const enum PixelFormat fmt 
)

Definition at line 410 of file utils.c.

Referenced by avcodec_get_context_defaults2().

int avcodec_default_reget_buffer ( AVCodecContext s,
AVFrame pic 
)

Definition at line 368 of file utils.c.

Referenced by avcodec_get_context_defaults2().

void avcodec_default_release_buffer ( AVCodecContext s,
AVFrame pic 
)

Definition at line 342 of file utils.c.

Referenced by avcodec_get_context_defaults2(), and my_release_buffer().

int attribute_align_arg avcodec_encode_audio ( AVCodecContext avctx,
uint8_t buf,
int  buf_size,
const short *  samples 
)

Encodes an audio frame from samples into buf.

The avcodec_encode_audio() function encodes an audio frame from the input buffer samples. To encode it, it makes use of the audio codec which was coupled with avctx using avcodec_open(). The resulting encoded frame is stored in output buffer buf.

Note:
The output buffer should be at least FF_MIN_BUFFER_SIZE bytes large.
Parameters:
avctx the codec context
[out] buf the output buffer
[in] buf_size the output buffer size
[in] samples the input buffer containing the samples The number of samples read from this buffer is frame_size*channels, both of which are defined in avctx.
Returns:
On error a negative value is returned, on success zero or the number of bytes used to encode the data read from the input buffer.

Definition at line 892 of file utils.c.

Referenced by audio_encode_example(), do_audio_out(), output_packet(), and write_audio_frame().

int avcodec_encode_subtitle ( AVCodecContext avctx,
uint8_t buf,
int  buf_size,
const AVSubtitle sub 
)

Definition at line 926 of file utils.c.

Referenced by do_subtitle_out().

int attribute_align_arg avcodec_encode_video ( AVCodecContext avctx,
uint8_t buf,
int  buf_size,
const AVFrame pict 
)

Encodes a video frame from pict into buf.

The avcodec_encode_video() function encodes a video frame from the input pict. To encode it, it makes use of the video codec which was coupled with avctx using avcodec_open(). The resulting encoded bytes representing the frame are stored in the output buffer buf. The input picture should be stored using a specific format, namely avctx.pix_fmt.

Parameters:
avctx the codec context
[out] buf the output buffer for the bitstream of encoded frame
[in] buf_size the size of the output buffer in bytes
[in] pict the input picture to encode
Returns:
On error a negative value is returned, on success zero or the number of bytes used from the input buffer.

Definition at line 907 of file utils.c.

Referenced by do_video_out(), estimate_best_b_count(), output_packet(), video_encode_example(), and write_video_frame().

AVCodec* avcodec_find_decoder ( enum CodecID  id  ) 

Finds a registered decoder with a matching codec ID.

Parameters:
id CodecID of the requested decoder
Returns:
A decoder if one was found, NULL otherwise.

Definition at line 1053 of file utils.c.

Referenced by audio_decode_example(), av_encode(), avcodec_string(), get_watermark_picture(), open_parser(), sdp_parse_rtpmap(), stream_component_open(), try_decode_frame(), and video_decode_example().

AVCodec* avcodec_find_decoder_by_name ( const char *  name  ) 

Finds a registered decoder with the specified name.

Parameters:
name name of the requested decoder
Returns:
A decoder if one was found, NULL otherwise.

Definition at line 1065 of file utils.c.

Referenced by find_codec_or_die().

AVCodec* avcodec_find_encoder ( enum CodecID  id  ) 

Finds a registered encoder with a matching codec ID.

Parameters:
id CodecID of the requested encoder
Returns:
An encoder if one was found, NULL otherwise.

Definition at line 1029 of file utils.c.

Referenced by asf_write_header1(), audio_encode_example(), av_encode(), avcodec_string(), compute_stats(), estimate_best_b_count(), new_video_stream(), open_audio(), open_video(), and video_encode_example().

AVCodec* avcodec_find_encoder_by_name ( const char *  name  ) 

Finds a registered encoder with the specified name.

Parameters:
name name of the requested encoder
Returns:
An encoder if one was found, NULL otherwise.

Definition at line 1041 of file utils.c.

Referenced by find_codec_or_die(), opt_audio_codec(), and opt_video_codec().

void avcodec_flush_buffers ( AVCodecContext avctx  ) 

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

Definition at line 1265 of file utils.c.

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

void avcodec_get_context_defaults ( AVCodecContext s  ) 

Sets the fields of the given AVCodecContext to default values.

Parameters:
s The AVCodecContext of which the fields should be set to default values.

Definition at line 816 of file utils.c.

void avcodec_get_context_defaults2 ( AVCodecContext s,
enum CodecType  codec_type 
)

THIS FUNCTION IS NOT YET PART OF THE PUBLIC API! we WILL change its arguments and name a few times!

Definition at line 777 of file utils.c.

Referenced by avcodec_alloc_context2(), avcodec_get_context_defaults(), new_audio_stream(), new_subtitle_stream(), and new_video_stream().

void avcodec_get_frame_defaults ( AVFrame pic  ) 

Sets the fields of the given AVFrame to default values.

Parameters:
pic The AVFrame of which the fields should be set to default values.

Definition at line 824 of file utils.c.

Referenced by av_encode(), avcodec_alloc_frame(), bmp_decode_init(), bmp_encode_init(), common_init(), do_video_out(), encode_init(), estimate_best_b_count(), gif_decode_init(), output_packet(), pcx_init(), png_dec_init(), png_enc_init(), ptx_init(), sgi_init(), sunrast_init(), targa_init(), tiff_init(), and txd_init().

void avcodec_init ( void   ) 

Initializes libavcodec.

Warning:
This function must be called before any other libavcodec function.

Definition at line 1254 of file utils.c.

Referenced by av_register_all(), and main().

int attribute_align_arg avcodec_open ( AVCodecContext avctx,
AVCodec codec 
)

Initializes the AVCodecContext to use the given AVCodec.

Prior to using this function the context has to be allocated.

The functions avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), avcodec_find_decoder() and avcodec_find_encoder() provide an easy way for retrieving a codec.

Warning:
This function is not thread safe!
 avcodec_register_all();
 codec = avcodec_find_decoder(CODEC_ID_H264);
 if (!codec)
     exit(1);

 context = avcodec_alloc_context();

 if (avcodec_open(context, codec) < 0)
     exit(1);

Parameters:
avctx The context which will be set up to use the given codec.
codec The codec to use within the context.
Returns:
zero on success, a negative value on error
See also:
avcodec_alloc_context, avcodec_find_decoder, avcodec_find_encoder

Definition at line 841 of file utils.c.

Referenced by audio_decode_example(), audio_encode_example(), av_encode(), estimate_best_b_count(), get_watermark_picture(), open_audio(), open_parser(), open_video(), stream_component_open(), try_decode_frame(), video_decode_example(), and video_encode_example().

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 1077 of file utils.c.

Referenced by av_find_stream_info(), compute_stats(), and dump_stream_format().

int avcodec_thread_init ( AVCodecContext s,
int  thread_count 
)

Definition at line 1353 of file utils.c.

unsigned avcodec_version ( void   ) 

Definition at line 1244 of file utils.c.

static const char* context_to_name ( void *  ptr  )  [static]

Definition at line 414 of file utils.c.

static void do_free ( void   )  [static]

Call av_free_static automatically before it's too late.

Definition at line 120 of file utils.c.

void* ff_realloc_static ( void *  ptr,
unsigned int  size 
)

Same as av_mallocz_static(), but does a realloc.

Parameters:
[in] ptr The block of memory to reallocate.
[in] size The requested size.
Returns:
Block of memory of requested size.
Deprecated:
. Code which uses ff_realloc_static is broken/misdesigned and should correctly use static arrays

Definition at line 90 of file utils.c.

Referenced by alloc_table().

void register_avcodec ( AVCodec format  ) 

Definition at line 134 of file utils.c.


Variable Documentation

unsigned int allocated_static = 0 [static]

Definition at line 73 of file utils.c.

Referenced by av_mallocz_static().

void** array_static = NULL [static]

Definition at line 74 of file utils.c.

Referenced by av_free_static(), av_mallocz_static(), and ff_realloc_static().

AVClass av_codec_context_class = { "AVCodecContext", context_to_name, options } [static]

Definition at line 775 of file utils.c.

int volatile entangled_thread_counter = 0 [static]

Definition at line 60 of file utils.c.

Referenced by avcodec_close(), and avcodec_open().

const uint8_t ff_reverse[256]

Initial value:

{
0x00,0x80,0x40,0xC0,0x20,0xA0,0x60,0xE0,0x10,0x90,0x50,0xD0,0x30,0xB0,0x70,0xF0,
0x08,0x88,0x48,0xC8,0x28,0xA8,0x68,0xE8,0x18,0x98,0x58,0xD8,0x38,0xB8,0x78,0xF8,
0x04,0x84,0x44,0xC4,0x24,0xA4,0x64,0xE4,0x14,0x94,0x54,0xD4,0x34,0xB4,0x74,0xF4,
0x0C,0x8C,0x4C,0xCC,0x2C,0xAC,0x6C,0xEC,0x1C,0x9C,0x5C,0xDC,0x3C,0xBC,0x7C,0xFC,
0x02,0x82,0x42,0xC2,0x22,0xA2,0x62,0xE2,0x12,0x92,0x52,0xD2,0x32,0xB2,0x72,0xF2,
0x0A,0x8A,0x4A,0xCA,0x2A,0xAA,0x6A,0xEA,0x1A,0x9A,0x5A,0xDA,0x3A,0xBA,0x7A,0xFA,
0x06,0x86,0x46,0xC6,0x26,0xA6,0x66,0xE6,0x16,0x96,0x56,0xD6,0x36,0xB6,0x76,0xF6,
0x0E,0x8E,0x4E,0xCE,0x2E,0xAE,0x6E,0xEE,0x1E,0x9E,0x5E,0xDE,0x3E,0xBE,0x7E,0xFE,
0x01,0x81,0x41,0xC1,0x21,0xA1,0x61,0xE1,0x11,0x91,0x51,0xD1,0x31,0xB1,0x71,0xF1,
0x09,0x89,0x49,0xC9,0x29,0xA9,0x69,0xE9,0x19,0x99,0x59,0xD9,0x39,0xB9,0x79,0xF9,
0x05,0x85,0x45,0xC5,0x25,0xA5,0x65,0xE5,0x15,0x95,0x55,0xD5,0x35,0xB5,0x75,0xF5,
0x0D,0x8D,0x4D,0xCD,0x2D,0xAD,0x6D,0xED,0x1D,0x9D,0x5D,0xDD,0x3D,0xBD,0x7D,0xFD,
0x03,0x83,0x43,0xC3,0x23,0xA3,0x63,0xE3,0x13,0x93,0x53,0xD3,0x33,0xB3,0x73,0xF3,
0x0B,0x8B,0x4B,0xCB,0x2B,0xAB,0x6B,0xEB,0x1B,0x9B,0x5B,0xDB,0x3B,0xBB,0x7B,0xFB,
0x07,0x87,0x47,0xC7,0x27,0xA7,0x67,0xE7,0x17,0x97,0x57,0xD7,0x37,0xB7,0x77,0xF7,
0x0F,0x8F,0x4F,0xCF,0x2F,0xAF,0x6F,0xEF,0x1F,0x9F,0x5F,0xDF,0x3F,0xBF,0x7F,0xFF,
}

Definition at line 41 of file utils.c.

Referenced by asv2_get_bits(), asv2_put_bits(), decode_frame(), fft(), ir2_decode_frame(), pcm_decode_frame(), pcm_encode_frame(), and wnv1_get_code().

Definition at line 127 of file utils.c.

unsigned int last_static = 0 [static]

Definition at line 72 of file utils.c.

Referenced by av_free_static(), av_mallocz_static(), and ff_realloc_static().

const AVOption options[] [static]

Definition at line 434 of file utils.c.

Initial value:

 {
    { "ntsc",      30000, 1001 },
    { "pal",          25,    1 },
    { "qntsc",     30000, 1001 }, 
    { "qpal",         25,    1 }, 
    { "sntsc",     30000, 1001 }, 
    { "spal",         25,    1 }, 
    { "film",         24,    1 },
    { "ntsc-film", 24000, 1001 },
}

Definition at line 1457 of file utils.c.

Definition at line 1418 of file utils.c.


Generated on Fri Apr 23 15:12:02 2010 for ffmpeg by  doxygen 1.5.6