com.twilight.h264.decoder
Class H264Context

java.lang.Object
  extended by com.twilight.h264.decoder.H264Context

public class H264Context
extends Object


Field Summary
 int b_stride
           
 int[] block_offset
          block_offset[ 0..23] for frame macroblocks block_offset[24..47] for field macroblocks
 CABACContext cabac
          Cabac
 int cabac_init_idc
           
 int[] cabac_state
           
 CAVLCContext cavlc
           
 int cbp
           
 int[] cbp_table
           
static int CHROMA_DC_BLOCK_INDEX
           
static int CHROMA_DC_COEFF_TOKEN_VLC_BITS
           
static int CHROMA_DC_TOTAL_ZEROS_VLC_BITS
           
 int chroma_log2_weight_denom
           
 int chroma_pred_mode
           
 int[] chroma_pred_mode_table
           
 int[] chroma_qp
           
 int[][][][] chroma_weight
           
 int[] chroma_weight_flag
           
static int COEFF_TOKEN_VLC_BITS
           
 int col_fieldoff
           
 int col_parity
           
 int curr_pic_num
          frame_num for frames or 2*frame_num+1 for field pics.
 int current_slice
          current slice number, used to initalize slice_num of each thread/context
 int deblocking_filter
           
 AVFrame[][] default_ref_list
           
static int[][] default_scaling4
           
static int[][] default_scaling8
           
 AVFrame[] delayed_pic
           
static int DELAYED_PIC_REF
          Value of Picture.reference when Picture is not a reference picture, but is held for delayed output.
 int[] delta_poc
           
 int delta_poc_bottom
           
 int dequant_coeff_pps
           
 long[][][] dequant4_buffer
           
 long[][][] dequant4_coeff
           
 long[][][] dequant8_buffer
           
 long[][][] dequant8_coeff
           
 int[] direct_cache
           
 int direct_spatial_mv_pred
           
 int[] direct_table
           
 AVFrame displayPicture
           
 int[] dist_scale_factor
           
 int[][] dist_scale_factor_field
           
static int[] div6
           
 int emu_edge_height
           
 int emu_edge_width
           
static int EXTENDED_SAR
           
static int[] ff_alternate_horizontal_scan
           
static int[] ff_alternate_vertical_scan
           
static int FF_B_TYPE
           
static int FF_BI_TYPE
           
static int[] ff_h264_chroma_qp
           
static int FF_I_TYPE
           
static int FF_P_TYPE
           
static int FF_S_TYPE
           
static int FF_SI_TYPE
           
static int FF_SP_TYPE
           
static int[] ff_zigzag_direct
           
 int[] field_scan
           
 int[] field_scan_q0
           
 int[] field_scan8x8
           
 int[] field_scan8x8_cavlc
           
 int[] field_scan8x8_cavlc_q0
           
 int[] field_scan8x8_q0
           
 int frame_num
           
 int frame_num_offset
           
 int got_first
           
 H264DSPContext h264dsp
           
 int halfpel_flag
           
 H264PredictionContext hpc
           
static int[] hwaccel_pixfmt_list_h264_jpeg_420
           
 int[][][] implicit_weight
           
 int[] initial_cpb_removal_delay
           
 GetBitContext inter_gb
           
 GetBitContext inter_gb_ptr
           
 GetBitContext intra_gb
           
 GetBitContext intra_gb_ptr
           
 int intra16x16_pred_mode
           
 int[] intra4x4_pred_mode
           
 int[] intra4x4_pred_mode_cache
           
 int is_avc
          Used to parse AVC variant of h264
 int is_complex
           
static short[] last_coeff_flag_offset_8x8
           
 int last_qscale_diff
           
 int last_slice_type
           
 int[] left_block
           
 int left_cbp
           
 int[] left_mb_xy
           
 long left_samples_available
           
 int[] left_type
           
 long list_count
           
 int[] list_counts
           
static int LIST_NOT_USED
           
 AVFrame[] long_ref
           
 int long_ref_count
           
static int LUMA_DC_BLOCK_INDEX
           
 int luma_log2_weight_denom
           
 int[][][] luma_weight
           
 int[] luma_weight_flag
           
 int[][] map_col_to_list0
           
 int[][][] map_col_to_list0_field
           
 int max_contexts
          Max number of threads / contexts.
static int MAX_DELAYED_PIC_COUNT
           
static int MAX_MMCO_COUNT
           
 int max_pic_num
          max_frame_num or 2*max_frame_num for field pics.
static int MAX_PPS_COUNT
           
static int MAX_SLICES
           
static int MAX_SPS_COUNT
           
static int MAX_THREADS
           
 short[] mb
           
 int mb_aff_frame
           
 short[][] mb_chroma_dc
           
 int mb_field_decoding_flag
           
 int mb_linesize
           
 short[] mb_luma_dc
           
 int mb_mbaff
           
 short[] mb_padding
           
static int MB_TYPE_16x16
           
static int MB_TYPE_16x8
           
static int MB_TYPE_8x16
           
static int MB_TYPE_8x8
           
static int MB_TYPE_8x8DCT
           
static int MB_TYPE_ACPRED
           
static int MB_TYPE_CBP
           
static int MB_TYPE_DIRECT2
           
static int MB_TYPE_GMC
           
static int MB_TYPE_INTERLACED
           
static int MB_TYPE_INTRA_PCM
           
static int MB_TYPE_INTRA16x16
           
static int MB_TYPE_INTRA4x4
           
static int MB_TYPE_L0
           
static int MB_TYPE_L0L1
           
static int MB_TYPE_L1
           
static int MB_TYPE_P0L0
           
static int MB_TYPE_P0L1
           
static int MB_TYPE_P1L0
           
static int MB_TYPE_P1L1
           
static int MB_TYPE_QUANT
           
static int MB_TYPE_REF0
           
static int MB_TYPE_SKIP
           
 int mb_uvlinesize
           
 int mb_xy
           
 long[] mb2b_xy
           
 long[] mb2br_xy
           
 MMCO[] mmco
          memory management control operations buffer.
 int mmco_index
           
 int[][][] mv_cache
          Motion vector cache.
 int[] mv_cache_clean
          is 1 if the specific list MV&references are set to 0,0,-2.
 int[][][] mvd_cache
           
 int[][][] mvd_table
           
static int NAL_AUD
           
static int NAL_AUXILIARY_SLICE
           
static int NAL_DPA
           
static int NAL_DPB
           
static int NAL_DPC
           
static int NAL_END_SEQUENCE
           
static int NAL_END_STREAM
           
static int NAL_FILLER_DATA
           
static int NAL_FUA
           
static int NAL_FUB
           
static int NAL_IDR_SLICE
           
 int nal_length_size
           
static int NAL_PPS
           
 int nal_ref_idc
           
static int NAL_SEI
           
static int NAL_SLICE
           
static int NAL_SPS
           
static int NAL_SPS_EXT
           
 int nal_unit_type
           
 int neighbor_transform_size
          number of neighbors (top and/or left) that used 8x8 dct
 int next_mb_skipped
           
 int next_slice_index
           
 int[][] non_zero_count
           
 int[] non_zero_count_cache
          non zero coeff count cache.
 int outputed_poc
           
static int PART_NOT_AVAILABLE
           
