diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2002-10-13 13:16:04 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2002-10-13 13:16:04 +0000 |
commit | 4d2858deac5213eaddfdc06f98379b6325d7b953 (patch) | |
tree | 9ab96559f7e8ac0037046c3129dd8a2654e76a2c /ffmpeg.c | |
parent | 46de8b7334281ed1e15c0902a56cef8da7b4f296 (diff) | |
download | ffmpeg-streaming-4d2858deac5213eaddfdc06f98379b6325d7b953.zip ffmpeg-streaming-4d2858deac5213eaddfdc06f98379b6325d7b953.tar.gz |
better/cleaner error resilience (done in a 2nd pass after decoding)
h263/mpeg4 out of order slice decoding
Originally committed as revision 1030 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'ffmpeg.c')
-rw-r--r-- | ffmpeg.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -114,8 +114,9 @@ static int b_frames = 0; static int use_hq = 0; static int use_4mv = 0; static int do_deinterlace = 0; -static int workaround_bugs = 0; -static int error_resilience = 0; +static int workaround_bugs = FF_BUG_AUTODETECT; +static int error_resilience = 2; +static int error_concealment = 3; static int dct_algo = 0; static int idct_algo = 0; static int use_part = 0; @@ -1462,6 +1463,12 @@ void opt_error_resilience(const char *arg) error_resilience = atoi(arg); } +void opt_error_concealment(const char *arg) +{ + error_concealment = atoi(arg); +} + + void opt_frame_rate(const char *arg) { frame_rate = (int)(strtod(arg, 0) * FRAME_RATE_BASE); @@ -1823,6 +1830,7 @@ void opt_input_file(const char *filename) rfps = ic->streams[i]->r_frame_rate; enc->workaround_bugs = workaround_bugs; enc->error_resilience = error_resilience; + enc->error_concealment = error_concealment; enc->idct_algo= idct_algo; if (enc->frame_rate != rfps) { fprintf(stderr,"\nSeems that stream %d comes from film source: %2.2f->%2.2f\n", @@ -2394,6 +2402,7 @@ const OptionDef options[] = { { "dct_algo", HAS_ARG | OPT_EXPERT, {(void*)opt_dct_algo}, "set dct algo", "algo" }, { "idct_algo", HAS_ARG | OPT_EXPERT, {(void*)opt_idct_algo}, "set idct algo", "algo" }, { "er", HAS_ARG | OPT_EXPERT, {(void*)opt_error_resilience}, "set error resilience", "" }, + { "ec", HAS_ARG | OPT_EXPERT, {(void*)opt_error_resilience}, "set error concealment", "" }, { "bf", HAS_ARG | OPT_EXPERT, {(void*)opt_b_frames}, "use 'frames' B frames (only MPEG-4)", "frames" }, { "hq", OPT_BOOL | OPT_EXPERT, {(void*)&use_hq}, "activate high quality settings" }, { "4mv", OPT_BOOL | OPT_EXPERT, {(void*)&use_4mv}, "use four motion vector by macroblock (only MPEG-4)" }, |