[x264-devel] Impossible to decode with ffmpeg many frames encoded using x264 with ultra fast encoding settings

Alessandro Ferrari alessandroferrari87 at gmail.com
Wed Oct 7 19:00:31 CEST 2009


Hi dear community,
                            i want to reduce at minimum the encoding
latency and i call x264 encoder api with the param for having a null
frame delay and the minimum encoding latency (i use the set of ultra
fast encoding preset specified in x264.c)

     //Set video resolution
    param.i_width = scale_width;
    param.i_height = scale_height;

    //We don't need bframe
    param.i_bframe = 0;
    param.i_bframe_adaptive = 0;

    //Maximum dimension of the gop
    param.i_keyint_max = 20;

    //Frame delay wait that the encoder have encoded more frame for return in
    //output that.
    //With b-adapt = 0 or 1:
    //frame_delay = MAX( param.rc.i_lookahead, param.i_bframes ) + threads - 1
    //We remove lookahead and multiple thread for avoid frame delay.
    param.rc.i_lookahead = 0;
    param.i_threads = 1;
    param.i_sync_lookahead = 0;

    //More high, more compressed but loss quality
    quantization_factor = 30;
    //Gop Size maximum 20
    param.i_keyint_max = 20;

    //Setting CRF
    param.rc.i_rc_method = X264_RC_CRF;
    //Specify quality of encoding
    param.rc.f_rf_constant = quantization_factor;

    //only pass1 mode for low latency
    param.rc.b_stat_read = 0;
    param.rc.b_stat_write = 1;

    //param for ultra fast encoding
    param.i_frame_reference = 1;
    param.i_scenecut_threshold = 0;
    param.b_deblocking_filter = 0;
    param.b_cabac = 0;
    param.i_bframe = 0;
    param.analyse.intra = 0;
    param.analyse.inter = 0;
    param.analyse.b_transform_8x8 = 0;
    param.analyse.i_me_method = X264_ME_DIA;
    param.analyse.i_subpel_refine = 0;
    param.rc.i_aq_mode = 0;
    param.analyse.b_mixed_references = 0;
    param.analyse.i_trellis = 0;

 When I decode the frames encoded with these param with ffmpeg,
starting from the third gop i obtain a lot of error of this type:

Passato n° 65
[h264 @ 0x8e30b40]negative number of zero coeffs at 5 0
[h264 @ 0x8e30b40]error while decoding MB 5 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 66
[h264 @ 0x8e30b40]out of range intra chroma pred mode at 10 3
[h264 @ 0x8e30b40]error while decoding MB 10 3
[h264 @ 0x8e30b40]concealing 369 DC, 369 AC, 369 MV errors
Passato n° 67
[h264 @ 0x8e30b40]P sub_mb_type 12 out of range at 7 0
[h264 @ 0x8e30b40]error while decoding MB 7 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 68
[h264 @ 0x8e30b40]dquant out of range (-233) at 6 0
[h264 @ 0x8e30b40]error while decoding MB 6 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 69
[h264 @ 0x8e30b40]dquant out of range (52) at 6 0
[h264 @ 0x8e30b40]error while decoding MB 6 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 70
[h264 @ 0x8e30b40]dquant out of range (116) at 7 0
[h264 @ 0x8e30b40]error while decoding MB 7 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 71
[h264 @ 0x8e30b40]dquant out of range (113) at 7 0
[h264 @ 0x8e30b40]error while decoding MB 7 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 72
[h264 @ 0x8e30b40]top block unavailable for requested intra mode at 16 0
[h264 @ 0x8e30b40]error while decoding MB 16 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 73
[h264 @ 0x8e30b40]dquant out of range (-117) at 7 0
[h264 @ 0x8e30b40]error while decoding MB 7 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 74
[h264 @ 0x8e30b40]mb_type 48 in P slice too large at 10 0
[h264 @ 0x8e30b40]error while decoding MB 10 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 75
[h264 @ 0x8e30b40]mb_type 296 in P slice too large at 15 0
[h264 @ 0x8e30b40]error while decoding MB 15 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 76
[h264 @ 0x8e30b40]P sub_mb_type 9 out of range at 4 1
[h264 @ 0x8e30b40]error while decoding MB 4 1
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 77
[h264 @ 0x8e30b40]P sub_mb_type 9 out of range at 21 0
[h264 @ 0x8e30b40]error while decoding MB 21 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 78
[h264 @ 0x8e30b40]dquant out of range (116) at 9 0
[h264 @ 0x8e30b40]error while decoding MB 9 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 79
[h264 @ 0x8e30b40]cbp too large (58) at 1 2
[h264 @ 0x8e30b40]error while decoding MB 1 2
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 80
[h264 @ 0x8e30b40]top block unavailable for requested intra mode at 12 0
[h264 @ 0x8e30b40]error while decoding MB 12 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 81
[h264 @ 0x8e30b40]cbp too large (52) at 10 0
[h264 @ 0x8e30b40]error while decoding MB 10 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 82
Passato n° 83
    Last message repeated 1 times