static AVRational[] pixel_aspect
           
 int poc_lsb
           
 int poc_msb
           
 PictureParameterSet pps
          current pps
 PictureParameterSet[] pps_buffers
           
 int prev_frame_num
           
 int prev_frame_num_offset
           
 int prev_interlaced_frame
          Complement sei_pic_struct SEI_PIC_STRUCT_TOP_BOTTOM and SEI_PIC_STRUCT_BOTTOM_TOP indicate interlaced frames.
 int prev_mb_skipped
           
 int prev_poc_lsb
           
 int prev_poc_msb
           
 int qp_thresh
           
 int[][] rbsp_buffer
           
 long[] rbsp_buffer_size
           
 int redundant_pic_count
           
 int[][] ref_cache
           
 long[] ref_count
          num_ref_idx_l0/1_active_minus1 + 1
 AVFrame[][] ref_list
           
 int[][][] ref2frm
          < 0..15: frame refs, 16..47: mbaff field refs.
static int[] rem6
           
static int RUN_VLC_BITS
           
static int RUN7_VLC_BITS
           
 MpegEncContext s
           
static short[] scan8
           
static int SEI_BUFFERING_PERIOD
          SEI message types
 int sei_buffering_period_present
           
 int sei_cpb_removal_delay
          cpb_removal_delay in picture timing SEI message, see H.264 C.1.2
 int sei_ct_type
          Bit set of clock types for fields/frames in picture timing SEI message.
 int sei_dpb_output_delay
          dpb_output_delay in picture timing SEI message, see H.264 C.2.2
static int[] sei_num_clock_ts_table
           
 int sei_pic_struct
          pic_struct in picture timing SEI message
static int SEI_PIC_STRUCT_BOTTOM_FIELD
           
static int SEI_PIC_STRUCT_BOTTOM_TOP
           
static int SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM
           
static int SEI_PIC_STRUCT_FRAME
           
static int SEI_PIC_STRUCT_FRAME_DOUBLING
           
static int SEI_PIC_STRUCT_FRAME_TRIPLING
           
static int SEI_PIC_STRUCT_TOP_BOTTOM
           
static int SEI_PIC_STRUCT_TOP_BOTTOM_TOP
           
static int SEI_PIC_STRUCT_TOP_FIELD
           
 int sei_recovery_frame_cnt
          recovery_frame_cnt from SEI message Set to -1 if no recovery point SEI message found or to number of frames before playback synchronizes.
static int SEI_TYPE_PIC_TIMING
           
static int SEI_TYPE_RECOVERY_POINT
           
static int SEI_TYPE_USER_DATA_UNREGISTERED
           
 AVFrame[] short_ref
           
 int short_ref_count
           
 int single_decode_warning
          1 if the single thread fallback warning has already been displayed, 0 otherwise.
 int slice_alpha_c0_offset
           
 int slice_beta_offset
           
 int slice_num
           
 int[] slice_table_base
           
 int slice_table_offset
           
 int slice_type
           
 int slice_type_fixed
           
 int slice_type_nos
           
 SequenceParameterSet sps
           
 SequenceParameterSet[] sps_buffers
           
 int[] sub_mb_type
           
 long svq3_watermark_key
           
 int thirdpel_flag
           
 H264Context[] thread_context
           
 int[][][] top_borders
           
 int top_cbp
           
 int top_mb_xy
           
 long top_samples_available
           
 int top_type
           
 int topleft_mb_xy
           
 int topleft_partition
           
 long topleft_samples_available
           
 int topleft_type
           
 int topright_mb_xy
           
 long topright_samples_available
           
 int topright_type
           
static int TOTAL_ZEROS_VLC_BITS
           
 int unknown_svq3_flag
           
 int use_weight
           
 int use_weight_chroma
           
 int x264_build
           
 int[] zigzag_scan
           
 int[] zigzag_scan_q0
           
 int[] zigzag_scan8x8
           
 int[] zigzag_scan8x8_cavlc
           
 int[] zigzag_scan8x8_cavlc_q0
           
 int[] zigzag_scan8x8_q0
           
 
Constructor Summary
H264Context()
           
 
Method Summary
static int av_cmp_q(AVRational a, AVRational b)
          Compare two rationals.
static void av_fast_malloc(int[][] param1, int[] param2, int min_size)
           
static long av_gcd(long a, long b)
           
static int av_reduce(int[] num_den, long num, long den, long max)
           
 void backup_mb_border(int[] src_y_base, int src_y_offset, int[] src_cb_base, int src_cb_offset, int[] src_cr_base, int src_cr_offset, int linesize, int uvlinesize, int simple)
           
static void build_qp_table(PictureParameterSet pps, int t, int index)
           
 int check_mv(int b_idx, int bn_idx, int mvy_limit)
           
static void clone_slice(H264Context dst, H264Context src)
          Replicate H264 "master" context to thread contexts.
 void common_init(MpegEncContext _s)
           
 int context_init()
          Init context Allocate buffers which are not shared amongst multiple threads.
 int decode_buffering_period()
           
 void decode_cabac_residual_dc_internal(short[] block, int block_offset, int cat, int n, int[] scantable, int scan_offset, int max_coeff)
           
 void decode_cabac_residual_dc(short[] block, int block_offset, int cat, int n, int[] scantable, int scan_offset, int max_coeff)
           
 void decode_cabac_residual_internal(short[] block, int block_offset, int cat, int n, int[] scantable, int scan_offset, long[] qmul, int max_coeff, int is_dc)
           
 void decode_cabac_residual_nondc_internal(short[] block, int block_offset, int cat, int n, int[] scantable, int scan_offset, long[] qmul, int max_coeff)
           
 void decode_cabac_residual_nondc(short[] block, int block_offset, int cat, int n, int[] scantable, int scan_offset, long[] qmul, int max_coeff)
           
 int decode_frame(AVFrame data, int[] data_size, AVPacket avpkt)
           
 int decode_hrd_parameters(SequenceParameterSet sps)
           
 void decode_mb_skip()
          decodes a P_SKIP or B_SKIP macroblock
 int decode_nal_units(int[] buf_base, int buf_offset, int buf_size)
           
 int decode_picture_timing()
           
 int decode_recovery_point()
           
 void decode_scaling_list(int[] factors, int size, int[] jvt_list, int[] fallback_list)
           
 void decode_scaling_matrices(SequenceParameterSet sps, PictureParameterSet pps, int is_sps, int[][] scaling_matrix4, int[][] scaling_matrix8)
           
