com.twilight.h264.decoder
Class ErrorResilience

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

public class ErrorResilience
extends Object


Field Summary
static int[] dc_val
           
static int[] dc_val_base
           
static int error_concealment
           
static int FF_EC_DEBLOCK
           
static int FF_EC_GUESS_MVS
           
static int[][][] mv
           
static int MV_CHANGED
           
static int MV_FROZEN
           
static int MV_TYPE_16X16
           
static int MV_TYPE_16X8
           
static int MV_TYPE_8X8
           
static int MV_TYPE_DMV
           
static int MV_TYPE_FIELD
           
static int MV_UNCHANGED
           
static int skip_bottom
           
static int skip_top
           
 
Constructor Summary
ErrorResilience()
           
 
Method Summary
static void decode_mb(MpegEncContext s, int ref)
           
static void ff_er_add_slice(MpegEncContext s, int startx, int starty, int endx, int endy, int status)
          adds a slice.
static void ff_er_frame_end(MpegEncContext s)
           
static void ff_er_frame_start(MpegEncContext s)
           
static void filter181(int[] data_base, int data_offset, int width, int height, int stride)
           
static void guess_dc(MpegEncContext s, int[] dc_base, int dc_offset, int w, int h, int stride, int is_luma)
          guess the dc of blocks which do not have an undamaged dc
static void guess_mv(MpegEncContext s)
           
static void h_block_filter(MpegEncContext s, int[] dst_base, int dst_offset, int w, int h, int stride, int is_luma)
          simple horizontal deblocking filter used for error resilience
static int is_intra_more_likely(MpegEncContext s)
           
static int pix_abs16_c(Object v, int[] pix1_base, int pix1_offset, int[] pix2_base, int pix2_offset, int line_size, int h)
           
static void put_dc(MpegEncContext s, 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 mb_x, int mb_y)
          replaces the current MB with a flat dc only version.
static void set_mv_strides(MpegEncContext s, int[] inout)
           
static void v_block_filter(MpegEncContext s, int[] dst_base, int dst_offset, int w, int h, int stride, int is_luma)
          simple vertical deblocking filter used for error resilience
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MV_FROZEN

public static final int MV_FROZEN
See Also:
Constant Field Values

MV_CHANGED

public static final int MV_CHANGED
See Also:
Constant Field Values

MV_UNCHANGED

public static final int MV_UNCHANGED
See Also:
Constant Field Values

MV_TYPE_16X16

public static final int MV_TYPE_16X16
See Also:
Constant Field Values

MV_TYPE_8X8

public static final int MV_TYPE_8X8
See Also:
Constant Field Values

MV_TYPE_16X8

public static final int MV_TYPE_16X8
See Also:
Constant Field Values

MV_TYPE_FIELD

public static final int MV_TYPE_FIELD
See Also:
Constant Field Values

MV_TYPE_DMV

public static final int MV_TYPE_DMV
See Also:
Constant Field Values

FF_EC_GUESS_MVS

public static final int FF_EC_GUESS_MVS
See Also:
Constant Field Values

FF_EC_DEBLOCK

public static final int FF_EC_DEBLOCK
See Also:
Constant Field Values

error_concealment

public static int error_concealment

dc_val_base

public static int[] dc_val_base

dc_val

public static int[] dc_val

mv

public static int[][][] mv

skip_top

public static int skip_top

skip_bottom

public static int skip_bottom
Constructor Detail

ErrorResilience

public ErrorResilience()
Method Detail

decode_mb

public static void decode_mb(MpegEncContext s,
                             int ref)

set_mv_strides

public static void set_mv_strides(MpegEncContext s,
                                  int[] inout)
Parameters:
stride - the number of MVs to get to the next row
mv_step - the number of MVs per row or column in a macroblock

put_dc

public static void put_dc(MpegEncContext s,
                          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 mb_x,
                          int mb_y)
replaces the current MB with a flat dc only version.


filter181

public static void filter181(int[] data_base,
                             int data_offset,
                             int width,
                             int height,
                             int stride)

guess_dc

public static void guess_dc(MpegEncContext s,
                            int[] dc_base,
                            int dc_offset,
                            int w,
                            int h,
                            int stride,
                            int is_luma)
guess the dc of blocks which do not have an undamaged dc

Parameters:
w - width in 8 pixel blocks
h - height in 8 pixel blocks

h_block_filter

public static void h_block_filter(MpegEncContext s,
                                  int[] dst_base,
                                  int dst_offset,
                                  int w,
                                  int h,
                                  int stride,
                                  int is_luma)
simple horizontal deblocking filter used for error resilience

Parameters:
w - width in 8 pixel blocks
h - height in 8 pixel blocks

v_block_filter

public static void v_block_filter(MpegEncContext s,
                                  int[] dst_base,
                                  int dst_offset,
                                  int w,
                                  int h,
                                  int stride,
                                  int is_luma)
simple vertical deblocking filter used for error resilience

Parameters:
w - width in 8 pixel blocks
h - height in 8 pixel blocks

guess_mv

public static void guess_mv(MpegEncContext s)

pix_abs16_c

public static int pix_abs16_c(Object v,
                              int[] pix1_base,
                              int pix1_offset,
                              int[] pix2_base,
                              int pix2_offset,
                              int line_size,
                              int h)

is_intra_more_likely

public static int is_intra_more_likely(MpegEncContext s)

ff_er_frame_start

public static void ff_er_frame_start(MpegEncContext s)

ff_er_add_slice

public static void ff_er_add_slice(MpegEncContext s,
                                   int startx,
                                   int starty,
                                   int endx,
                                   int endy,
                                   int status)
adds a slice.

Parameters:
endx - x component of the last macroblock, can be -1 for the last of the previous line
status - the status at the end (MV_END, AC_ERROR, ...), it is assumed that no earlier end or error of the same type occurred

ff_er_frame_end

public static void ff_er_frame_end(MpegEncContext s)


Copyright © 2013. All Rights Reserved.