FFmpeg
Data Structures | Macros | Functions
error_resilience.h File Reference
#include <stdint.h>
#include <stdatomic.h>
#include "avcodec.h"
#include "me_cmp.h"

Go to the source code of this file.

Data Structures

struct  ERPicture
 
struct  ERContext
 

Macros

#define VP_START   1
 < current MB is the first after a resync marker More...
 
#define ER_AC_ERROR   2
 
#define ER_DC_ERROR   4
 
#define ER_MV_ERROR   8
 
#define ER_AC_END   16
 
#define ER_DC_END   32
 
#define ER_MV_END   64
 
#define ER_MB_ERROR   (ER_AC_ERROR|ER_DC_ERROR|ER_MV_ERROR)
 
#define ER_MB_END   (ER_AC_END|ER_DC_END|ER_MV_END)
 

Functions

void ff_er_frame_start (ERContext *s)
 
void ff_er_frame_end (ERContext *s, int *decode_error_flags)
 Indicate that a frame has finished decoding and perform error concealment in case it has been enabled and is necessary and supported. More...
 
void ff_er_add_slice (ERContext *s, int startx, int starty, int endx, int endy, int status)
 Add a slice. More...
 

Macro Definition Documentation

◆ VP_START

#define VP_START   1

< current MB is the first after a resync marker

Definition at line 29 of file error_resilience.h.

◆ ER_AC_ERROR

#define ER_AC_ERROR   2

Definition at line 30 of file error_resilience.h.

◆ ER_DC_ERROR

#define ER_DC_ERROR   4

Definition at line 31 of file error_resilience.h.

◆ ER_MV_ERROR

#define ER_MV_ERROR   8

Definition at line 32 of file error_resilience.h.

◆ ER_AC_END

#define ER_AC_END   16

Definition at line 33 of file error_resilience.h.

◆ ER_DC_END

#define ER_DC_END   32

Definition at line 34 of file error_resilience.h.

◆ ER_MV_END

#define ER_MV_END   64

Definition at line 35 of file error_resilience.h.

◆ ER_MB_ERROR

#define ER_MB_ERROR   (ER_AC_ERROR|ER_DC_ERROR|ER_MV_ERROR)

Definition at line 37 of file error_resilience.h.

◆ ER_MB_END

#define ER_MB_END   (ER_AC_END|ER_DC_END|ER_MV_END)

Definition at line 38 of file error_resilience.h.

Function Documentation

◆ ff_er_frame_start()

void ff_er_frame_start ( ERContext s)

Definition at line 791 of file error_resilience.c.

Referenced by ff_mpeg_er_frame_start(), and h264_frame_start().

◆ ff_er_frame_end()

void ff_er_frame_end ( ERContext s,
int *  decode_error_flags 
)

Indicate that a frame has finished decoding and perform error concealment in case it has been enabled and is necessary and supported.

Parameters
sERContext in use
decode_error_flagspointer where updated decode_error_flags are written if supplied; if not, the new flags are directly applied to the AVFrame whose errors are concealed

Definition at line 896 of file error_resilience.c.

Referenced by decode_nal_units(), decode_wmv9(), ff_h263_decode_frame(), ff_rv34_decode_frame(), finish_frame(), rv10_decode_frame(), rv10_decode_packet(), slice_end(), and vc1_decode_frame().

◆ ff_er_add_slice()

void ff_er_add_slice ( ERContext s,
int  startx,
int  starty,
int  endx,
int  endy,
int  status 
)

Add a slice.

Parameters
endxx component of the last macroblock, can be -1 for the last of the previous line
statusthe 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 826 of file error_resilience.c.

Referenced by decode_chunks(), decode_slice(), er_add_slice(), ff_mpeg4_decode_partitions(), ff_vc1_decode_blocks(), ff_wmv2_decode_secondary_picture_header(), 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().