static int decode_slice_header(H264Context h, H264Context h0)
          decodes a slice header.
 int decode_slice()
           
 int decode_unregistered_user_data(int size)
           
 int decode_vui_parameters(SequenceParameterSet sps)
           
 int fetch_diagonal_mv(int[][] pC, int i, int list, int part_width)
           
 void ff_generate_sliding_window_mmcos()
           
 int ff_h264_alloc_tables()
           
 int ff_h264_check_intra_pred_mode(int mode)
          checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks.
 int ff_h264_check_intra4x4_pred_mode()
          checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks.
 int ff_h264_decode_extradata()
           
 int ff_h264_decode_mb_cabac()
          decodes a macroblock
 int[] ff_h264_decode_nal(int[] src_base, int src_offset, int[] dst_length_consumed, int length)
           
 int ff_h264_decode_picture_parameter_set(int bit_length)
           
 int ff_h264_decode_rbsp_trailing(int[] src_base, int src_offset)
           
 int ff_h264_decode_ref_pic_list_reordering()
           
 int ff_h264_decode_ref_pic_marking(GetBitContext gb)
           
 int ff_h264_decode_sei()
           
 int ff_h264_decode_seq_parameter_set()
           
 void ff_h264_direct_dist_scale_factor()
           
 void ff_h264_direct_ref_list_init()
           
 int ff_h264_execute_ref_pic_marking(MMCO[] mmco, int mmco_count)
           
 int ff_h264_fill_default_ref_list()
           
 void ff_h264_fill_mbaff_ref_list()
           
 void ff_h264_filter_mb_fast(int mb_x, int mb_y, int[] img_y_base, int img_y_offset, int[] img_cb_base, int img_cb_offset, int[] img_cr_base, int img_cr_offset, int linesize, int uvlinesize)
           
 void ff_h264_filter_mb(int mb_x, int mb_y, int[] img_y_base, int img_y_offset, int[] img_cb_base, int img_cb_offset, int[] img_cr_base, int img_cr_offset, int linesize, int uvlinesize)
           
 int ff_h264_frame_start()
           
 void ff_h264_free_context()
           
 void ff_h264_hl_decode_mb()
           
 int ff_h264_pred_direct_motion(int mb_type)
           
 void ff_h264_write_back_intra_pred_mode()
           
 void field_end()
           
 void fill_colmap(int[][] map, int list, int field, int colfield, int mbafi)
           
 void fill_decode_caches(int mb_type)
           
 void fill_decode_neighbors(int mb_type)
           
 int fill_filter_caches(int mb_type)
           
 void filter_mb_dir(int mb_x, int mb_y, int[] img_y_base, int img_y_offset, int[] img_cb_base, int img_cb_offset, int[] img_cr_base, int img_cr_offset, int linesize, int uvlinesize, int mb_xy, int mb_type, int mvy_limit, int first_vertical_edge_done, int dir)
           
 void filter_mb_edgech(int[] pix_base, int pix_offset, int stride, int[] bS_base, int bS_offset, int qp)
           
 void filter_mb_edgecv(int[] pix_base, int pix_offset, int stride, int[] bS_base, int bS_offset, int qp)
           
 void filter_mb_edgeh(int[] pix_base, int pix_offset, int stride, int[] bS_base, int bS_offset, int qp)
           
 void filter_mb_edgev(int[] pix_base, int pix_offset, int stride, int[] bS_base, int bS_offset, int qp)
           
 void filter_mb_mbaff_edgecv(int[] pix_base, int pix_offset, int stride, int[] bS_base, int bS_offset, int bsi, int qp)
           
 void filter_mb_mbaff_edgev(int[] pix_base, int pix_offset, int stride, int[] bS_base, int bS_offset, int bsi, int qp)
           
 AVFrame find_short(int frame_num, int[] idx)
          Find a Picture in the short term reference list by frame number.
 void free_tables()
           
 int get_cabac_cbf_ctx(int cat, int idx, int is_dc)
           
 int get_dct8x8_allowed()
           
 int get_scale_factor(int poc, int poc1, int i)
           
 void hl_decode_mb_internal(int simple)
           
 void hl_motion(int[] dest_y_base, int dest_y_offset, int[] dest_cb_base, int dest_cb_offset, int[] dest_cr_base, int dest_cr_offset, DSPContext.Ih264_qpel_mc_func[][] qpix_put, DSPContext.Ih264_chroma_mc_func[] chroma_put, DSPContext.Ih264_qpel_mc_func[][] qpix_avg, DSPContext.Ih264_chroma_mc_func[] chroma_avg, H264DSPContext.IH264WeightFunctionStub[] weight_op, H264DSPContext.IH264BiWeightFunctionStub[] weight_avg)
           
 void idr()
          instantaneous decoder refresh.
 void implicit_weight_table(int field)
          Initialize implicit_weight table.
 void init_dequant_tables()
           
 void init_dequant4_coeff_table()
           
 void init_dequant8_coeff_table()
           
 int init_poc()
           
 void init_scan_tables()
          initialize scan tables
 void loop_filter()
           
 void mc_dir_part(AVFrame pic, int n, int square, int chroma_height, int delta, int list, int[] dest_y_base, int dest_y_offset, int[] dest_cb_base, int dest_cb_offset, int[] dest_cr_base, int dest_cr_offset, int src_x_offset, int src_y_offset, DSPContext.Ih264_qpel_mc_func[] qpix_op, DSPContext.Ih264_chroma_mc_func chroma_op)
           
 void mc_part_std(int n, int square, int chroma_height, int delta, int[] dest_y_base, int dest_y_offset, int[] dest_cb_base, int dest_cb_offset, int[] dest_cr_base, int dest_cr_offset, int x_offset, int y_offset, DSPContext.Ih264_qpel_mc_func[] qpix_put, DSPContext.Ih264_chroma_mc_func chroma_put, DSPContext.Ih264_qpel_mc_func[] qpix_avg, DSPContext.Ih264_chroma_mc_func chroma_avg, int list0, int list1)
           
 void mc_part_weighted(int n, int square, int chroma_height, int delta, int[] dest_y_base, int dest_y_offset, int[] dest_cb_base, int dest_cb_offset, int[] dest_cr_base, int dest_cr_offset, int x_offset, int y_offset, DSPContext.Ih264_qpel_mc_func[] qpix_put, DSPContext.Ih264_chroma_mc_func chroma_put, H264DSPContext.IH264WeightFunctionStub luma_weight_op, H264DSPContext.IH264WeightFunctionStub chroma_weight_op, H264DSPContext.IH264BiWeightFunctionStub luma_weight_avg, H264DSPContext.IH264BiWeightFunctionStub chroma_weight_avg, int list0, int list1)
           
 void mc_part(int n, int square, int chroma_height, int delta, int[] dest_y_base, int dest_y_offset, int[] dest_cb_base, int dest_cb_offset, int[] dest_cr_base, int dest_cr_offset, int x_offset, int y_offset, DSPContext.Ih264_qpel_mc_func[] qpix_put, DSPContext.Ih264_chroma_mc_func chroma_put, DSPContext.Ih264_qpel_mc_func[] qpix_avg, DSPContext.Ih264_chroma_mc_func chroma_avg, H264DSPContext.IH264WeightFunctionStub[] weight_op_base, int weight_op_offset, H264DSPContext.IH264BiWeightFunctionStub[] weight_avg_base, int weight_avg_offset, int list0, int list1)
           
static int pack16to32(int a, int b)
           
static int pack8to16(int a, int b)
           
 int pic_num_extract(int pic_num, int[] structure)
          Extract structure information about the picture described by pic_num in the current decoding context (frame or field).
 void pred_16x8_motion(int n, int list, int ref, int[] mxmy)
          gets the directionally predicted 16x8 MV.
 void pred_8x16_motion(int n, int list, int ref, int[] mxmy)
          gets the directionally predicted 8x16 MV.
 int pred_intra_mode(int n)
          gets the predicted intra4x4 prediction mode.
 void pred_motion(int n, int part_width, int list, int ref, int[] mxmy)
          gets the predicted MV.
 void pred_pskip_motion(int[] mxmy)
           
 int pred_spatial_direct_motion(int mb_type)
           
 int pred_temp_direct_motion(int mb_type)
           
 int pred_weight_table()
           
 void predict_field_decoding_flag()
           
 void prefetch_motion(int list)
           
 AVFrame remove_long(int i, int ref_mask)
          Remove a picture from the long term reference list by its index in that list.
 void remove_short_at_index(int i)
          Remove a picture from the short term reference list by its index in that list.
 AVFrame remove_short(int frame_num, int ref_mask)
           
 int unreference_pic(AVFrame pic, int refmask)
          Mark a picture as no longer needed for reference.
 void write_back_motion(int mb_type)
           
 void write_back_non_zero_count()
           
 void xchg_mb_border(int[] src_y_base, int src_y_offset, int[] src_cb_base, int src_cb_offset, int[] src_cr_base, int src_cr_offset, int linesize, int uvlinesize, int xchg, int simple)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DELAYED_PIC_REF

