#include <limits.h>#include "common.h"#include "dsputil.h"#include "avcodec.h"#include "mpegvideo.h"#include "h263data.h"#include "mpeg4data.h"

Go to the source code of this file.
Definition in file h263.c.
| #define CBPC_B_VLC_BITS 3 |
Definition at line 54 of file h263.c.
Referenced by ff_h263_decode_mb(), and h263_decode_init_vlc().
| #define CBPY_VLC_BITS 6 |
Definition at line 47 of file h263.c.
Referenced by ff_h263_decode_mb(), ff_mpeg4_decode_mb(), ff_msmpeg4_decode_init(), h263_decode_init_vlc(), mpeg4_decode_partition_b(), msmpeg4v12_decode_mb(), and preview_obmc().
| #define DC_VLC_BITS 9 |
Definition at line 49 of file h263.c.
Referenced by decode_dc(), ff_msmpeg4_decode_init(), h263_decode_init_vlc(), init_vlcs(), mpeg4_decode_dc(), msmpeg4_decode_dc(), rv10_decode_init(), rv_decode_dc(), and vc9_decode_block().
| #define H263_MBTYPE_B_VLC_BITS 6 |
Definition at line 53 of file h263.c.
Referenced by ff_h263_decode_mb(), and h263_decode_init_vlc().
| #define INTER_MCBPC_VLC_BITS 7 |
Definition at line 46 of file h263.c.
Referenced by ff_h263_decode_mb(), ff_mpeg4_decode_mb(), h263_decode_init_vlc(), mpeg4_decode_partition_a(), and preview_obmc().
| #define INTRA_MCBPC_VLC_BITS 6 |
Definition at line 45 of file h263.c.
Referenced by ff_h263_decode_mb(), ff_mpeg4_decode_mb(), h263_decode_init_vlc(), and mpeg4_decode_partition_a().
| #define IS_3IV1 0 |
Definition at line 116 of file h263.c.
Referenced by decode_vop_header(), ff_mpeg4_pred_dc(), mpeg4_decode_block(), and mpeg4_decode_dc().
| #define MB_TYPE_B_VLC_BITS 4 |
Definition at line 51 of file h263.c.
Referenced by ff_mpeg4_decode_mb(), and h263_decode_init_vlc().
| #define MV_VLC_BITS 9 |
Definition at line 48 of file h263.c.
Referenced by ff_msmpeg4_decode_init(), h263_decode_init_vlc(), h263_decode_motion(), init_vlcs(), mpeg_decode_motion(), and msmpeg4_decode_motion().
| #define SPRITE_TRAJ_VLC_BITS 6 |
| static int decode_user_data | ( | MpegEncContext * | s, | |
| GetBitContext * | gb | |||
| ) | [static] |
decodes the user data stuff in the header. allso inits divx/xvid/lavc_version/build
Definition at line 5738 of file h263.c.
References buf, MpegEncContext::divx_build, MpegEncContext::divx_packed, MpegEncContext::divx_version, e, get_bits(), MpegEncContext::lavc_build, show_bits(), and MpegEncContext::xvid_build.
Referenced by ff_mpeg4_decode_picture_header().

| static int decode_vol_header | ( | MpegEncContext * | s, | |
| GetBitContext * | gb | |||
| ) | [static] |
Definition at line 5485 of file h263.c.
References MpegEncContext::aspect_ratio_info, av_log(), AV_LOG_ERROR, AV_LOG_INFO, MpegEncContext::avctx, BIN_ONLY_SHAPE, check_marker(), chroma_format, MpegEncContext::chroma_inter_matrix, MpegEncContext::chroma_intra_matrix, AVCodecContext::codec_tag, MpegEncContext::data_partitioning, AVCodecContext::debug, AVRational::den, MpegEncContext::dsp, MpegEncContext::enhancement_type, FF_ASPECT_EXTENDED, FF_DEBUG_PICT_INFO, ff_mpeg4_default_intra_matrix, ff_mpeg4_default_non_intra_matrix, ff_zigzag_direct, get_bits(), get_bits1(), GMC_SPRITE, GRAY_SHAPE, MpegEncContext::height, height, MpegEncContext::hierachy_type, DSPContext::idct_permutation, MpegEncContext::inter_matrix, MpegEncContext::intra_matrix, MpegEncContext::low_delay, MpegEncContext::low_latency_sprite, MpegEncContext::mpeg_quant, MpegEncContext::new_pred, AVRational::num, MpegEncContext::num_sprite_warping_points, MpegEncContext::picture_number, pixel_aspect, MpegEncContext::progressive_frame, MpegEncContext::progressive_sequence, MpegEncContext::quant_precision, MpegEncContext::quarter_sample, RECT_SHAPE, MpegEncContext::reduced_res_vop, MpegEncContext::resync_marker, MpegEncContext::rvlc, AVCodecContext::sample_aspect_ratio, MpegEncContext::scalability, MpegEncContext::shape, skip_bits(), skip_bits1(), MpegEncContext::sprite_brightness_change, MpegEncContext::sprite_height, MpegEncContext::sprite_left, MpegEncContext::sprite_top, MpegEncContext::sprite_warping_accuracy, MpegEncContext::sprite_width, STATIC_SPRITE, MpegEncContext::t_frame, AVCodecContext::time_base, MpegEncContext::time_increment_bits, MpegEncContext::vo_type, MpegEncContext::vol_control_parameters, MpegEncContext::vol_sprite_usage, MpegEncContext::width, and width.
Referenced by ff_mpeg4_decode_picture_header().

