hvirtual/quicktime/ffmpeg/libavcodec/h263dec.c File Reference

#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"

Include dependency graph for h263dec.c:

Go to the source code of this file.

Defines

#define SET_QPEL_FUNC(postfix1, postfix2)

Functions

int ff_h263_decode_init (AVCodecContext *avctx)
int ff_h263_decode_end (AVCodecContext *avctx)
static int get_consumed_bytes (MpegEncContext *s, int buf_size)
static int decode_slice (MpegEncContext *s)
int ff_mpeg4_find_frame_end (ParseContext *pc, const uint8_t *buf, int buf_size)
static int h263_find_frame_end (ParseContext *pc, const uint8_t *buf, int buf_size)
static int h263_parse (AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
int ff_h263_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)

Variables

AVCodec mpeg4_decoder
AVCodec h263_decoder
AVCodec msmpeg4v1_decoder
AVCodec msmpeg4v2_decoder
AVCodec msmpeg4v3_decoder
AVCodec wmv1_decoder
AVCodec h263i_decoder
AVCodec flv_decoder
AVCodecParser h263_parser


Detailed Description

H.263 decoder.

Definition in file h263dec.c.


Define Documentation

#define SET_QPEL_FUNC ( postfix1,
postfix2   ) 

Value:

s->dsp.put_ ## postfix1 = ff_put_ ## postfix2;\
    s->dsp.put_no_rnd_ ## postfix1 = ff_put_no_rnd_ ## postfix2;\
    s->dsp.avg_ ## postfix1 = ff_avg_ ## postfix2;

Referenced by dsputil_init_mmx(), and ff_h263_decode_frame().


Function Documentation

static int decode_slice ( MpegEncContext s  )  [static]

int ff_h263_decode_end ( AVCodecContext avctx  ) 

Definition at line 116 of file h263dec.c.

References MPV_common_end(), AVCodecContext::priv_data, and s.

Here is the call graph for this function:

int ff_h263_decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
uint8_t *  buf,
int  buf_size 
)

Definition at line 414 of file h263dec.c.