public static final int DELAYED_PIC_REF
Value of Picture.reference when Picture is not a reference picture, but is held for delayed output.

See Also:
Constant Field Values

sei_num_clock_ts_table

public static final int[] sei_num_clock_ts_table

SEI_BUFFERING_PERIOD

public static final int SEI_BUFFERING_PERIOD
SEI message types

See Also:
Constant Field Values

SEI_TYPE_PIC_TIMING

public static final int SEI_TYPE_PIC_TIMING
See Also:
Constant Field Values

SEI_TYPE_USER_DATA_UNREGISTERED

public static final int SEI_TYPE_USER_DATA_UNREGISTERED
See Also:
Constant Field Values

SEI_TYPE_RECOVERY_POINT

public static final int SEI_TYPE_RECOVERY_POINT
See Also:
Constant Field Values

NAL_SLICE

public static final int NAL_SLICE
See Also:
Constant Field Values

NAL_DPA

public static final int NAL_DPA
See Also:
Constant Field Values

NAL_DPB

public static final int NAL_DPB
See Also:
Constant Field Values

NAL_DPC

public static final int NAL_DPC
See Also:
Constant Field Values

NAL_IDR_SLICE

public static final int NAL_IDR_SLICE
See Also:
Constant Field Values

NAL_SEI

public static final int NAL_SEI
See Also:
Constant Field Values

NAL_SPS

public static final int NAL_SPS
See Also:
Constant Field Values

NAL_PPS

public static final int NAL_PPS
See Also:
Constant Field Values

NAL_AUD

public static final int NAL_AUD
See Also:
Constant Field Values

NAL_END_SEQUENCE

public static final int NAL_END_SEQUENCE
See Also:
Constant Field Values

NAL_END_STREAM

public static final int NAL_END_STREAM
See Also:
Constant Field Values

NAL_FILLER_DATA

public static final int NAL_FILLER_DATA
See Also:
Constant Field Values

NAL_SPS_EXT

public static final int NAL_SPS_EXT
See Also:
Constant Field Values

NAL_AUXILIARY_SLICE

public static final int NAL_AUXILIARY_SLICE
See Also:
Constant Field Values

NAL_FUA

public static final int NAL_FUA
See Also:
Constant Field Values

NAL_FUB

public static final int NAL_FUB
See Also:
Constant Field Values

FF_I_TYPE

public static final int FF_I_TYPE
See Also:
Constant Field Values

FF_P_TYPE

public static final int FF_P_TYPE
See Also:
Constant Field Values

FF_B_TYPE

public static final int FF_B_TYPE
See Also:
Constant Field Values

FF_S_TYPE

public static final int FF_S_TYPE
See Also:
Constant Field Values

FF_SI_TYPE

public static final int FF_SI_TYPE
See Also:
Constant Field Values

FF_SP_TYPE

public static final int FF_SP_TYPE
See Also:
Constant Field Values

FF_BI_TYPE

public static final int FF_BI_TYPE
See Also:
Constant Field Values

LUMA_DC_BLOCK_INDEX

public static final int LUMA_DC_BLOCK_INDEX
See Also:
Constant Field Values

CHROMA_DC_BLOCK_INDEX

public static final int CHROMA_DC_BLOCK_INDEX
See Also:
Constant Field Values

CHROMA_DC_COEFF_TOKEN_VLC_BITS

public static final int CHROMA_DC_COEFF_TOKEN_VLC_BITS
See Also:
Constant Field Values

COEFF_TOKEN_VLC_BITS

public static final int COEFF_TOKEN_VLC_BITS
See Also:
Constant Field Values

TOTAL_ZEROS_VLC_BITS

public static final int TOTAL_ZEROS_VLC_BITS
See Also:
Constant Field Values

CHROMA_DC_TOTAL_ZEROS_VLC_BITS

public static final int CHROMA_DC_TOTAL_ZEROS_VLC_BITS
See Also:
Constant Field Values

RUN_VLC_BITS

public static final int RUN_VLC_BITS
See Also:
Constant Field Values

RUN7_VLC_BITS

public static final int RUN7_VLC_BITS
See Also:
Constant Field Values

MAX_SPS_COUNT

public static final int MAX_SPS_COUNT
See Also:
Constant Field Values

MAX_PPS_COUNT

public static final int MAX_PPS_COUNT
See Also:
Constant Field Values

MAX_SLICES

public static final int MAX_SLICES
See Also:
Constant Field Values

MAX_DELAYED_PIC_COUNT

public static final int MAX_DELAYED_PIC_COUNT
See Also:
Constant Field Values

MAX_MMCO_COUNT

public static final int MAX_MMCO_COUNT
See Also:
Constant Field Values

MAX_THREADS

public static final int MAX_THREADS
See Also:
Constant Field Values

SEI_PIC_STRUCT_FRAME

public static final int SEI_PIC_STRUCT_FRAME
See Also:
Constant Field Values

SEI_PIC_STRUCT_TOP_FIELD

public static final int SEI_PIC_STRUCT_TOP_FIELD
See Also:
Constant Field Values

SEI_PIC_STRUCT_BOTTOM_FIELD

public static final int SEI_PIC_STRUCT_BOTTOM_FIELD
See Also:
Constant Field Values

SEI_PIC_STRUCT_TOP_BOTTOM

public static final int SEI_PIC_STRUCT_TOP_BOTTOM
See Also:
Constant Field Values

SEI_PIC_STRUCT_BOTTOM_TOP

public static final int SEI_PIC_STRUCT_BOTTOM_TOP
See Also:
Constant Field Values

SEI_PIC_STRUCT_TOP_BOTTOM_TOP

public static final int SEI_PIC_STRUCT_TOP_BOTTOM_TOP
See Also:
Constant Field Values

SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM

public static final int SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM
See Also:
Constant Field Values

SEI_PIC_STRUCT_FRAME_DOUBLING

public static final int SEI_PIC_STRUCT_FRAME_DOUBLING
See Also:
Constant Field Values

SEI_PIC_STRUCT_FRAME_TRIPLING

public static final int SEI_PIC_STRUCT_FRAME_TRIPLING
See Also:
Constant Field Values

MB_TYPE_INTRA4x4

public static final int MB_TYPE_INTRA4x4
See Also:
Constant Field Values

MB_TYPE_INTRA16x16

public static final int MB_TYPE_INTRA16x16
See Also:
Constant Field Values

MB_TYPE_INTRA_PCM

public static final int MB_TYPE_INTRA_PCM
See Also:
Constant Field Values

MB_TYPE_16x16

public static final int MB_TYPE_16x16
See Also:
Constant Field Values

MB_TYPE_16x8

public static final int MB_TYPE_16x8
See Also:
Constant Field Values

MB_TYPE_8x16

public static final int MB_TYPE_8x16
See Also:
Constant Field Values

MB_TYPE_8x8

public static final int MB_TYPE_8x8
See Also:
Constant Field Values

MB_TYPE_INTERLACED

public static final int MB_TYPE_INTERLACED
See Also:
Constant Field Values

MB_TYPE_DIRECT2

public static final int MB_TYPE_DIRECT2
See Also:
Constant Field Values

MB_TYPE_ACPRED

public static final int MB_TYPE_ACPRED
See Also:
Constant Field Values

MB_TYPE_GMC

public static final int MB_TYPE_GMC
See Also:
Constant Field Values

MB_TYPE_SKIP