| static int decode_vop_header | ( | MpegEncContext * | s, | |
| GetBitContext * | gb | |||
| ) | [static] |
Definition at line 5784 of file h263.c.
References MpegEncContext::alternate_scan, av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::b_code, B_TYPE, BIN_ONLY_SHAPE, MpegEncContext::c_dc_scale_table, check_marker(), MpegEncContext::chroma_qscale, CODEC_FLAG_LOW_DELAY, MpegEncContext::current_picture_ptr, MpegEncContext::data_partitioning, AVCodecContext::debug, MpegEncContext::decode_mb, AVRational::den, MpegEncContext::divx_version, MpegEncContext::dsp, MpegEncContext::enhancement_type, MpegEncContext::f_code, ff_alternate_horizontal_scan, ff_alternate_vertical_scan, FF_BUG_EDGE, FF_BUG_UMP4, FF_DEBUG_PICT_INFO, FF_DEBUG_PTS, ff_init_scantable(), ff_mpeg4_c_dc_scale_table, ff_mpeg4_decode_mb(), ff_mpeg4_y_dc_scale_table, ff_zigzag_direct, MpegEncContext::flags, FRAME_SKIPPED, get_bits(), get_bits1(), GMC_SPRITE, MpegEncContext::h_edge_pos, MpegEncContext::height, height, I_TYPE, DSPContext::idct_permutation, MpegEncContext::inter_scantable, MpegEncContext::intra_dc_threshold, MpegEncContext::intra_h_scantable, MpegEncContext::intra_scantable, MpegEncContext::intra_v_scantable, IS_3IV1, MpegEncContext::last_non_b_time, MpegEncContext::last_time_base, MpegEncContext::low_delay, mpeg4_dc_threshold, mpeg4_decode_partitioned_mb(), mpeg4_decode_sprite_trajectory(), MpegEncContext::no_rounding, AVRational::num, MpegEncContext::num_sprite_warping_points, P_TYPE, MpegEncContext::partitioned_frame, MpegEncContext::pb_field_time, MpegEncContext::pb_time, MpegEncContext::pict_type, MpegEncContext::picture_number, MpegEncContext::pp_field_time, MpegEncContext::pp_time, MpegEncContext::progressive_sequence, MpegEncContext::qscale, MpegEncContext::quant_precision, MpegEncContext::quarter_sample, RECT_SHAPE, MpegEncContext::resync_marker, S_TYPE, MpegEncContext::scalability, MpegEncContext::shape, show_bits(), GetBitContext::size_in_bits, skip_bits(), skip_bits1(), MpegEncContext::sprite_brightness_change, MpegEncContext::sprite_warping_accuracy, STATIC_SPRITE, MpegEncContext::t_frame, MpegEncContext::time, MpegEncContext::time_base, AVCodecContext::time_base, MpegEncContext::time_increment_bits, MpegEncContext::top_field_first, MpegEncContext::v_edge_pos, MpegEncContext::vo_type, MpegEncContext::vol_control_parameters, MpegEncContext::vol_sprite_usage, MpegEncContext::width, width, MpegEncContext::workaround_bugs, and MpegEncContext::y_dc_scale_table.
Referenced by ff_mpeg4_decode_picture_header().

| int ff_h263_decode_mb | ( | MpegEncContext * | s, | |
| DCTELEM | block[6][64] | |||
| ) |
Definition at line 3893 of file h263.c.
References MpegEncContext::ac_pred, MpegEncContext::alt_inter_vlc, av_log(), AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::b8_stride, B_TYPE, MpegEncContext::block, MpegEncContext::block_last_index, CBPC_B_VLC_BITS, CBPY_VLC_BITS, DSPContext::clear_blocks, MpegEncContext::current_picture, MpegEncContext::dsp, ff_mpeg4_set_direct_mv(), MpegEncContext::gb, get_bits1(), get_bits_count(), get_vlc2(), MpegEncContext::h263_aic, MpegEncContext::h263_aic_dir, h263_decode_block(), h263_decode_dquant(), h263_decode_motion(), h263_mb_type_b_map, H263_MBTYPE_B_VLC_BITS, MpegEncContext::h263_pred, h263_pred_motion(), h263p_decode_umotion(), HAS_CBP, INTER_MCBPC_VLC_BITS, INTRA_MCBPC_VLC_BITS, IS_DIRECT, IS_INTRA, IS_QUANT, MpegEncContext::loop_filter, MpegEncContext::mb_intra, MpegEncContext::mb_num_left, MpegEncContext::mb_skipped, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_8x8, MB_TYPE_ACPRED, MB_TYPE_INTRA, MB_TYPE_L0, MB_TYPE_SKIP, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::mv, MpegEncContext::mv_dir, MV_DIR_BACKWARD, MV_DIR_FORWARD, MV_DIRECT, MpegEncContext::mv_type, MV_TYPE_16X16, MV_TYPE_8X8, MpegEncContext::obmc, P_TYPE, MpegEncContext::pict_type, preview_obmc(), show_bits(), GetBitContext::size_in_bits, skip_bits1(), SLICE_END, SLICE_OK, stride, VLC::table, MpegEncContext::umvplus, and USES_LIST.
Referenced by ff_h263_decode_init(), and rv10_decode_packet().

