#include <limits.h>
#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "h264.h"
#include "rectangle.h"
#include "thread.h"
Go to the source code of this file.
Defines | |
| #define | MV_FROZEN 3 |
| #define | MV_CHANGED 2 |
| #define | MV_UNCHANGED 1 |
Functions | |
| static void | decode_mb (MpegEncContext *s, int ref) |
| static void | set_mv_strides (MpegEncContext *s, int *mv_step, int *stride) |
| static void | put_dc (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int mb_x, int mb_y) |
| Replace the current MB with a flat dc-only version. | |
| static void | filter181 (int16_t *data, int width, int height, int stride) |
| static void | guess_dc (MpegEncContext *s, int16_t *dc, int w, int h, int stride, int is_luma) |
| guess the dc of blocks which do not have an undamaged dc | |
| static void | h_block_filter (MpegEncContext *s, uint8_t *dst, int w, int h, int stride, int is_luma) |
| simple horizontal deblocking filter used for error resilience | |
| static void | v_block_filter (MpegEncContext *s, uint8_t *dst, int w, int h, int stride, int is_luma) |
| simple vertical deblocking filter used for error resilience | |
| static void | guess_mv (MpegEncContext *s) |
| static int | is_intra_more_likely (MpegEncContext *s) |
| void | ff_er_frame_start (MpegEncContext *s) |
| void | ff_er_add_slice (MpegEncContext *s, int startx, int starty, int endx, int endy, int status) |
| Add a slice. | |
| void | ff_er_frame_end (MpegEncContext *s) |
Definition in file error_resilience.c.
| #define MV_CHANGED 2 |
Referenced by guess_mv().
| #define MV_FROZEN 3 |
Referenced by guess_mv().
| #define MV_UNCHANGED 1 |
Referenced by guess_mv().
| static void decode_mb | ( | MpegEncContext * | s, | |
| int | ref | |||
| ) | [static] |
Definition at line 43 of file error_resilience.c.
| void ff_er_add_slice | ( | MpegEncContext * | s, | |
| int | startx, | |||
| int | starty, | |||
| int | endx, | |||
| int | endy, | |||
| int | status | |||
| ) |
Add a slice.
| endx | x component of the last macroblock, can be -1 for the last of the previous line | |
| status | the status at the end (ER_MV_END, ER_AC_ERROR, ...), it is assumed that no earlier end or error of the same type occurred |
Definition at line 835 of file error_resilience.c.
Referenced by decode_chunks(), decode_slice(), ff_intrax8_decode_picture(), ff_mpeg4_decode_partitions(), rv10_decode_packet(), rv34_decode_slice(), slice_decode_thread(), vc1_decode_b_blocks(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_p_blocks(), and vc1_decode_skip_blocks().
| void ff_er_frame_end | ( | MpegEncContext * | s | ) |
Definition at line 903 of file error_resilience.c.
Referenced by ff_h263_decode_frame(), ff_rv34_decode_frame(), field_end(), finish_frame(), rv10_decode_frame(), rv10_decode_packet(), slice_end(), and vc1_decode_frame().
| void ff_er_frame_start | ( | MpegEncContext * | s | ) |
Definition at line 817 of file error_resilience.c.
Referenced by ff_h263_decode_frame(), ff_h264_frame_start(), ff_rv34_decode_frame(), h261_decode_frame(), mpeg_field_start(), rv10_decode_packet(), and vc1_decode_frame().
| static void filter181 | ( | int16_t * | data, | |
| int | width, | |||
| int | height, | |||
| int | stride | |||
| ) | [static] |
| static void guess_dc | ( | MpegEncContext * | s, | |
| int16_t * | dc, | |||
| int | w, | |||
| int | h, | |||
| int | stride, | |||
| int | is_luma | |||
| ) | [static] |
guess the dc of blocks which do not have an undamaged dc
| w | width in 8 pixel blocks | |
| h | height in 8 pixel blocks |
Definition at line 172 of file error_resilience.c.
Referenced by ff_er_frame_end().
| static void guess_mv | ( | MpegEncContext * | s | ) | [static] |
| static void h_block_filter | ( | MpegEncContext * | s, | |
| uint8_t * | dst, | |||
| int | w, | |||
| int | h, | |||
| int | stride, | |||
| int | is_luma | |||
| ) | [static] |
simple horizontal deblocking filter used for error resilience
| w | width in 8 pixel blocks | |
| h | height in 8 pixel blocks |
Definition at line 268 of file error_resilience.c.
Referenced by ff_er_frame_end().
| static int is_intra_more_likely | ( | MpegEncContext * | s | ) | [static] |
| static void put_dc | ( | MpegEncContext * | s, | |
| uint8_t * | dest_y, | |||
| uint8_t * | dest_cb, | |||
| uint8_t * | dest_cr, | |||
| int | mb_x, | |||
| int | mb_y | |||
| ) | [static] |
Replace the current MB with a flat dc-only version.
Definition at line 96 of file error_resilience.c.
Referenced by ff_er_frame_end().
| static void set_mv_strides | ( | MpegEncContext * | s, | |
| int * | mv_step, | |||
| int * | stride | |||
| ) | [static] |
| stride | the number of MVs to get to the next row | |
| mv_step | the number of MVs per row or column in a macroblock |
Definition at line 80 of file error_resilience.c.
Referenced by guess_mv(), h_block_filter(), and v_block_filter().
| static void v_block_filter | ( | MpegEncContext * | s, | |
| uint8_t * | dst, | |||
| int | w, | |||
| int | h, | |||
| int | stride, | |||
| int | is_luma | |||
| ) | [static] |
simple vertical deblocking filter used for error resilience
| w | width in 8 pixel blocks | |
| h | height in 8 pixel blocks |
Definition at line 336 of file error_resilience.c.
Referenced by ff_er_frame_end().
1.5.8