public static final int MB_TYPE_SKIP
See Also:
Constant Field Values

MB_TYPE_P0L0

public static final int MB_TYPE_P0L0
See Also:
Constant Field Values

MB_TYPE_P1L0

public static final int MB_TYPE_P1L0
See Also:
Constant Field Values

MB_TYPE_P0L1

public static final int MB_TYPE_P0L1
See Also:
Constant Field Values

MB_TYPE_P1L1

public static final int MB_TYPE_P1L1
See Also:
Constant Field Values

MB_TYPE_L0

public static final int MB_TYPE_L0
See Also:
Constant Field Values

MB_TYPE_L1

public static final int MB_TYPE_L1
See Also:
Constant Field Values

MB_TYPE_L0L1

public static final int MB_TYPE_L0L1
See Also:
Constant Field Values

MB_TYPE_QUANT

public static final int MB_TYPE_QUANT
See Also:
Constant Field Values

MB_TYPE_CBP

public static final int MB_TYPE_CBP
See Also:
Constant Field Values

rem6

public static final int[] rem6

div6

public static final int[] div6

EXTENDED_SAR

public static final int EXTENDED_SAR
See Also:
Constant Field Values

MB_TYPE_REF0

public static final int MB_TYPE_REF0
See Also:
Constant Field Values

MB_TYPE_8x8DCT

public static final int MB_TYPE_8x8DCT
See Also:
Constant Field Values

LIST_NOT_USED

public static final int LIST_NOT_USED
See Also:
Constant Field Values

PART_NOT_AVAILABLE

public static final int PART_NOT_AVAILABLE
See Also:
Constant Field Values

s

public MpegEncContext s

h264dsp

public H264DSPContext h264dsp

cavlc

public CAVLCContext cavlc

chroma_qp

public int[] chroma_qp

qp_thresh

public int qp_thresh

prev_mb_skipped

public int prev_mb_skipped

next_mb_skipped

public int next_mb_skipped

chroma_pred_mode

public int chroma_pred_mode

intra16x16_pred_mode

public int intra16x16_pred_mode

topleft_mb_xy

public int topleft_mb_xy

top_mb_xy

public int top_mb_xy

topright_mb_xy

public int topright_mb_xy

left_mb_xy

public int[] left_mb_xy

topleft_type

public int topleft_type

top_type

public int top_type

topright_type

public int topright_type

left_type

public int[] left_type

left_block

public int[] left_block

topleft_partition

public int topleft_partition

intra4x4_pred_mode_cache

public int[] intra4x4_pred_mode_cache

intra4x4_pred_mode

public int[] intra4x4_pred_mode

hpc

public H264PredictionContext hpc

topleft_samples_available

public long topleft_samples_available

top_samples_available

public long top_samples_available

topright_samples_available

public long topright_samples_available

left_samples_available

public long left_samples_available

top_borders

public int[][][] top_borders

hwaccel_pixfmt_list_h264_jpeg_420

public static final int[] hwaccel_pixfmt_list_h264_jpeg_420

non_zero_count_cache

public int[] non_zero_count_cache
non zero coeff count cache. is 64 if not available.


non_zero_count

public int[][] non_zero_count

mv_cache

public int[][][] mv_cache
Motion vector cache.


ref_cache

public int[][] ref_cache

mv_cache_clean

public int[] mv_cache_clean
is 1 if the specific list MV&references are set to 0,0,-2.


neighbor_transform_size

public int neighbor_transform_size
number of neighbors (top and/or left) that used 8x8 dct


block_offset

public int[] block_offset
block_offset[ 0..23] for frame macroblocks block_offset[24..47] for field macroblocks


mb2b_xy

public long[] mb2b_xy

mb2br_xy

public long[] mb2br_xy

b_stride

public int b_stride

mb_linesize

public int mb_linesize

mb_uvlinesize

public int mb_uvlinesize

emu_edge_width

public int emu_edge_width

emu_edge_height

public int emu_edge_height

sps

public SequenceParameterSet sps

pps

public PictureParameterSet pps
current pps


dequant4_buffer

public long[][][] dequant4_buffer

dequant8_buffer

public long[][][] dequant8_buffer

dequant4_coeff

public long[][][] dequant4_coeff

dequant8_coeff

public long[][][] dequant8_coeff

slice_num

public int slice_num

slice_table_base

public int[] slice_table_base

slice_table_offset

public int slice_table_offset

slice_type

public int slice_type

slice_type_nos

public int slice_type_nos

slice_type_fixed

public int slice_type_fixed

mb_aff_frame

public int mb_aff_frame

mb_field_decoding_flag

public int mb_field_decoding_flag

mb_mbaff

public int mb_mbaff

sub_mb_type

public int[] sub_mb_type

use_weight

public int use_weight

use_weight_chroma

public int use_weight_chroma

luma_log2_weight_denom

public int luma_log2_weight_denom

chroma_log2_weight_denom

public int chroma_log2_weight_denom

luma_weight

public int[][][] luma_weight

chroma_weight

public int[][][][] chroma_weight

implicit_weight

public int[][][] implicit_weight

direct_spatial_mv_pred

public int direct_spatial_mv_pred

col_parity

public int col_parity

col_fieldoff

public int col_fieldoff

dist_scale_factor

public int[] dist_scale_factor

dist_scale_factor_field

public int[][] dist_scale_factor_field

map_col_to_list0

public int[][] map_col_to_list0

map_col_to_list0_field

public int[][][] map_col_to_list0_field

ref_count

public long[] ref_count
num_ref_idx_l0/1_active_minus1 + 1


list_count

public long list_count

list_counts

public int[] list_counts

ref_list

public AVFrame[][] ref_list

ref2frm

public int[][][] ref2frm
< 0..15: frame refs, 16..47: mbaff field refs. Reordered version of default_ref_list according to picture reordering in slice header


intra_gb

public GetBitContext intra_gb

inter_gb

public GetBitContext inter_gb

intra_gb_ptr

public GetBitContext intra_gb_ptr

inter_gb_ptr

public GetBitContext inter_gb_ptr

mb

public short[] mb

mb_luma_dc

public short[] mb_luma_dc

mb_chroma_dc

public short[][] mb_chroma_dc

mb_padding

public short[] mb_padding

cabac

public CABACContext cabac
Cabac


cabac_state

public int[] cabac_state

cbp_table

public int[] cbp_table

cbp

public int cbp

top_cbp

public int top_cbp

left_cbp

public int left_cbp

chroma_pred_mode_table

public int[] chroma_pred_mode_table

last_qscale_diff

public int last_qscale_diff

mvd_table

public int[][][] mvd_table

mvd_cache

public int[][][] mvd_cache

direct_table

public int[] direct_table

direct_cache

public int[] direct_cache

zigzag_scan

public int[] zigzag_scan

zigzag_scan8x8

public int[] zigzag_scan8x8

zigzag_scan8x8_cavlc

public int[] zigzag_scan8x8_cavlc

field_scan

public int[] field_scan

field_scan8x8

public int[] field_scan8x8

field_scan8x8_cavlc

public int[] field_scan8x8_cavlc

zigzag_scan_q0

public int[] zigzag_scan_q0

zigzag_scan8x8_q0

public int[] zigzag_scan8x8_q0

zigzag_scan8x8_cavlc_q0

public int[] zigzag_scan8x8_cavlc_q0

field_scan_q0

public int[] field_scan_q0

field_scan8x8_q0

public int[] field_scan8x8_q0

field_scan8x8_cavlc_q0

public int[] field_scan8x8_cavlc_q0