| int ff_h263_decode_mba | ( | MpegEncContext * | s | ) |
Definition at line 2983 of file h263.c.
References ff_mba_length, ff_mba_max, MpegEncContext::gb, get_bits(), MpegEncContext::mb_num, MpegEncContext::mb_width, MpegEncContext::mb_x, and MpegEncContext::mb_y.
Referenced by h263_decode_gob_header(), h263_decode_picture_header(), and rv20_decode_picture_header().

| void ff_h263_encode_mba | ( | MpegEncContext * | s | ) |
Definition at line 2997 of file h263.c.
References ff_mba_length, ff_mba_max, MpegEncContext::mb_num, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::pb, and put_bits().

| int ff_h263_get_gob_height | ( | MpegEncContext * | s | ) |
Get the GOB height based on picture height.
Definition at line 2974 of file h263.c.
References MpegEncContext::height.
Referenced by ff_h263_decode_frame().
| void ff_h263_loop_filter | ( | MpegEncContext * | s | ) |
Definition at line 1391 of file h263.c.
References chroma_qp, MpegEncContext::chroma_qscale_table, MpegEncContext::current_picture, MpegEncContext::dest, MpegEncContext::dsp, DSPContext::h263_h_loop_filter, DSPContext::h263_v_loop_filter, IS_SKIP, MpegEncContext::linesize, MpegEncContext::mb_height, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::qscale, and MpegEncContext::uvlinesize.
Referenced by decode_slice(), and rv10_decode_packet().
| int ff_h263_resync | ( | MpegEncContext * | s | ) |
decodes the group of blocks / video packet header.
Definition at line 3309 of file h263.c.
References align_get_bits(), MpegEncContext::codec_id, CODEC_ID_MPEG4, MpegEncContext::gb, get_bits_count(), h263_decode_gob_header(), MpegEncContext::last_resync_gb, mpeg4_decode_video_packet_header(), show_bits(), GetBitContext::size_in_bits, skip_bits(), and skip_bits1().
Referenced by ff_h263_decode_frame().

| void ff_h263_update_motion_val | ( | MpegEncContext * | s | ) |
Definition at line 615 of file h263.c.
References MpegEncContext::b8_stride, MpegEncContext::block_index, MpegEncContext::current_picture, MpegEncContext::encoding, MpegEncContext::field_select, MpegEncContext::mb_intra, MpegEncContext::mb_skipped, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_8x8, MB_TYPE_INTRA, MB_TYPE_L0, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::mv, MpegEncContext::mv_type, MV_TYPE_16X16, MV_TYPE_8X8, and MpegEncContext::p_field_mv_table.
Referenced by decode_slice(), and rv10_decode_packet().
| void ff_mpeg4_clean_buffers | ( | MpegEncContext * | s | ) |
Definition at line 3274 of file h263.c.
References MpegEncContext::ac_val, MpegEncContext::b8_stride, MpegEncContext::dc_val, MpegEncContext::last_mv, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, and memsetw().
Referenced by ff_h263_decode_frame().

| int ff_mpeg4_decode_mb | ( | MpegEncContext * | s, | |
| DCTELEM | block[6][64] | |||
| ) |
Definition at line 4159 of file h263.c.
References MpegEncContext::ac_pred, av_log(), AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::b_code, B_TYPE, MpegEncContext::block, MpegEncContext::block_last_index, CBPY_VLC_BITS, DSPContext::clear_blocks, MpegEncContext::codec_id, CODEC_ID_MPEG4, MpegEncContext::current_picture, MpegEncContext::dsp, MpegEncContext::f_code, FF_BUG_XVID_ILACE, ff_mpeg4_set_direct_mv(), ff_set_qscale(), MpegEncContext::field_select, MpegEncContext::gb, get_amv(), get_bits(), get_bits1(), get_vlc2(), GMC_SPRITE, h263_decode_motion(), MpegEncContext::h263_pred, h263_pred_motion(), INTER_MCBPC_VLC_BITS, MpegEncContext::interlaced_dct, INTRA_MCBPC_VLC_BITS, IS_DIRECT, IS_SKIP, MpegEncContext::last_mv, MpegEncContext::mb_intra, MpegEncContext::mb_skipped, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_16x8, MB_TYPE_8x8, MB_TYPE_ACPRED, mb_type_b_map, MB_TYPE_B_VLC_BITS, MB_TYPE_DIRECT2, MB_TYPE_GMC, MB_TYPE_INTERLACED, MB_TYPE_INTRA, MB_TYPE_L0, MB_TYPE_L0L1, MB_TYPE_SKIP, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::mcsel, mpeg4_decode_block(), mpeg4_is_resync(), MpegEncContext::mv, MpegEncContext::mv_dir, MV_DIR_BACKWARD, MV_DIR_FORWARD, MV_DIRECT, MpegEncContext::mv_type, MV_TYPE_16X16, MV_TYPE_8X8, MV_TYPE_FIELD, MpegEncContext::next_picture, P_TYPE, MpegEncContext::pict_type, MpegEncContext::progressive_sequence, MpegEncContext::qscale, S_TYPE, SLICE_END, SLICE_OK, VLC::table, USES_LIST, MpegEncContext::vol_sprite_usage, and MpegEncContext::workaround_bugs.
Referenced by decode_vop_header(), and ff_h263_decode_init().