References AC_ERROR, MpegEncContext::allocated_bitstream_buffer_size, av_fast_realloc(), av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, avcodec_set_dimensions(), MpegEncContext::avctx, AVDISCARD_ALL, AVDISCARD_NONKEY, AVDISCARD_NONREF, B_TYPE, MpegEncContext::bitstream_buffer, MpegEncContext::bitstream_buffer_size, GetBitContext::buffer, ParseContext::buffer, CODEC_FLAG_BITEXACT, CODEC_FLAG_LOW_DELAY, CODEC_FLAG_TRUNCATED, MpegEncContext::codec_id, CODEC_ID_H263, CODEC_ID_H263I, CODEC_ID_H263P, CODEC_ID_MPEG4, AVCodecContext::codec_tag, AVCodecContext::coded_height, AVCodecContext::coded_width, MpegEncContext::context_initialized, MpegEncContext::current_picture, MpegEncContext::current_picture_ptr, MpegEncContext::data_partitioning, DC_ERROR, AVCodecContext::debug, decode_slice(), MpegEncContext::divx_build, MpegEncContext::divx_packed, MpegEncContext::divx_version, MpegEncContext::dropable, MpegEncContext::error_status_table, AVCodecContext::extradata, AVCodecContext::extradata_size, FF_BUG_AUTODETECT, FF_BUG_DC_CLIP, FF_BUG_DIRECT_BLOCKSIZE, FF_BUG_EDGE, FF_BUG_HPEL_CHROMA, FF_BUG_NO_PADDING, FF_BUG_QPEL_CHROMA, FF_BUG_QPEL_CHROMA2, FF_BUG_STD_QPEL, FF_BUG_UMP4, FF_BUG_XVID_ILACE, ff_combine_frame(), FF_DEBUG_BUGS, ff_er_frame_end(), ff_er_frame_start(), ff_find_unused_picture(), ff_h263_get_gob_height(), ff_h263_resync(), FF_IDCT_AUTO, FF_IDCT_LIBMPEG2MMX, FF_INPUT_BUFFER_PADDING_SIZE, ff_mpeg4_clean_buffers(), ff_mpeg4_decode_picture_header(), ff_mpeg4_find_frame_end(), ff_print_debug_info(), ff_wmv2_decode_picture_header(), ff_wmv2_decode_secondary_picture_header(), AVCodecContext::flags, MpegEncContext::flags, AVCodecContext::flags2, MpegEncContext::flags2, flv_h263_decode_picture_header(), fopen(), fprintf, AVCodecContext::frame_number, FRAME_SKIPPED, MpegEncContext::gb, get_bits_count(), get_consumed_bytes(), MpegEncContext::gob_index, h263_decode_picture_header(), h263_find_frame_end(), MpegEncContext::h263_flv, MpegEncContext::h263_msmpeg4, MpegEncContext::h263_pred, AVCodecContext::has_b_frames, MpegEncContext::height, AVCodecContext::hurry_up, I_TYPE, AVCodecContext::idct_algo, init_get_bits(), intel_h263_decode_picture_header(), MpegEncContext::last_picture, MpegEncContext::last_picture_ptr, MpegEncContext::lavc_build, MpegEncContext::low_delay, MpegEncContext::mb_height, MpegEncContext::mb_num, MpegEncContext::mb_x, MpegEncContext::mb_y, memcpy, mm_flags, MPV_common_end(), MPV_common_init(), MPV_frame_end(), MPV_frame_start(), msmpeg4_decode_ext_header(), msmpeg4_decode_picture_header(), MpegEncContext::msmpeg4_version, MV_ERROR, MpegEncContext::next_p_frame_damaged, MpegEncContext::next_picture_ptr, NULL, MpegEncContext::padding_bug_score, MpegEncContext::parse_context, MpegEncContext::pict_type, MpegEncContext::picture, MpegEncContext::picture_number, AVCodecContext::priv_data, MpegEncContext::qscale, MpegEncContext::resync_marker, s, SET_QPEL_FUNC, GetBitContext::size_in_bits, AVCodecContext::skip_frame, MpegEncContext::slice_height, AVCodecContext::stream_codec_tag, MpegEncContext::vo_type, MpegEncContext::vol_control_parameters, MpegEncContext::width, MpegEncContext::workaround_bugs, and MpegEncContext::xvid_build.

Here is the call graph for this function:

int ff_h263_decode_init ( AVCodecContext avctx  ) 

int ff_mpeg4_find_frame_end ( ParseContext pc,
const uint8_t *  buf,
int  buf_size 
)

finds the end of the current frame in the bitstream.

Returns:
the position of the first byte of the next frame, or -1

Definition at line 321 of file h263dec.c.

References END_NOT_FOUND, ParseContext::frame_start_found, and ParseContext::state.

Referenced by ff_h263_decode_frame(), and mpeg4video_parse().

static int get_consumed_bytes ( MpegEncContext s,
int  buf_size 
) [static]

returns the number of bytes consumed for building the current frame

Definition at line 127 of file h263dec.c.

References CODEC_FLAG_TRUNCATED, MpegEncContext::divx_packed, MpegEncContext::flags, MpegEncContext::gb, get_bits_count(), ParseContext::last_index, and MpegEncContext::parse_context.

Here is the call graph for this function:

static int h263_find_frame_end ( ParseContext pc,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 358 of file h263dec.c.

References END_NOT_FOUND, ParseContext::frame_start_found, and ParseContext::state.

Referenced by ff_h263_decode_frame(), and h263_parse().

static int h263_parse ( AVCodecParserContext s,
AVCodecContext avctx,
uint8_t **  poutbuf,
int *  poutbuf_size,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 393 of file h263dec.c.

References ff_combine_frame(), h263_find_frame_end(), NULL, and AVCodecParserContext::priv_data.

Here is the call graph for this function:


Variable Documentation

Initial value:

Definition at line 887 of file h263dec.c.

Referenced by avcodec_register_all().


Generated on Mon Apr 28 14:04:17 2008 for Cinelerra by  doxygen 1.5.5