x264_build

public int x264_build

mb_xy

public int mb_xy

is_complex

public int is_complex

deblocking_filter

public int deblocking_filter

slice_alpha_c0_offset

public int slice_alpha_c0_offset

slice_beta_offset

public int slice_beta_offset

nal_ref_idc

public int nal_ref_idc

nal_unit_type

public int nal_unit_type

rbsp_buffer

public int[][] rbsp_buffer

rbsp_buffer_size

public long[] rbsp_buffer_size

is_avc

public int is_avc
Used to parse AVC variant of h264


nal_length_size

public int nal_length_size

got_first

public int got_first

sps_buffers

public SequenceParameterSet[] sps_buffers

pps_buffers

public PictureParameterSet[] pps_buffers

dequant_coeff_pps

public int dequant_coeff_pps

poc_lsb

public int poc_lsb

poc_msb

public int poc_msb

delta_poc_bottom

public int delta_poc_bottom

delta_poc

public int[] delta_poc

frame_num

public int frame_num

prev_poc_msb

public int prev_poc_msb

prev_poc_lsb

public int prev_poc_lsb

frame_num_offset

public int frame_num_offset

prev_frame_num_offset

public int prev_frame_num_offset

prev_frame_num

public int prev_frame_num

curr_pic_num

public int curr_pic_num
frame_num for frames or 2*frame_num+1 for field pics.


max_pic_num

public int max_pic_num
max_frame_num or 2*max_frame_num for field pics.


redundant_pic_count

public int redundant_pic_count

short_ref

public AVFrame[] short_ref

long_ref

public AVFrame[] long_ref

default_ref_list

public AVFrame[][] default_ref_list

delayed_pic

public AVFrame[] delayed_pic

outputed_poc

public int outputed_poc

mmco

public MMCO[] mmco
memory management control operations buffer.


mmco_index

public int mmco_index

long_ref_count

public int long_ref_count

short_ref_count

public int short_ref_count

cabac_init_idc

public int cabac_init_idc

thread_context

public H264Context[] thread_context

current_slice

public int current_slice
current slice number, used to initalize slice_num of each thread/context


max_contexts

public int max_contexts
Max number of threads / contexts. This is equal to AVCodecContext.thread_count unless multithreaded decoding is impossible, in which case it is reduced to 1.


single_decode_warning

public int single_decode_warning
1 if the single thread fallback warning has already been displayed, 0 otherwise.


last_slice_type

public int last_slice_type

sei_pic_struct

public int sei_pic_struct
pic_struct in picture timing SEI message


prev_interlaced_frame

public int prev_interlaced_frame
Complement sei_pic_struct SEI_PIC_STRUCT_TOP_BOTTOM and SEI_PIC_STRUCT_BOTTOM_TOP indicate interlaced frames. However, soft telecined frames may have these values. This is used in an attempt to flag soft telecine progressive.


sei_ct_type

public int sei_ct_type
Bit set of clock types for fields/frames in picture timing SEI message. For each found ct_type, appropriate bit is set (e.g., bit 1 for interlaced).


sei_dpb_output_delay

public int sei_dpb_output_delay
dpb_output_delay in picture timing SEI message, see H.264 C.2.2


sei_cpb_removal_delay

public int sei_cpb_removal_delay
cpb_removal_delay in picture timing SEI message, see H.264 C.1.2


sei_recovery_frame_cnt

public int sei_recovery_frame_cnt
recovery_frame_cnt from SEI message Set to -1 if no recovery point SEI message found or to number of frames before playback synchronizes. Frames having recovery point are key frames.


luma_weight_flag

public int[] luma_weight_flag

chroma_weight_flag

public int[] chroma_weight_flag

sei_buffering_period_present

public int sei_buffering_period_present

initial_cpb_removal_delay

public int[] initial_cpb_removal_delay

halfpel_flag

public int halfpel_flag

thirdpel_flag

public int thirdpel_flag

unknown_svq3_flag

public int unknown_svq3_flag

next_slice_index

public int next_slice_index

svq3_watermark_key

public long svq3_watermark_key

ff_alternate_horizontal_scan

public static final int[] ff_alternate_horizontal_scan

ff_alternate_vertical_scan

public static final int[] ff_alternate_vertical_scan

scan8

public static final short[] scan8

pixel_aspect

public static final AVRational[] pixel_aspect

default_scaling4

public static final int[][] default_scaling4

default_scaling8

public static final int[][] default_scaling8

ff_zigzag_direct

public static final int[] ff_zigzag_direct

ff_h264_chroma_qp

public static final int[] ff_h264_chroma_qp

displayPicture

public AVFrame displayPicture

last_coeff_flag_offset_8x8

public static final short[] last_coeff_flag_offset_8x8
Constructor Detail

H264Context

public H264Context()
Method Detail

pack16to32

public static int pack16to32(int a,
                             int b)

pack8to16

public static int pack8to16(int a,
                            int b)

pred_spatial_direct_motion

public int pred_spatial_direct_motion(int mb_type)

pred_temp_direct_motion

public int pred_temp_direct_motion(int mb_type)

ff_h264_pred_direct_motion

public int ff_h264_pred_direct_motion(int mb_type)

pred_pskip_motion

public void pred_pskip_motion(int[] mxmy)

fetch_diagonal_mv

public int fetch_diagonal_mv(int[][] pC,
                             int i,
                             int list,
                             int part_width)

pred_motion

public void pred_motion(int n,
                        int part_width,
                        int list,
                        int ref,
                        int[] mxmy)
gets the predicted MV.

Parameters:
n - the block index
part_width - the width of the partition (4, 8,16) -> (1, 2, 4)
mx - the x component of the predicted motion vector
my - the y component of the predicted motion vector

pred_16x8_motion

public void pred_16x8_motion(int n,
                             int list,
                             int ref,
                             int[] mxmy)
gets the directionally predicted 16x8 MV.

Parameters:
n - the block index
mx - the x component of the predicted motion vector
my - the y component of the predicted motion vector

pred_8x16_motion

public void pred_8x16_motion(int n,
                             int list,
                             int ref,
                             int[] mxmy)
gets the directionally predicted 8x16 MV.

Parameters:
n - the block index
mx - the x component of the predicted motion vector
my - the y component of the predicted motion vector

fill_decode_neighbors

public void fill_decode_neighbors(int mb_type)

fill_decode_caches

public void fill_decode_caches(int mb_type)

write_back_non_zero_count

public void write_back_non_zero_count()

write_back_motion

public void write_back_motion(int mb_type)

pred_intra_mode

public int pred_intra_mode(int n)
gets the predicted intra4x4 prediction mode.


ff_h264_write_back_intra_pred_mode

public void ff_h264_write_back_intra_pred_mode()

ff_h264_check_intra4x4_pred_mode

public int ff_h264_check_intra4x4_pred_mode()
checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks.


ff_h264_check_intra_pred_mode

public int ff_h264_check_intra_pred_mode(int mode)
checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks.


backup_mb_border

public void backup_mb_border(int[] src_y_base,
                             int src_y_offset,
                             int[] src_cb_base,
                             int src_cb_offset,
                             int[] src_cr_base,
                             int src_cr_offset,
                             int linesize,
                             int uvlinesize,
                             int simple)

xchg_mb_border

public void xchg_mb_border(int[] src_y_base,
                           int src_y_offset,
                           int[] src_cb_base,
                           int src_cb_offset,
                           int[] src_cr_base,
                           int src_cr_offset,
                           int linesize,
                           int uvlinesize,
                           int xchg,
                           int simple)