| int ff_mpeg4_decode_partitions | ( | MpegEncContext * | s | ) |
decodes the first & second partition
Definition at line 3651 of file h263.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, DC_END, DC_ERROR, DC_MARKER, ff_er_add_slice(), MpegEncContext::gb, get_bits(), get_bits_long(), I_TYPE, MpegEncContext::mb_num, MpegEncContext::mb_num_left, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, MOTION_MARKER, mpeg4_decode_partition_a(), mpeg4_decode_partition_b(), MV_END, MV_ERROR, P_TYPE, MpegEncContext::pict_type, MpegEncContext::resync_mb_x, MpegEncContext::resync_mb_y, show_bits(), and skip_bits().
Referenced by decode_slice().

| int ff_mpeg4_decode_picture_header | ( | MpegEncContext * | s, | |
| GetBitContext * | gb | |||
| ) |
decode mpeg4 headers
Definition at line 5993 of file h263.c.
References align_get_bits(), av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, MpegEncContext::avctx, AVCodecContext::codec_tag, AVCodecContext::debug, decode_user_data(), decode_vol_header(), decode_vop_header(), MpegEncContext::divx_version, FF_DEBUG_STARTCODE, FRAME_SKIPPED, get_bits(), get_bits_count(), GOP_STARTCODE, mpeg4_decode_gop_header(), show_bits(), GetBitContext::size_in_bits, skip_bits(), USER_DATA_STARTCODE, VOP_STARTCODE, and MpegEncContext::xvid_build.
Referenced by av_mpeg4_decode_header(), and ff_h263_decode_frame().

| int ff_mpeg4_get_video_packet_prefix_length | ( | MpegEncContext * | s | ) |
Definition at line 3113 of file h263.c.
References MpegEncContext::b_code, B_TYPE, MpegEncContext::f_code, I_TYPE, P_TYPE, MpegEncContext::pict_type, and S_TYPE.
Referenced by mpeg4_decode_video_packet_header(), and mpeg4_is_resync().
| static int ff_mpeg4_pred_dc | ( | MpegEncContext * | s, | |
| int | n, | |||
| int | level, | |||
| int * | dir_ptr, | |||
| int | encoding | |||
| ) | [inline, static] |
predicts the dc. encoding quantized level -> quantized diff decoding quantized diff -> quantized level
| n | block index (0-3 are luma, 4-5 are chroma) | |
| dir_ptr | pointer to an integer where the prediction direction will be stored |
Definition at line 2488 of file h263.c.
References a, av_log(), AV_LOG_ERROR, MpegEncContext::avctx, b, MpegEncContext::block_index, MpegEncContext::block_wrap, c, MpegEncContext::c_dc_scale, MpegEncContext::dc_val, MpegEncContext::error_resilience, FF_BUG_DC_CLIP, MpegEncContext::first_slice_line, IS_3IV1, MpegEncContext::mb_x, MpegEncContext::mb_y, pred(), MpegEncContext::resync_mb_x, MpegEncContext::resync_mb_y, MpegEncContext::workaround_bugs, and MpegEncContext::y_dc_scale.
Referenced by mpeg4_decode_block(), and mpeg4_decode_dc().

| int ff_mpeg4_set_direct_mv | ( | MpegEncContext * | s, | |
| int | mx, | |||
| int | my | |||
| ) |
Definition at line 559 of file h263.c.
References MpegEncContext::avctx, MpegEncContext::block_index, FF_BUG_DIRECT_BLOCKSIZE, IS_8X8, IS_INTERLACED, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_16x8, MB_TYPE_8x8, MB_TYPE_DIRECT2, MB_TYPE_INTERLACED, MB_TYPE_L0L1, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::mv, MpegEncContext::mv_type, MV_TYPE_16X16, MV_TYPE_8X8, MV_TYPE_FIELD, MpegEncContext::next_picture, MpegEncContext::p_field_mv_table, MpegEncContext::pb_field_time, MpegEncContext::pb_time, MpegEncContext::pp_field_time, MpegEncContext::pp_time, MpegEncContext::quarter_sample, MpegEncContext::top_field_first, and AVCodecContext::workaround_bugs.
Referenced by ff_h263_decode_mb(), and ff_mpeg4_decode_mb().
| void ff_set_qscale | ( | MpegEncContext * | s, | |
| int | qscale | |||
| ) |
set qscale and update qscale dependant variables.
Definition at line 2467 of file h263.c.
References MpegEncContext::c_dc_scale, MpegEncContext::c_dc_scale_table, MpegEncContext::chroma_qscale, MpegEncContext::chroma_qscale_table, MpegEncContext::qscale, MpegEncContext::y_dc_scale, and MpegEncContext::y_dc_scale_table.
Referenced by decode_slice(), ff_h261_encode_mb(), ff_mpeg4_decode_mb(), h261_decode_gob(), h261_decode_mb(), h263_decode_dquant(), mpeg4_decode_partition_a(), mpeg4_decode_partition_b(), mpeg4_decode_partitioned_mb(), and rv10_decode_packet().
| int flv_h263_decode_picture_header | ( | MpegEncContext * | s | ) |
Definition at line 6141 of file h263.c.
References av_get_pict_type_char(), av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, avcodec_check_dimensions(), MpegEncContext::avctx, MpegEncContext::c_dc_scale_table, MpegEncContext::chroma_qscale, AVCodecContext::debug, MpegEncContext::dropable, MpegEncContext::f_code, FF_DEBUG_PICT_INFO, ff_mpeg1_dc_scale_table, MpegEncContext::gb, get_bits(), get_bits1(), get_bits_long(), MpegEncContext::h263_flv, MpegEncContext::h263_long_vectors, MpegEncContext::h263_plus, MpegEncContext::height, height, I_TYPE, P_TYPE, MpegEncContext::pict_type, MpegEncContext::picture_number, MpegEncContext::qscale, skip_bits(), skip_bits1(), MpegEncContext::unrestricted_mv, MpegEncContext::width, width, and MpegEncContext::y_dc_scale_table.
Referenced by ff_h263_decode_frame().