[h264 @ 0x8e30b40]mb_type 256 in P slice too large at 14 7
[h264 @ 0x8e30b40]error while decoding MB 14 7
[h264 @ 0x8e30b40]concealing 277 DC, 277 AC, 277 MV errors
Passato n° 84
[h264 @ 0x8e30b40]dquant out of range (63) at 10 0
[h264 @ 0x8e30b40]error while decoding MB 10 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 85
[h264 @ 0x8e30b40]P sub_mb_type 6 out of range at 6 0
[h264 @ 0x8e30b40]error while decoding MB 6 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 86
[h264 @ 0x8e30b40]out of range intra chroma pred mode at 12 0
[h264 @ 0x8e30b40]error while decoding MB 12 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 87
[h264 @ 0x8e30b40]top block unavailable for requested intra mode at 5 0
[h264 @ 0x8e30b40]error while decoding MB 5 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 88
[h264 @ 0x8e30b40]mb_type 74 in P slice too large at 9 1
[h264 @ 0x8e30b40]error while decoding MB 9 1
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 89
[h264 @ 0x8e30b40]out of range intra chroma pred mode at 14 1
[h264 @ 0x8e30b40]error while decoding MB 14 1
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 90
[h264 @ 0x8e30b40]P sub_mb_type 13 out of range at 12 0
[h264 @ 0x8e30b40]error while decoding MB 12 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 91
[h264 @ 0x8e30b40]mb_type 99 in P slice too large at 9 0
[h264 @ 0x8e30b40]error while decoding MB 9 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 92
[h264 @ 0x8e30b40]negative number of zero coeffs at 9 0
[h264 @ 0x8e30b40]error while decoding MB 9 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 93
[h264 @ 0x8e30b40]dquant out of range (-117) at 9 0
[h264 @ 0x8e30b40]error while decoding MB 9 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 94
[h264 @ 0x8e30b40]dquant out of range (-116) at 9 0
[h264 @ 0x8e30b40]error while decoding MB 9 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 95
[h264 @ 0x8e30b40]out of range intra chroma pred mode at 9 0
[h264 @ 0x8e30b40]error while decoding MB 9 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 96
[h264 @ 0x8e30b40]dquant out of range (53) at 9 0
[h264 @ 0x8e30b40]error while decoding MB 9 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 97
[h264 @ 0x8e30b40]dquant out of range (53) at 9 0
[h264 @ 0x8e30b40]error while decoding MB 9 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 98
[h264 @ 0x8e30b40]dquant out of range (53) at 9 0
[h264 @ 0x8e30b40]error while decoding MB 9 0
[h264 @ 0x8e30b40]concealing 396 DC, 396 AC, 396 MV errors
Passato n° 99
[h264 @ 0x8e30b40]mb_type 34 in P slice too large at 12 9
[h264 @ 0x8e30b40]error while decoding MB 12 9

What could be the problem? is not a problem due by mismatch between
x264/ffmpeg version.
Many thanks.


More information about the x264-devel mailing list