hl_decode_mb_internal

public void hl_decode_mb_internal(int simple)

ff_h264_hl_decode_mb

public void ff_h264_hl_decode_mb()

decode_mb_skip

public void decode_mb_skip()
decodes a P_SKIP or B_SKIP macroblock


get_cabac_cbf_ctx

public int get_cabac_cbf_ctx(int cat,
                             int idx,
                             int is_dc)

get_dct8x8_allowed

public int get_dct8x8_allowed()

decode_cabac_residual_internal

public void decode_cabac_residual_internal(short[] block,
                                           int block_offset,
                                           int cat,
                                           int n,
                                           int[] scantable,
                                           int scan_offset,
                                           long[] qmul,
                                           int max_coeff,
                                           int is_dc)

decode_cabac_residual_dc_internal

public void decode_cabac_residual_dc_internal(short[] block,
                                              int block_offset,
                                              int cat,
                                              int n,
                                              int[] scantable,
                                              int scan_offset,
                                              int max_coeff)

decode_cabac_residual_nondc_internal

public void decode_cabac_residual_nondc_internal(short[] block,
                                                 int block_offset,
                                                 int cat,
                                                 int n,
                                                 int[] scantable,
                                                 int scan_offset,
                                                 long[] qmul,
                                                 int max_coeff)

decode_cabac_residual_dc

public void decode_cabac_residual_dc(short[] block,
                                     int block_offset,
                                     int cat,
                                     int n,
                                     int[] scantable,
                                     int scan_offset,
                                     int max_coeff)

decode_cabac_residual_nondc

public void decode_cabac_residual_nondc(short[] block,
                                        int block_offset,
                                        int cat,
                                        int n,
                                        int[] scantable,
                                        int scan_offset,
                                        long[] qmul,
                                        int max_coeff)

ff_h264_decode_mb_cabac

public int ff_h264_decode_mb_cabac()
decodes a macroblock

Returns:
0 if OK, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed

predict_field_decoding_flag

public void predict_field_decoding_flag()

fill_filter_caches

public int fill_filter_caches(int mb_type)
Returns:
non zero if the loop filter can be skiped

filter_mb_edgev

public void filter_mb_edgev(int[] pix_base,
                            int pix_offset,
                            int stride,
                            int[] bS_base,
                            int bS_offset,
                            int qp)

filter_mb_edgecv

public void filter_mb_edgecv(int[] pix_base,
                             int pix_offset,
                             int stride,
                             int[] bS_base,
                             int bS_offset,
                             int qp)

filter_mb_edgeh

public void filter_mb_edgeh(int[] pix_base,
                            int pix_offset,
                            int stride,
                            int[] bS_base,
                            int bS_offset,
                            int qp)

filter_mb_edgech

public void filter_mb_edgech(int[] pix_base,
                             int pix_offset,
                             int stride,
                             int[] bS_base,
                             int bS_offset,
                             int qp)

ff_h264_filter_mb_fast

public void ff_h264_filter_mb_fast(int mb_x,
                                   int mb_y,
                                   int[] img_y_base,
                                   int img_y_offset,
                                   int[] img_cb_base,
                                   int img_cb_offset,
                                   int[] img_cr_base,
                                   int img_cr_offset,
                                   int linesize,
                                   int uvlinesize)

check_mv

public int check_mv(int b_idx,
                    int bn_idx,
                    int mvy_limit)

filter_mb_mbaff_edgev

public void filter_mb_mbaff_edgev(int[] pix_base,
                                  int pix_offset,
                                  int stride,
                                  int[] bS_base,
                                  int bS_offset,
                                  int bsi,
                                  int qp)

filter_mb_mbaff_edgecv

public void filter_mb_mbaff_edgecv(int[] pix_base,
                                   int pix_offset,
                                   int stride,
                                   int[] bS_base,
                                   int bS_offset,
                                   int bsi,
                                   int qp)

filter_mb_dir

public void filter_mb_dir(int mb_x,
                          int mb_y,
                          int[] img_y_base,
                          int img_y_offset,
                          int[] img_cb_base,
                          int img_cb_offset,
                          int[] img_cr_base,
                          int img_cr_offset,
                          int linesize,
                          int uvlinesize,
                          int mb_xy,
                          int mb_type,
                          int mvy_limit,
                          int first_vertical_edge_done,
                          int dir)

ff_h264_filter_mb

public void ff_h264_filter_mb(int mb_x,
                              int mb_y,
                              int[] img_y_base,
                              int img_y_offset,
                              int[] img_cb_base,
                              int img_cb_offset,
                              int[] img_cr_base,
                              int img_cr_offset,
                              int linesize,
                              int uvlinesize)

loop_filter

public void loop_filter()

decode_slice

public int decode_slice()

mc_dir_part

public void mc_dir_part(AVFrame pic,
                        int n,
                        int square,
                        int chroma_height,
                        int delta,
                        int list,
                        int[] dest_y_base,
                        int dest_y_offset,
                        int[] dest_cb_base,
                        int dest_cb_offset,
                        int[] dest_cr_base,
                        int dest_cr_offset,
                        int src_x_offset,
                        int src_y_offset,
                        DSPContext.Ih264_qpel_mc_func[] qpix_op,
                        DSPContext.Ih264_chroma_mc_func chroma_op)

mc_part_std

public void mc_part_std(int n,
                        int square,
                        int chroma_height,
                        int delta,
                        int[] dest_y_base,
                        int dest_y_offset,
                        int[] dest_cb_base,
                        int dest_cb_offset,
                        int[] dest_cr_base,
                        int dest_cr_offset,
                        int x_offset,
                        int y_offset,
                        DSPContext.Ih264_qpel_mc_func[] qpix_put,
                        DSPContext.Ih264_chroma_mc_func chroma_put,
                        DSPContext.Ih264_qpel_mc_func[] qpix_avg,
                        DSPContext.Ih264_chroma_mc_func chroma_avg,
                        int list0,
                        int list1)

mc_part_weighted

public void mc_part_weighted(int n,
                             int square,
                             int chroma_height,
                             int delta,
                             int[] dest_y_base,
                             int dest_y_offset,
                             int[] dest_cb_base,
                             int dest_cb_offset,
                             int[] dest_cr_base,
                             int dest_cr_offset,
                             int x_offset,
                             int y_offset,
                             DSPContext.Ih264_qpel_mc_func[] qpix_put,
                             DSPContext.Ih264_chroma_mc_func chroma_put,
                             H264DSPContext.IH264WeightFunctionStub luma_weight_op,
                             H264DSPContext.IH264WeightFunctionStub chroma_weight_op,
                             H264DSPContext.IH264BiWeightFunctionStub luma_weight_avg,
                             H264DSPContext.IH264BiWeightFunctionStub chroma_weight_avg,
                             int list0,
                             int list1)

mc_part

public void mc_part(int n,
                    int square,
                    int chroma_height,
                    int delta,
                    int[] dest_y_base,
                    int dest_y_offset,
                    int[] dest_cb_base,
                    int dest_cb_offset,
                    int[] dest_cr_base,
                    int dest_cr_offset,
                    int x_offset,
                    int y_offset,
                    DSPContext.Ih264_qpel_mc_func[] qpix_put,
                    DSPContext.Ih264_chroma_mc_func chroma_put,
                    DSPContext.Ih264_qpel_mc_func[] qpix_avg,
                    DSPContext.Ih264_chroma_mc_func chroma_avg,
                    H264DSPContext.IH264WeightFunctionStub[] weight_op_base,
                    int weight_op_offset,
                    H264DSPContext.IH264BiWeightFunctionStub[] weight_avg_base,
                    int weight_avg_offset,
                    int list0,
                    int list1)