| static int get_amv | ( | MpegEncContext * | s, | |
| int | n | |||
| ) | [inline, static] |
gets the average motion vector for a GMC MB.
| n | either 0 for the x component or 1 for y |
Definition at line 3354 of file h263.c.
References a, MpegEncContext::divx_build, MpegEncContext::divx_version, MpegEncContext::f_code, FF_BUG_AMV, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::quarter_sample, MpegEncContext::real_sprite_warping_points, shift(), MpegEncContext::sprite_delta, MpegEncContext::sprite_offset, MpegEncContext::sprite_shift, MpegEncContext::sprite_warping_accuracy, and MpegEncContext::workaround_bugs.
Referenced by ff_mpeg4_decode_mb(), and mpeg4_decode_partition_a().

| static int h263_decode_block | ( | MpegEncContext * | s, | |
| DCTELEM * | block, | |||
| int | n, | |||
| int | coded | |||
| ) | [static] |
Definition at line 4549 of file h263.c.
References MpegEncContext::ac_pred, MpegEncContext::alt_inter_vlc, av_log(), AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::block_last_index, MpegEncContext::codec_id, CODEC_ID_RV10, MpegEncContext::error_resilience, FF_ER_COMPLIANT, MpegEncContext::gb, get_bits(), get_bits1(), get_sbits(), get_vlc2(), MpegEncContext::h263_aic, MpegEncContext::h263_aic_dir, MpegEncContext::h263_flv, h263_pred_acdc(), I_TYPE, MpegEncContext::intra_h_scantable, MpegEncContext::intra_scantable, MpegEncContext::intra_v_scantable, RLTable::last, MpegEncContext::last_dc, MpegEncContext::mb_intra, MpegEncContext::mb_x, MpegEncContext::mb_y, RLTable::n, ScanTable::permutated, MpegEncContext::pict_type, rl_inter, rl_intra_aic, MpegEncContext::rv10_first_dc_coded, MpegEncContext::rv10_version, rv_decode_dc(), VLC::table, RLTable::table_level, RLTable::table_run, TEX_VLC_BITS, and RLTable::vlc.
Referenced by ff_h263_decode_mb().

| static void h263_decode_dquant | ( | MpegEncContext * | s | ) | [static] |
Definition at line 3880 of file h263.c.
References ff_set_qscale(), MpegEncContext::gb, get_bits(), get_bits1(), MpegEncContext::modified_quant, modified_quant_tab, and MpegEncContext::qscale.
Referenced by ff_h263_decode_mb().

| static int h263_decode_gob_header | ( | MpegEncContext * | s | ) | [static] |
decodes the group of blocks header or slice header.
Definition at line 3012 of file h263.c.
References ff_h263_decode_mba(), MpegEncContext::gb, get_bits(), get_bits1(), get_bits_count(), MpegEncContext::gob_index, MpegEncContext::h263_slice_structured, MpegEncContext::mb_height, MpegEncContext::mb_num, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::qscale, show_bits(), GetBitContext::size_in_bits, and skip_bits().
Referenced by ff_h263_resync().

| void h263_decode_init_vlc | ( | MpegEncContext * | s | ) |
Definition at line 2921 of file h263.c.
References cbpc_b_tab, CBPC_B_VLC_BITS, cbpy_tab, CBPY_VLC_BITS, DC_VLC_BITS, DCtab_chrom, DCtab_lum, h263_mbtype_b_tab, H263_MBTYPE_B_VLC_BITS, init_rl(), init_vlc(), init_vlc_rl(), inter_MCBPC_bits, inter_MCBPC_code, INTER_MCBPC_VLC_BITS, intra_MCBPC_bits, intra_MCBPC_code, INTRA_MCBPC_VLC_BITS, mb_type_b_tab, MB_TYPE_B_VLC_BITS, MV_VLC_BITS, mvtab, rl_inter, rl_intra, rl_intra_aic, rvlc_rl_inter, rvlc_rl_intra, SPRITE_TRAJ_VLC_BITS, and sprite_trajectory_tab.
Referenced by ff_h263_decode_init(), and rv10_decode_init().

| static int h263_decode_motion | ( | MpegEncContext * | s, | |
| int | pred, | |||
| int | fcode | |||
| ) | [static] |
Definition at line 4486 of file h263.c.
References MpegEncContext::gb, get_bits(), get_bits1(), get_vlc2(), MpegEncContext::h263_long_vectors, INT_BIT, MV_VLC_BITS, shift(), and VLC::table.
Referenced by ff_h263_decode_mb(), ff_mpeg4_decode_mb(), mpeg4_decode_partition_a(), and preview_obmc().

| int h263_decode_picture_header | ( | MpegEncContext * | s | ) |
Definition at line 4982 of file h263.c.
References align_get_bits(), MpegEncContext::alt_inter_vlc, MpegEncContext::aspect_ratio_info, av_get_pict_type_char(), av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, MpegEncContext::avctx, B_TYPE, MpegEncContext::c_dc_scale_table, MpegEncContext::chroma_qscale, MpegEncContext::chroma_qscale_table, AVCodecContext::codec_tag, MpegEncContext::custom_pcf, AVCodecContext::debug, AVRational::den, MpegEncContext::f_code, ff_aic_dc_scale_table, FF_ASPECT_EXTENDED, FF_DEBUG_PICT_INFO, ff_gcd(), ff_h263_chroma_qscale_table, ff_h263_decode_mba(), ff_mpeg1_dc_scale_table, MpegEncContext::gb, get_bits(), get_bits1(), get_bits_count(), get_sbits(), MpegEncContext::h263_aic, h263_format, MpegEncContext::h263_long_vectors, MpegEncContext::h263_plus, MpegEncContext::h263_slice_structured, MpegEncContext::height, height, I_TYPE, MpegEncContext::loop_filter, MpegEncContext::mb_height, MpegEncContext::mb_num, MpegEncContext::mb_width, MpegEncContext::modified_quant, MpegEncContext::no_rounding, AVRational::num, MpegEncContext::obmc, P_TYPE, MpegEncContext::pict_type, MpegEncContext::picture_number, pixel_aspect, MpegEncContext::qscale, AVCodecContext::sample_aspect_ratio, GetBitContext::size_in_bits, skip_bits(), skip_bits1(), AVCodecContext::time_base, MpegEncContext::umvplus, MpegEncContext::unrestricted_mv, MpegEncContext::width, width, and MpegEncContext::y_dc_scale_table.
Referenced by ff_h263_decode_frame().

| static void h263_pred_acdc | ( | MpegEncContext * | s, | |
| DCTELEM * | block, | |||
| int | n | |||
| ) | [static] |
Definition at line 1525 of file h263.c.
References a, MpegEncContext::ac_pred, MpegEncContext::ac_val, MpegEncContext::b8_stride, c, MpegEncContext::c_dc_scale, MpegEncContext::dc_val, MpegEncContext::dsp, MpegEncContext::first_slice_line, MpegEncContext::h263_aic_dir, DSPContext::idct_permutation, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::resync_mb_x, and MpegEncContext::y_dc_scale.
Referenced by h263_decode_block().
| static int h263_pred_dc | ( | MpegEncContext * | s, | |
| int | n, | |||
| uint16_t ** | dc_val_ptr | |||
| ) | [static] |
Definition at line 1478 of file h263.c.
References a, MpegEncContext::ac_val, MpegEncContext::b8_stride, c, MpegEncContext::c_dc_scale, MpegEncContext::dc_val, MpegEncContext::first_slice_line, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::resync_mb_x, and MpegEncContext::y_dc_scale.
| int16_t* h263_pred_motion | ( | MpegEncContext * | s, | |
| int | block, | |||
| int | dir, | |||
| int * | px, | |||
| int * | py | |||
| ) |
Definition at line 1612 of file h263.c.
References B, MpegEncContext::b8_stride, MpegEncContext::block_index, C, MpegEncContext::current_picture, MpegEncContext::first_slice_line, MpegEncContext::h263_pred, MpegEncContext::mb_x, and MpegEncContext::resync_mb_x.
Referenced by ff_h263_decode_mb(), ff_mpeg4_decode_mb(), mpeg4_decode_partition_a(), msmpeg4v12_decode_mb(), msmpeg4v34_decode_mb(), and preview_obmc().
| static int h263p_decode_umotion | ( | MpegEncContext * | s, | |
| int | pred | |||
| ) | [static] |
Definition at line 4524 of file h263.c.
References fprintf, MpegEncContext::gb, and get_bits1().
Referenced by ff_h263_decode_mb(), and preview_obmc().

| void init_vlc_rl | ( | RLTable * | rl, | |
| int | use_static | |||
| ) |
Definition at line 2865 of file h263.c.
References av_malloc(), av_mallocz_static(), init_vlc(), RLTable::last, RL_VLC_ELEM::len, RL_VLC_ELEM::level, MAX_LEVEL, RLTable::n, RLTable::rl_vlc, RL_VLC_ELEM::run, VLC::table, RLTable::table_level, RLTable::table_run, VLC::table_size, RLTable::table_vlc, and RLTable::vlc.
Referenced by ff_msmpeg4_decode_init(), h261_decode_init_vlc(), and h263_decode_init_vlc().

| int intel_h263_decode_picture_header | ( | MpegEncContext * | s | ) |
Definition at line 6074 of file h263.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::c_dc_scale_table, MpegEncContext::chroma_qscale, MpegEncContext::f_code, ff_mpeg1_dc_scale_table, MpegEncContext::gb, get_bits(), get_bits1(), get_bits_long(), MpegEncContext::h263_long_vectors, MpegEncContext::h263_plus, I_TYPE, MpegEncContext::obmc, MpegEncContext::pict_type, MpegEncContext::picture_number, MpegEncContext::qscale, skip_bits(), skip_bits1(), MpegEncContext::unrestricted_mv, and MpegEncContext::y_dc_scale_table.
Referenced by ff_h263_decode_frame().