prefetch_motion

public void prefetch_motion(int list)

hl_motion

public void hl_motion(int[] dest_y_base,
                      int dest_y_offset,
                      int[] dest_cb_base,
                      int dest_cb_offset,
                      int[] dest_cr_base,
                      int dest_cr_offset,
                      DSPContext.Ih264_qpel_mc_func[][] qpix_put,
                      DSPContext.Ih264_chroma_mc_func[] chroma_put,
                      DSPContext.Ih264_qpel_mc_func[][] qpix_avg,
                      DSPContext.Ih264_chroma_mc_func[] chroma_avg,
                      H264DSPContext.IH264WeightFunctionStub[] weight_op,
                      H264DSPContext.IH264BiWeightFunctionStub[] weight_avg)

av_fast_malloc

public static void av_fast_malloc(int[][] param1,
                                  int[] param2,
                                  int min_size)

ff_h264_decode_nal

public int[] ff_h264_decode_nal(int[] src_base,
                                int src_offset,
                                int[] dst_length_consumed,
                                int length)

ff_h264_decode_rbsp_trailing

public int ff_h264_decode_rbsp_trailing(int[] src_base,
                                        int src_offset)

unreference_pic

public int unreference_pic(AVFrame pic,
                           int refmask)
Mark a picture as no longer needed for reference. The refmask argument allows unreferencing of individual fields or the whole frame. If the picture becomes entirely unreferenced, but is being held for display purposes, it is marked as such.

Parameters:
refmask - mask of fields to unreference; the mask is bitwise anded with the reference marking of pic
Returns:
non-zero if pic becomes entirely unreferenced (except possibly for display purposes) zero if one of the fields remains in reference

remove_short_at_index

public void remove_short_at_index(int i)
Remove a picture from the short term reference list by its index in that list. This does no checking on the provided index; it is assumed to be valid. Other list entries are shifted down.

Parameters:
i - index into h->short_ref of picture to remove.

remove_short

public AVFrame remove_short(int frame_num,
                            int ref_mask)
Returns:
the removed picture or NULL if an error occurs

remove_long

public AVFrame remove_long(int i,
                           int ref_mask)
Remove a picture from the long term reference list by its index in that list.

Returns:
the removed picture or NULL if an error occurs

idr

public void idr()
instantaneous decoder refresh.


decode_picture_timing

public int decode_picture_timing()

decode_unregistered_user_data

public int decode_unregistered_user_data(int size)

decode_recovery_point

public int decode_recovery_point()

decode_buffering_period

public int decode_buffering_period()

ff_h264_decode_sei

public int ff_h264_decode_sei()

decode_scaling_list

public void decode_scaling_list(int[] factors,
                                int size,
                                int[] jvt_list,
                                int[] fallback_list)

decode_scaling_matrices

public void decode_scaling_matrices(SequenceParameterSet sps,
                                    PictureParameterSet pps,
                                    int is_sps,
                                    int[][] scaling_matrix4,
                                    int[][] scaling_matrix8)

decode_hrd_parameters

public int decode_hrd_parameters(SequenceParameterSet sps)

decode_vui_parameters

public int decode_vui_parameters(SequenceParameterSet sps)

build_qp_table

public static void build_qp_table(PictureParameterSet pps,
                                  int t,
                                  int index)

ff_h264_decode_picture_parameter_set

public int ff_h264_decode_picture_parameter_set(int bit_length)

ff_h264_decode_seq_parameter_set

public int ff_h264_decode_seq_parameter_set()

decode_nal_units

public int decode_nal_units(int[] buf_base,
                            int buf_offset,
                            int buf_size)

find_short

public AVFrame find_short(int frame_num,
                          int[] idx)
Find a Picture in the short term reference list by frame number.

Parameters:
frame_num - frame number to search for
idx - the index into this.short_ref where returned picture is found undefined if no picture found.
Returns:
pointer to the found picture, or NULL if no pic with the provided frame number is found

pic_num_extract

public int pic_num_extract(int pic_num,
                           int[] structure)
Extract structure information about the picture described by pic_num in the current decoding context (frame or field). Note that pic_num is picture number without wrapping (so, 0<=pic_num
Parameters:
pic_num - picture number for which to extract structure information
structure - one of PICT_XXX describing structure of picture with pic_num
Returns:
frame number (short term) or long term index of picture described by pic_num

ff_h264_execute_ref_pic_marking

public int ff_h264_execute_ref_pic_marking(MMCO[] mmco,
                                           int mmco_count)

field_end

public void field_end()

av_cmp_q

public static int av_cmp_q(AVRational a,
                           AVRational b)
Compare two rationals.

Parameters:
a - first rational
b - second rational
Returns:
0 if a==b, 1 if a>b, -1 if a

free_tables

public void free_tables()

av_gcd

public static long av_gcd(long a,
                          long b)

av_reduce

public static int av_reduce(int[] num_den,
                            long num,
                            long den,
                            long max)

init_dequant8_coeff_table

public void init_dequant8_coeff_table()

init_dequant4_coeff_table

public void init_dequant4_coeff_table()

init_dequant_tables

public void init_dequant_tables()

init_scan_tables

public void init_scan_tables()
initialize scan tables


ff_h264_alloc_tables

public int ff_h264_alloc_tables()

context_init

public int context_init()
Init context Allocate buffers which are not shared amongst multiple threads.


ff_h264_frame_start

public int ff_h264_frame_start()

ff_generate_sliding_window_mmcos

public void ff_generate_sliding_window_mmcos()

clone_slice

public static void clone_slice(H264Context dst,
                               H264Context src)
Replicate H264 "master" context to thread contexts.


init_poc

public int init_poc()

ff_h264_fill_default_ref_list

public int ff_h264_fill_default_ref_list()

ff_h264_decode_ref_pic_list_reordering

public int ff_h264_decode_ref_pic_list_reordering()

pred_weight_table

public int pred_weight_table()

implicit_weight_table

public void implicit_weight_table(int field)
Initialize implicit_weight table.

Parameters:
field - 0/1 initialize the weight for interlaced MBAFF -1 initializes the rest

ff_h264_decode_ref_pic_marking

public int ff_h264_decode_ref_pic_marking(GetBitContext gb)

ff_h264_fill_mbaff_ref_list

public void ff_h264_fill_mbaff_ref_list()

get_scale_factor

public int get_scale_factor(int poc,
                            int poc1,
                            int i)

ff_h264_direct_dist_scale_factor

public void ff_h264_direct_dist_scale_factor()

fill_colmap

public void fill_colmap(int[][] map,
                        int list,
                        int field,
                        int colfield,
                        int mbafi)

ff_h264_direct_ref_list_init

public void ff_h264_direct_ref_list_init()

decode_slice_header

public static int decode_slice_header(H264Context h,
                                      H264Context h0)
decodes a slice header. This will also call MPV_common_init() and frame_start() as needed.

Parameters:
h - h264context
h0 - h264 master context (differs from 'h' when doing sliced based parallel decoding)
Returns:
0 if okay, <0 if an error occurred, 1 if decoding must not be multithreaded

ff_h264_free_context

public void ff_h264_free_context()

ff_h264_decode_extradata

public int ff_h264_decode_extradata()

common_init

public void common_init(MpegEncContext _s)

decode_frame

public int decode_frame(AVFrame data,
                        int[] data_size,
                        AVPacket avpkt)


Copyright © 2013. All Rights Reserved.