| static void memsetw | ( | short * | tab, | |
| int | val, | |||
| int | n | |||
| ) | [inline, static] |
| static int mpeg4_decode_block | ( | MpegEncContext * | s, | |
| DCTELEM * | block, | |||
| int | n, | |||
| int | coded, | |||
| int | intra, | |||
| int | rvlc | |||
| ) | [inline, static] |
decodes a block.
Definition at line 4730 of file h263.c.
References ABS, MpegEncContext::ac_pred, av_log(), AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::block_index, MpegEncContext::block_last_index, MpegEncContext::c_dc_scale, CLOSE_READER, MpegEncContext::dc_val, MpegEncContext::error_resilience, FF_ER_COMPLIANT, ff_mpeg4_pred_dc(), fprintf, MpegEncContext::gb, GET_CACHE, GET_RL_VLC, MpegEncContext::intra_dc_threshold, MpegEncContext::intra_h_scantable, MpegEncContext::intra_scantable, MpegEncContext::intra_v_scantable, IS_3IV1, LAST_SKIP_BITS, LAST_SKIP_CACHE, RLTable::max_level, MAX_LEVEL, RLTable::max_run, MAX_RUN, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, mpeg4_decode_dc(), mpeg4_pred_ac(), MpegEncContext::mpeg_quant, OPEN_READER, MpegEncContext::partitioned_frame, ScanTable::permutated, MpegEncContext::pred_dir_table, MpegEncContext::qscale, rl_inter, rl_intra, RLTable::rl_vlc, rvlc_rl_inter, rvlc_rl_intra, SHOW_SBITS, SHOW_UBITS, SKIP_BITS, SKIP_CACHE, SKIP_COUNTER, TEX_VLC_BITS, UPDATE_CACHE, and MpegEncContext::y_dc_scale.
Referenced by ff_mpeg4_decode_mb(), and mpeg4_decode_partitioned_mb().

| static int mpeg4_decode_dc | ( | MpegEncContext * | s, | |
| int | n, | |||
| int * | dir_ptr | |||
| ) | [inline, static] |
decodes the dc value.
| n | block index (0-3 are luma, 4-5 are chroma) | |
| dir_ptr | the prediction direction will be stored here |
Definition at line 4685 of file h263.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, DC_VLC_BITS, MpegEncContext::error_resilience, ff_mpeg4_pred_dc(), MpegEncContext::gb, get_bits(), get_bits1(), get_vlc2(), get_xbits(), IS_3IV1, and VLC::table.
Referenced by mpeg4_decode_block(), mpeg4_decode_partition_a(), and mpeg4_decode_partition_b().

| static int mpeg4_decode_gop_header | ( | MpegEncContext * | s, | |
| GetBitContext * | gb | |||
| ) | [static] |
Definition at line 5469 of file h263.c.
References get_bits(), skip_bits1(), and MpegEncContext::time_base.
Referenced by ff_mpeg4_decode_picture_header().

| static int mpeg4_decode_partition_a | ( | MpegEncContext * | s | ) | [static] |
decodes first partition.
Definition at line 3399 of file h263.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::b8_stride, MpegEncContext::block_index, MpegEncContext::cbp_table, MpegEncContext::current_picture, DC_MARKER, MpegEncContext::f_code, ff_clean_intra_table_entries(), ff_init_block_index(), ff_set_qscale(), ff_update_block_index(), MpegEncContext::first_slice_line, MpegEncContext::gb, get_amv(), get_bits(), get_bits1(), get_vlc2(), GMC_SPRITE, h263_decode_motion(), h263_pred_motion(), I_TYPE, INTER_MCBPC_VLC_BITS, INTRA_MCBPC_VLC_BITS, MpegEncContext::mb_height, MpegEncContext::mb_intra, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_8x8, MB_TYPE_GMC, MB_TYPE_INTRA, MB_TYPE_L0, MB_TYPE_SKIP, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::mbintra_table, MpegEncContext::mcsel, MOTION_MARKER, mpeg4_decode_dc(), MpegEncContext::pict_type, MpegEncContext::pred_dir_table, MpegEncContext::qscale, MpegEncContext::resync_mb_x, MpegEncContext::resync_mb_y, S_TYPE, show_bits(), show_bits_long(), skip_bits1(), stride, VLC::table, and MpegEncContext::vol_sprite_usage.
Referenced by ff_mpeg4_decode_partitions().

| static int mpeg4_decode_partition_b | ( | MpegEncContext * | s, | |
| int | mb_count | |||
| ) | [static] |
decode second partition.
Definition at line 3564 of file h263.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::cbp_table, CBPY_VLC_BITS, MpegEncContext::current_picture, ff_init_block_index(), ff_set_qscale(), ff_update_block_index(), MpegEncContext::first_slice_line, MpegEncContext::gb, get_bits(), get_bits1(), get_vlc2(), I_TYPE, IS_INTRA, IS_SKIP, MpegEncContext::mb_stride, MB_TYPE_ACPRED, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, mpeg4_decode_dc(), MpegEncContext::pict_type, MpegEncContext::pred_dir_table, MpegEncContext::qscale, MpegEncContext::resync_mb_x, MpegEncContext::resync_mb_y, and VLC::table.
Referenced by ff_mpeg4_decode_partitions().

| static int mpeg4_decode_partitioned_mb | ( | MpegEncContext * | s, | |
| DCTELEM | block[6][64] | |||
| ) | [static] |
decode partition C of one MB.
Definition at line 3704 of file h263.c.
References MpegEncContext::ac_pred, av_log(), AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::block, MpegEncContext::block_index, MpegEncContext::block_last_index, MpegEncContext::cbp_table, DSPContext::clear_blocks, MpegEncContext::current_picture, MpegEncContext::dsp, ff_set_qscale(), GMC_SPRITE, IS_8X8, IS_ACPRED, IS_INTRA, IS_SKIP, MpegEncContext::mb_intra, MpegEncContext::mb_num_left, MpegEncContext::mb_skipped, MpegEncContext::mb_stride, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::mcsel, mpeg4_decode_block(), mpeg4_is_resync(), MpegEncContext::mv, MpegEncContext::mv_dir, MV_DIR_FORWARD, MpegEncContext::mv_type, MV_TYPE_16X16, MV_TYPE_8X8, P_TYPE, MpegEncContext::pict_type, MpegEncContext::qscale, MpegEncContext::rvlc, S_TYPE, SLICE_END, SLICE_NOEND, SLICE_OK, and MpegEncContext::vol_sprite_usage.
Referenced by decode_vop_header().

| static void mpeg4_decode_sprite_trajectory | ( | MpegEncContext * | s, | |
| GetBitContext * | gb | |||
| ) | [static] |
Definition at line 5260 of file h263.c.
References a, MpegEncContext::divx_build, MpegEncContext::divx_version, get_vlc(), get_xbits(), MpegEncContext::height, MpegEncContext::num_sprite_warping_points, r, MpegEncContext::real_sprite_warping_points, skip_bits1(), MpegEncContext::sprite_delta, MpegEncContext::sprite_offset, MpegEncContext::sprite_shift, MpegEncContext::sprite_warping_accuracy, and MpegEncContext::width.
Referenced by decode_vop_header(), and mpeg4_decode_video_packet_header().

| static int mpeg4_decode_video_packet_header | ( | MpegEncContext * | s | ) | [static] |
decodes the next video packet.
Definition at line 3185 of file h263.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, B_TYPE, BIN_ONLY_SHAPE, check_marker(), MpegEncContext::chroma_qscale, ff_mpeg4_get_video_packet_prefix_length(), MpegEncContext::gb, get_bits(), get_bits1(), get_bits_count(), GMC_SPRITE, I_TYPE, MpegEncContext::mb_index2xy, MpegEncContext::mb_num, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, mpeg4_decode_sprite_trajectory(), MpegEncContext::next_picture, MpegEncContext::pict_type, MpegEncContext::qscale, MpegEncContext::quant_precision, RECT_SHAPE, S_TYPE, MpegEncContext::shape, GetBitContext::size_in_bits, skip_bits(), MpegEncContext::time_increment_bits, and MpegEncContext::vol_sprite_usage.
Referenced by ff_h263_resync().

| static int mpeg4_get_block_length | ( | MpegEncContext * | s, | |
| DCTELEM * | block, | |||
| int | n, | |||
| int | intra_dc, | |||
| uint8_t * | scan_table | |||
| ) | [static] |
| static int mpeg4_is_resync | ( | MpegEncContext * | s | ) | [inline, static] |
check if the next stuff is a resync marker or the end.
Definition at line 3147 of file h263.c.
References align_get_bits(), FF_BUG_NO_PADDING, ff_mpeg4_get_video_packet_prefix_length(), ff_mpeg4_resync_prefix, MpegEncContext::gb, get_bits1(), get_bits_count(), show_bits(), GetBitContext::size_in_bits, skip_bits(), and MpegEncContext::workaround_bugs.
Referenced by ff_mpeg4_decode_mb(), and mpeg4_decode_partitioned_mb().

| void mpeg4_pred_ac | ( | MpegEncContext * | s, | |
| DCTELEM * | block, | |||
| int | n, | |||
| int | dir | |||
| ) |
predicts the ac.
| n | block index (0-3 are luma, 4-5 are chroma) | |
| dir | the ac prediction direction |
Definition at line 2565 of file h263.c.
References MpegEncContext::ac_pred, MpegEncContext::ac_val, MpegEncContext::block_index, MpegEncContext::block_wrap, MpegEncContext::current_picture, MpegEncContext::dsp, DSPContext::idct_permutation, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, and MpegEncContext::qscale.
Referenced by mpeg4_decode_block(), msmpeg4_decode_block(), and vc9_decode_block().
| static void preview_obmc | ( | MpegEncContext * | s | ) | [static] |
read the next MVs for OBMC. yes this is a ugly hack, feel free to send a patch :)
Definition at line 3788 of file h263.c.
References MpegEncContext::b8_stride, MpegEncContext::block_index, CBPY_VLC_BITS, MpegEncContext::current_picture, MpegEncContext::gb, get_bits1(), get_vlc2(), h263_decode_motion(), h263_pred_motion(), h263p_decode_umotion(), INTER_MCBPC_VLC_BITS, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_8x8, MB_TYPE_INTRA, MB_TYPE_L0, MB_TYPE_SKIP, MpegEncContext::mb_x, MpegEncContext::mb_y, MpegEncContext::modified_quant, P_TYPE, MpegEncContext::pict_type, skip_bits(), skip_bits1(), stride, VLC::table, and MpegEncContext::umvplus.
Referenced by ff_h263_decode_mb().

VLC cbpc_b_vlc [static] |
VLC h263_mbtype_b_vlc [static] |
VLC inter_MCBPC_vlc [static] |
VLC intra_MCBPC_vlc [static] |
VLC mb_type_b_vlc [static] |
VLC sprite_trajectory [static] |
1.5.5