This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320DM8148: HDVICP2/TMS320DM8148:

Part Number: TMS320DM8148

In our DM8148 and DVR_RDK based video conferencing program, We encountered the problem of decoding error,  "outArgs->viddec3OutArgs.extendedError: 0x2000a00". This error only appears for some specific types of 264hp bitstream. We examined the correctness of inputed bitstream by  Elecard and Vega H264 Analyzer,  and the DM8168 and DVR_RDK based system correctly decode it also. And we analysed the correctness of the annexb data passed into the pReqObjBatch's Bitstream_Buf by XDS560v2. So is there any characteristics of 264 high profile is not supported by DM8148? 

the version of  H264Decoder is REL.500.V.H264AVC.D.HP.IVAHD.02.00.22.00.

And the DVR Reference Design version is GA-03.50.00.05.

the error log is as follows:

Mar 3 14:30:48 8.129 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 769655:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:48 8.139 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:48 8.150 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0xa10
Mar 3 14:30:48 8.161 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4433
Mar 3 14:30:48 8.696 I [MD][DSP] DSP(MAINBD_DM8148)log:[MultiVideo_SyseventHandler-7558] uiDecChnId:0, send VCU Req
Mar 3 14:30:48 8.708 I [MD][DSP] DSP(MAINBD_DM8148)log:[SendReqVCUMsg-6978] ChnId:0, send 2th VCU Req between 1000ms , time: -162 5883530, iLineNo: 7559!
Mar 3 14:30:49 9.020 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 770563:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:49 9.030 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:49 9.041 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0xa10
Mar 3 14:30:49 9.051 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4461
Mar 3 14:30:49 9.548 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 771091:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:49 9.560 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:49 9.571 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0x2000a00
Mar 3 14:30:49 9.583 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4477
Mar 3 14:30:49 9.707 I [MD][DSP] DSP(MAINBD_DM8148)log:[MultiVideo_SyseventHandler-7558] uiDecChnId:0, send VCU Req
Mar 3 14:30:49 9.717 I [MD][DSP] DSP(MAINBD_DM8148)log:[SendReqVCUMsg-6978] ChnId:0, send 3th VCU Req between 1000ms , time: -162 5882525, iLineNo: 7559!
Mar 3 14:30:50 0.386 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 771929:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:50 0.397 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:50 0.407 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0x2000a00
Mar 3 14:30:50 0.417 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4502
Mar 3 14:30:50 0.642 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 772184:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:50 0.652 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:50 0.664 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0x2000a00
Mar 3 14:30:50 0.675 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4510
Mar 3 14:30:50 0.726 I [MD][DSP] DSP(MAINBD_DM8148)log:[MultiVideo_SyseventHandler-7558] uiDecChnId:0, send VCU Req
Mar 3 14:30:50 0.736 I [MD][DSP] DSP(MAINBD_DM8148)log:[SendReqVCUMsg-6978] ChnId:0, send 0th VCU Req between 2000ms , time: -162 5881505, iLineNo: 7559!
Mar 3 14:30:51 1.215 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 772757:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:51 1.225 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:51 1.236 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0x2000a00
Mar 3 14:30:51 1.246 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4528
Mar 3 14:30:51 1.614 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 773148:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:51 1.626 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:51 1.636 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0x2000a00
Mar 3 14:30:51 1.646 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4540
Mar 3 14:30:51 1.677 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 773170:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:51 1.687 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:51 1.697 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0x2000a00
Mar 3 14:30:51 1.707 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4541
Mar 3 14:30:51 1.764 I [MD][DSP] DSP(MAINBD_DM8148)log:[MultiVideo_SyseventHandler-7558] uiDecChnId:0, send VCU Req
Mar 3 14:30:51 1.920 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 773465:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:51 1.930 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:51 1.942 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0x2000a00
Mar 3 14:30:51 1.953 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4549
Mar 3 14:30:51 1.965 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 773507:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:51 1.976 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS
Mar 3 14:30:51 1.986 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] outArgs->viddec3OutArgs.extendedErr or for channel 0 Error: 0x2000a00
Mar 3 14:30:51 1.996 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] Sequence called number 4551
Mar 3 14:30:52 2.486 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] 774028:DECLINK::links_m3video/iva_d ec/decLink_h264.c:[446]::INTERNAL ERROR:-1
Mar 3 14:30:52 2.497 I [MD][DSP] DSP(MAINBD_DM8148)log:[RemoteDebug_clientRun-287] [m3video] ALGPROCESS FAILED:STATUS

Our bitstream:

https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/ourBitstream.7z

  • The input and output Datas of processList after the call of multiError = handle->fxns->processMulti(&processList).

    the definition of processMulti-------XDAS_Int32 (*processMulti) (IH264VDEC_ProcessParamsList *processList).

    File SPS_PPS_IDR_Bitstream.bin-----the binary data in processList.processParams.inBufs.descs.buf .

    File Y_IframeOnly.bin-------the binary data in processList.processParams.outBufs.descs.buf[0].

    File UV_IframeOnly.bin------the binary data in processList.processParams.outBufs.descs.buf[1] .

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/InputAndOutDatas.7z

  • Hi Peng,

    I analyzed the stream ourBitStream.264 you shared. There is only one frame in this stream. 

    I don't have setup for DVR-RDK/DM8148 borard but I executed same stream on J6/DRA7x board. The input frame has 14634 bytes and decoder did not throw any error but I see the output looks corrupt on display. 

    Are you observing error for the first frame ?

    Can you provide complete bitstream?

    Thanks

    RamPrasad

  • Hi RamPrasad,

    Yes,I oberved the error of 0x2000a00 for the first frame.

    Is the version of  H264Decoder on J6/DRA7x board REL.500.V.H264AVC.D.HP.IVAHD.02.00.22.00 ?

    complete bitstream:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/completeBitstream.7z

    Thanks

    Peng

  • Hi Peng,

    I suspect there is some decoder configuration issue or parser is not providing correct frame to decoder input.

    I decoded the stream on dra7x but there is no error for any of the frame. On dra7x  v2.00.22.01 is the version of H264decoder. I have attached the log here. Can you please check if the input frame size is matching with yours.

    root@dra7xx-evm:~# ./viddec3test -w 1920x1080 completeBitstream.264
    0x2b008: Opening Display..
    wayland display opened
    
    wayland registries obtained
    
    0x2b008: Opening Demuxer..
    Input #0, h264, from 'completeBitstream.264':
      Duration: N/A, bitrate: N/A
        Stream #0:0: Video: h264 (High), yuv420p(tv, bt470bg), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1200k tbn, 60 tbc
    0x2b008: infile=completeBitstream.264, width=1920, height=1080
    0x2b008: padded_width=2048, padded_height=1184, num_buffers=7
    0x2b008: uv_offset=2424832
    0x2b008: Opening Engine..
    displayBufsMode: 1
    input Bytes = 14634, error = 0x0
    input Bytes = 3579, error = 0x0
    input Bytes = 3714, error = 0x0
    input Bytes = 3637, error = 0x0
    input Bytes = 3603, error = 0x0
    input Bytes = 3518, error = 0x0
    input Bytes = 3673, error = 0x0
    input Bytes = 3712, error = 0x0
    input Bytes = 3612, error = 0x0
    input Bytes = 3261, error = 0x0
    input Bytes = 3630, error = 0x0
    input Bytes = 3597, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3676, error = 0x0
    input Bytes = 3680, error = 0x0
    input Bytes = 3583, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3644, error = 0x0
    input Bytes = 4364, error = 0x0
    input Bytes = 3753, error = 0x0
    input Bytes = 3822, error = 0x0
    input Bytes = 3833, error = 0x0
    input Bytes = 3965, error = 0x0
    input Bytes = 3601, error = 0x0
    input Bytes = 3532, error = 0x0
    input Bytes = 3578, error = 0x0
    input Bytes = 3679, error = 0x0
    input Bytes = 3783, error = 0x0
    input Bytes = 3716, error = 0x0
    input Bytes = 3523, error = 0x0
    input Bytes = 3675, error = 0x0
    input Bytes = 3685, error = 0x0
    input Bytes = 3679, error = 0x0
    input Bytes = 3483, error = 0x0
    input Bytes = 3533, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 14711, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 3711, error = 0x0
    input Bytes = 3594, error = 0x0
    input Bytes = 3678, error = 0x0
    input Bytes = 3750, error = 0x0
    input Bytes = 3670, error = 0x0
    input Bytes = 3282, error = 0x0
    input Bytes = 3377, error = 0x0
    input Bytes = 3625, error = 0x0
    input Bytes = 3612, error = 0x0
    input Bytes = 3552, error = 0x0
    input Bytes = 3562, error = 0x0
    input Bytes = 3664, error = 0x0
    input Bytes = 3687, error = 0x0
    input Bytes = 3653, error = 0x0
    input Bytes = 3730, error = 0x0
    input Bytes = 3548, error = 0x0
    input Bytes = 3652, error = 0x0
    input Bytes = 3775, error = 0x0
    input Bytes = 3730, error = 0x0
    input Bytes = 3571, error = 0x0
    input Bytes = 3643, error = 0x0
    input Bytes = 3730, error = 0x0
    input Bytes = 3764, error = 0x0
    input Bytes = 3547, error = 0x0
    input Bytes = 3670, error = 0x0
    input Bytes = 3815, error = 0x0
    input Bytes = 3409, error = 0x0
    input Bytes = 3536, error = 0x0
    input Bytes = 3550, error = 0x0
    input Bytes = 3656, error = 0x0
    input Bytes = 3699, error = 0x0
    input Bytes = 3494, error = 0x0
    input Bytes = 3579, error = 0x0
    input Bytes = 3522, error = 0x0
    input Bytes = 3587, error = 0x0
    input Bytes = 3649, error = 0x0
    input Bytes = 3631, error = 0x0
    input Bytes = 3654, error = 0x0
    input Bytes = 3652, error = 0x0
    input Bytes = 3630, error = 0x0
    input Bytes = 3874, error = 0x0
    input Bytes = 3558, error = 0x0
    input Bytes = 3690, error = 0x0
    input Bytes = 3656, error = 0x0
    input Bytes = 3663, error = 0x0
    input Bytes = 3642, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3492, error = 0x0
    input Bytes = 3529, error = 0x0
    input Bytes = 3574, error = 0x0
    input Bytes = 3502, error = 0x0
    input Bytes = 3679, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 3543, error = 0x0
    input Bytes = 3532, error = 0x0
    input Bytes = 3544, error = 0x0
    input Bytes = 3589, error = 0x0
    input Bytes = 3568, error = 0x0
    input Bytes = 3540, error = 0x0
    input Bytes = 3549, error = 0x0
    input Bytes = 3617, error = 0x0
    input Bytes = 3569, error = 0x0
    input Bytes = 3516, error = 0x0
    input Bytes = 3578, error = 0x0
    input Bytes = 3644, error = 0x0
    input Bytes = 3504, error = 0x0
    input Bytes = 3628, error = 0x0
    input Bytes = 3562, error = 0x0
    input Bytes = 3500, error = 0x0
    input Bytes = 3631, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3578, error = 0x0
    input Bytes = 3511, error = 0x0
    input Bytes = 3640, error = 0x0
    input Bytes = 3507, error = 0x0
    input Bytes = 3549, error = 0x0
    input Bytes = 3615, error = 0x0
    input Bytes = 3497, error = 0x0
    input Bytes = 3614, error = 0x0
    input Bytes = 3589, error = 0x0
    input Bytes = 3556, error = 0x0
    input Bytes = 3509, error = 0x0
    input Bytes = 3582, error = 0x0
    input Bytes = 3567, error = 0x0
    input Bytes = 3557, error = 0x0
    input Bytes = 3558, error = 0x0
    input Bytes = 3635, error = 0x0
    input Bytes = 3584, error = 0x0
    input Bytes = 3604, error = 0x0
    input Bytes = 14573, error = 0x0
    input Bytes = 3562, error = 0x0
    input Bytes = 3635, error = 0x0
    input Bytes = 3684, error = 0x0
    input Bytes = 3689, error = 0x0
    input Bytes = 3753, error = 0x0
    input Bytes = 3522, error = 0x0
    input Bytes = 3318, error = 0x0
    input Bytes = 3464, error = 0x0
    input Bytes = 3592, error = 0x0
    input Bytes = 3676, error = 0x0
    input Bytes = 3743, error = 0x0
    input Bytes = 3533, error = 0x0
    input Bytes = 3538, error = 0x0
    input Bytes = 3841, error = 0x0
    input Bytes = 3701, error = 0x0
    input Bytes = 3529, error = 0x0
    input Bytes = 3778, error = 0x0
    input Bytes = 3882, error = 0x0
    input Bytes = 3813, error = 0x0
    input Bytes = 3399, error = 0x0
    input Bytes = 3529, error = 0x0
    input Bytes = 3586, error = 0x0
    input Bytes = 3601, error = 0x0
    input Bytes = 3767, error = 0x0
    input Bytes = 3568, error = 0x0
    input Bytes = 3665, error = 0x0
    input Bytes = 3547, error = 0x0
    input Bytes = 3591, error = 0x0
    input Bytes = 3689, error = 0x0
    input Bytes = 3766, error = 0x0
    input Bytes = 3586, error = 0x0
    input Bytes = 3614, error = 0x0
    input Bytes = 3682, error = 0x0
    input Bytes = 3502, error = 0x0
    input Bytes = 3546, error = 0x0
    input Bytes = 3483, error = 0x0
    input Bytes = 3584, error = 0x0
    input Bytes = 3528, error = 0x0
    input Bytes = 3608, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3540, error = 0x0
    input Bytes = 3631, error = 0x0
    input Bytes = 3544, error = 0x0
    input Bytes = 3560, error = 0x0
    input Bytes = 3536, error = 0x0
    input Bytes = 3666, error = 0x0
    input Bytes = 3584, error = 0x0
    input Bytes = 3676, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3470, error = 0x0
    input Bytes = 3555, error = 0x0
    input Bytes = 3561, error = 0x0
    input Bytes = 3527, error = 0x0
    input Bytes = 3645, error = 0x0
    input Bytes = 3591, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 3577, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3604, error = 0x0
    input Bytes = 3564, error = 0x0
    input Bytes = 3607, error = 0x0
    input Bytes = 3494, error = 0x0
    input Bytes = 3542, error = 0x0
    input Bytes = 3643, error = 0x0
    input Bytes = 3538, error = 0x0
    input Bytes = 3641, error = 0x0
    input Bytes = 3512, error = 0x0
    input Bytes = 3600, error = 0x0
    input Bytes = 3565, error = 0x0
    input Bytes = 3681, error = 0x0
    input Bytes = 3530, error = 0x0
    input Bytes = 3501, error = 0x0
    input Bytes = 3507, error = 0x0
    input Bytes = 3580, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3503, error = 0x0
    input Bytes = 3517, error = 0x0
    input Bytes = 3599, error = 0x0
    input Bytes = 3620, error = 0x0
    input Bytes = 3547, error = 0x0
    input Bytes = 3587, error = 0x0
    input Bytes = 3553, error = 0x0
    input Bytes = 3515, error = 0x0
    input Bytes = 3516, error = 0x0
    input Bytes = 3676, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3612, error = 0x0
    input Bytes = 3517, error = 0x0
    input Bytes = 3512, error = 0x0
    input Bytes = 3549, error = 0x0
    input Bytes = 3661, error = 0x0
    input Bytes = 3593, error = 0x0
    input Bytes = 3495, error = 0x0
    input Bytes = 3599, error = 0x0
    input Bytes = 3515, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3560, error = 0x0
    input Bytes = 3591, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3570, error = 0x0
    input Bytes = 3623, error = 0x0
    input Bytes = 3620, error = 0x0
    input Bytes = 3597, error = 0x0
    input Bytes = 3533, error = 0x0
    input Bytes = 3640, error = 0x0
    input Bytes = 3650, error = 0x0
    input Bytes = 3515, error = 0x0
    input Bytes = 3623, error = 0x0
    input Bytes = 3586, error = 0x0
    input Bytes = 14731, error = 0x0
    input Bytes = 3584, error = 0x0
    input Bytes = 3642, error = 0x0
    input Bytes = 3600, error = 0x0
    input Bytes = 3656, error = 0x0
    input Bytes = 3552, error = 0x0
    input Bytes = 3736, error = 0x0
    input Bytes = 3555, error = 0x0
    input Bytes = 3478, error = 0x0
    input Bytes = 3268, error = 0x0
    input Bytes = 3596, error = 0x0
    input Bytes = 3663, error = 0x0
    input Bytes = 3771, error = 0x0
    input Bytes = 3576, error = 0x0
    input Bytes = 3675, error = 0x0
    input Bytes = 3704, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3815, error = 0x0
    input Bytes = 3955, error = 0x0
    input Bytes = 3967, error = 0x0
    input Bytes = 3409, error = 0x0
    input Bytes = 3626, error = 0x0
    input Bytes = 3661, error = 0x0
    input Bytes = 3523, error = 0x0
    input Bytes = 3590, error = 0x0
    input Bytes = 3637, error = 0x0
    input Bytes = 3780, error = 0x0
    input Bytes = 3530, error = 0x0
    input Bytes = 3915, error = 0x0
    input Bytes = 3707, error = 0x0
    input Bytes = 3613, error = 0x0
    input Bytes = 3637, error = 0x0
    input Bytes = 3487, error = 0x0
    input Bytes = 3603, error = 0x0
    input Bytes = 3609, error = 0x0
    input Bytes = 3676, error = 0x0
    input Bytes = 3631, error = 0x0
    input Bytes = 3614, error = 0x0
    input Bytes = 3639, error = 0x0
    input Bytes = 3683, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 3509, error = 0x0
    input Bytes = 3557, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3528, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3511, error = 0x0
    input Bytes = 3610, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3593, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3503, error = 0x0
    input Bytes = 3556, error = 0x0
    input Bytes = 3465, error = 0x0
    input Bytes = 3535, error = 0x0
    input Bytes = 3537, error = 0x0
    input Bytes = 3592, error = 0x0
    input Bytes = 3566, error = 0x0
    input Bytes = 3569, error = 0x0
    input Bytes = 3504, error = 0x0
    input Bytes = 3541, error = 0x0
    input Bytes = 3530, error = 0x0
    input Bytes = 3499, error = 0x0
    input Bytes = 3589, error = 0x0
    input Bytes = 3542, error = 0x0
    input Bytes = 3596, error = 0x0
    input Bytes = 3553, error = 0x0
    input Bytes = 3502, error = 0x0
    input Bytes = 3504, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 3564, error = 0x0
    input Bytes = 3532, error = 0x0
    input Bytes = 3613, error = 0x0
    input Bytes = 3574, error = 0x0
    input Bytes = 3581, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3537, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 3505, error = 0x0
    input Bytes = 3596, error = 0x0
    input Bytes = 3631, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3654, error = 0x0
    input Bytes = 3540, error = 0x0
    input Bytes = 3523, error = 0x0
    input Bytes = 3582, error = 0x0
    input Bytes = 3509, error = 0x0
    input Bytes = 3569, error = 0x0
    input Bytes = 3569, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3546, error = 0x0
    input Bytes = 3657, error = 0x0
    input Bytes = 3544, error = 0x0
    input Bytes = 3503, error = 0x0
    input Bytes = 3574, error = 0x0
    input Bytes = 3508, error = 0x0
    input Bytes = 3674, error = 0x0
    input Bytes = 3507, error = 0x0
    input Bytes = 3544, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3554, error = 0x0
    input Bytes = 3672, error = 0x0
    input Bytes = 3504, error = 0x0
    input Bytes = 3579, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3507, error = 0x0
    input Bytes = 3653, error = 0x0
    input Bytes = 3497, error = 0x0
    input Bytes = 3666, error = 0x0
    input Bytes = 3578, error = 0x0
    input Bytes = 3517, error = 0x0
    input Bytes = 3671, error = 0x0
    input Bytes = 3601, error = 0x0
    input Bytes = 3594, error = 0x0
    input Bytes = 3636, error = 0x0
    input Bytes = 3529, error = 0x0
    input Bytes = 3530, error = 0x0
    input Bytes = 3606, error = 0x0
    input Bytes = 3503, error = 0x0
    input Bytes = 3572, error = 0x0
    input Bytes = 3526, error = 0x0
    input Bytes = 14763, error = 0x0
    input Bytes = 3577, error = 0x0
    input Bytes = 3564, error = 0x0
    input Bytes = 3666, error = 0x0
    input Bytes = 3666, error = 0x0
    input Bytes = 3692, error = 0x0
    input Bytes = 3493, error = 0x0
    input Bytes = 3720, error = 0x0
    input Bytes = 3813, error = 0x0
    input Bytes = 4242, error = 0x0
    input Bytes = 3367, error = 0x0
    input Bytes = 3470, error = 0x0
    input Bytes = 3599, error = 0x0
    input Bytes = 3609, error = 0x0
    input Bytes = 3660, error = 0x0
    input Bytes = 3602, error = 0x0
    input Bytes = 3543, error = 0x0
    input Bytes = 3662, error = 0x0
    input Bytes = 3805, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3606, error = 0x0
    input Bytes = 3599, error = 0x0
    input Bytes = 3965, error = 0x0
    input Bytes = 3797, error = 0x0
    input Bytes = 3732, error = 0x0
    input Bytes = 4112, error = 0x0
    input Bytes = 4165, error = 0x0
    input Bytes = 3393, error = 0x0
    input Bytes = 3494, error = 0x0
    input Bytes = 3666, error = 0x0
    input Bytes = 3587, error = 0x0
    input Bytes = 3726, error = 0x0
    input Bytes = 3672, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3634, error = 0x0
    input Bytes = 3550, error = 0x0
    input Bytes = 3636, error = 0x0
    input Bytes = 3628, error = 0x0
    input Bytes = 3470, error = 0x0
    input Bytes = 3540, error = 0x0
    input Bytes = 3536, error = 0x0
    input Bytes = 3636, error = 0x0
    input Bytes = 3542, error = 0x0
    input Bytes = 3567, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 3626, error = 0x0
    input Bytes = 3561, error = 0x0
    input Bytes = 3584, error = 0x0
    input Bytes = 3494, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3597, error = 0x0
    input Bytes = 3648, error = 0x0
    input Bytes = 3546, error = 0x0
    input Bytes = 3570, error = 0x0
    input Bytes = 3515, error = 0x0
    input Bytes = 3543, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3535, error = 0x0
    input Bytes = 3576, error = 0x0
    input Bytes = 3555, error = 0x0
    input Bytes = 3529, error = 0x0
    input Bytes = 3522, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 3604, error = 0x0
    input Bytes = 3528, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3569, error = 0x0
    input Bytes = 3575, error = 0x0
    input Bytes = 3526, error = 0x0
    input Bytes = 3536, error = 0x0
    input Bytes = 3518, error = 0x0
    input Bytes = 3562, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3495, error = 0x0
    input Bytes = 3566, error = 0x0
    input Bytes = 3567, error = 0x0
    input Bytes = 3557, error = 0x0
    input Bytes = 3557, error = 0x0
    input Bytes = 3543, error = 0x0
    input Bytes = 3523, error = 0x0
    input Bytes = 3685, error = 0x0
    input Bytes = 3526, error = 0x0
    input Bytes = 3618, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3585, error = 0x0
    input Bytes = 3509, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3525, error = 0x0
    input Bytes = 3547, error = 0x0
    input Bytes = 3626, error = 0x0
    input Bytes = 3591, error = 0x0
    input Bytes = 3586, error = 0x0
    input Bytes = 3578, error = 0x0
    input Bytes = 3565, error = 0x0
    input Bytes = 3620, error = 0x0
    input Bytes = 3569, error = 0x0
    input Bytes = 3644, error = 0x0
    input Bytes = 3496, error = 0x0
    input Bytes = 3615, error = 0x0
    input Bytes = 3570, error = 0x0
    input Bytes = 3526, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3673, error = 0x0
    input Bytes = 3546, error = 0x0
    input Bytes = 3510, error = 0x0
    input Bytes = 3605, error = 0x0
    input Bytes = 3605, error = 0x0
    input Bytes = 3485, error = 0x0
    input Bytes = 3653, error = 0x0
    input Bytes = 3501, error = 0x0
    input Bytes = 3612, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3513, error = 0x0
    input Bytes = 3583, error = 0x0
    input Bytes = 3579, error = 0x0
    input Bytes = 3568, error = 0x0
    input Bytes = 3563, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 14649, error = 0x0
    input Bytes = 3842, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3730, error = 0x0
    input Bytes = 3714, error = 0x0
    input Bytes = 3526, error = 0x0
    input Bytes = 3429, error = 0x0
    input Bytes = 3400, error = 0x0
    input Bytes = 3586, error = 0x0
    input Bytes = 3527, error = 0x0
    input Bytes = 3607, error = 0x0
    input Bytes = 3688, error = 0x0
    input Bytes = 3596, error = 0x0
    input Bytes = 3595, error = 0x0
    input Bytes = 3731, error = 0x0
    input Bytes = 3530, error = 0x0
    input Bytes = 3805, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 4138, error = 0x0
    input Bytes = 4198, error = 0x0
    input Bytes = 3457, error = 0x0
    input Bytes = 3557, error = 0x0
    input Bytes = 3675, error = 0x0
    input Bytes = 3555, error = 0x0
    input Bytes = 3662, error = 0x0
    input Bytes = 3795, error = 0x0
    input Bytes = 3579, error = 0x0
    input Bytes = 3579, error = 0x0
    input Bytes = 3665, error = 0x0
    input Bytes = 3616, error = 0x0
    input Bytes = 3585, error = 0x0
    input Bytes = 3710, error = 0x0
    input Bytes = 3729, error = 0x0
    input Bytes = 3592, error = 0x0
    input Bytes = 3689, error = 0x0
    input Bytes = 3788, error = 0x0
    input Bytes = 3870, error = 0x0
    input Bytes = 3436, error = 0x0
    input Bytes = 3611, error = 0x0
    input Bytes = 3553, error = 0x0
    input Bytes = 3609, error = 0x0
    input Bytes = 3529, error = 0x0
    input Bytes = 3627, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3502, error = 0x0
    input Bytes = 3626, error = 0x0
    input Bytes = 3591, error = 0x0
    input Bytes = 3511, error = 0x0
    input Bytes = 3610, error = 0x0
    input Bytes = 3589, error = 0x0
    input Bytes = 3539, error = 0x0
    input Bytes = 3634, error = 0x0
    input Bytes = 3560, error = 0x0
    input Bytes = 3564, error = 0x0
    input Bytes = 3579, error = 0x0
    input Bytes = 3469, error = 0x0
    input Bytes = 3532, error = 0x0
    input Bytes = 3584, error = 0x0
    input Bytes = 3522, error = 0x0
    input Bytes = 3602, error = 0x0
    input Bytes = 3611, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3579, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3559, error = 0x0
    input Bytes = 3553, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3515, error = 0x0
    input Bytes = 3690, error = 0x0
    input Bytes = 3557, error = 0x0
    input Bytes = 3508, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 3542, error = 0x0
    input Bytes = 3570, error = 0x0
    input Bytes = 3508, error = 0x0
    input Bytes = 3618, error = 0x0
    input Bytes = 3510, error = 0x0
    input Bytes = 3525, error = 0x0
    input Bytes = 3651, error = 0x0
    input Bytes = 3627, error = 0x0
    input Bytes = 3564, error = 0x0
    input Bytes = 3503, error = 0x0
    input Bytes = 3537, error = 0x0
    input Bytes = 3536, error = 0x0
    input Bytes = 3532, error = 0x0
    input Bytes = 3493, error = 0x0
    input Bytes = 3594, error = 0x0
    input Bytes = 3525, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3522, error = 0x0
    input Bytes = 3561, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3493, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3587, error = 0x0
    input Bytes = 3560, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3577, error = 0x0
    input Bytes = 3544, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3610, error = 0x0
    input Bytes = 3502, error = 0x0
    input Bytes = 3597, error = 0x0
    input Bytes = 3527, error = 0x0
    input Bytes = 3525, error = 0x0
    input Bytes = 3644, error = 0x0
    input Bytes = 3604, error = 0x0
    input Bytes = 3563, error = 0x0
    input Bytes = 3508, error = 0x0
    input Bytes = 3500, error = 0x0
    input Bytes = 3597, error = 0x0
    input Bytes = 3567, error = 0x0
    input Bytes = 3596, error = 0x0
    input Bytes = 3541, error = 0x0
    input Bytes = 3503, error = 0x0
    input Bytes = 3630, error = 0x0
    input Bytes = 3548, error = 0x0
    input Bytes = 14611, error = 0x0
    input Bytes = 4015, error = 0x0
    input Bytes = 3614, error = 0x0
    input Bytes = 3508, error = 0x0
    input Bytes = 3601, error = 0x0
    input Bytes = 3535, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3469, error = 0x0
    input Bytes = 3616, error = 0x0
    input Bytes = 3673, error = 0x0
    input Bytes = 3711, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3556, error = 0x0
    input Bytes = 3526, error = 0x0
    input Bytes = 3634, error = 0x0
    input Bytes = 3680, error = 0x0
    input Bytes = 3675, error = 0x0
    input Bytes = 3539, error = 0x0
    input Bytes = 3676, error = 0x0
    input Bytes = 3733, error = 0x0
    input Bytes = 3576, error = 0x0
    input Bytes = 3554, error = 0x0
    input Bytes = 3545, error = 0x0
    input Bytes = 3596, error = 0x0
    input Bytes = 3673, error = 0x0
    input Bytes = 3571, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3507, error = 0x0
    input Bytes = 3596, error = 0x0
    input Bytes = 3655, error = 0x0
    input Bytes = 3645, error = 0x0
    input Bytes = 3676, error = 0x0
    input Bytes = 3503, error = 0x0
    input Bytes = 3882, error = 0x0
    input Bytes = 3678, error = 0x0
    input Bytes = 3604, error = 0x0
    input Bytes = 3661, error = 0x0
    input Bytes = 3795, error = 0x0
    input Bytes = 3529, error = 0x0
    input Bytes = 3554, error = 0x0
    input Bytes = 3544, error = 0x0
    input Bytes = 3542, error = 0x0
    input Bytes = 3539, error = 0x0
    input Bytes = 3684, error = 0x0
    input Bytes = 3667, error = 0x0
    input Bytes = 3518, error = 0x0
    input Bytes = 3536, error = 0x0
    input Bytes = 3621, error = 0x0
    input Bytes = 3505, error = 0x0
    input Bytes = 3505, error = 0x0
    input Bytes = 3552, error = 0x0
    input Bytes = 3672, error = 0x0
    input Bytes = 3607, error = 0x0
    input Bytes = 3534, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3540, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3620, error = 0x0
    input Bytes = 3656, error = 0x0
    input Bytes = 3540, error = 0x0
    input Bytes = 3658, error = 0x0
    input Bytes = 3572, error = 0x0
    input Bytes = 3660, error = 0x0
    input Bytes = 3833, error = 0x0
    input Bytes = 3533, error = 0x0
    input Bytes = 3677, error = 0x0
    input Bytes = 3692, error = 0x0
    input Bytes = 3683, error = 0x0
    input Bytes = 3468, error = 0x0
    input Bytes = 3542, error = 0x0
    input Bytes = 3577, error = 0x0
    input Bytes = 3542, error = 0x0
    input Bytes = 3677, error = 0x0
    input Bytes = 3674, error = 0x0
    input Bytes = 3618, error = 0x0
    input Bytes = 3637, error = 0x0
    input Bytes = 3670, error = 0x0
    input Bytes = 3672, error = 0x0
    input Bytes = 3668, error = 0x0
    input Bytes = 3787, error = 0x0
    input Bytes = 3533, error = 0x0
    input Bytes = 3535, error = 0x0
    input Bytes = 3581, error = 0x0
    input Bytes = 3548, error = 0x0
    input Bytes = 3523, error = 0x0
    input Bytes = 3535, error = 0x0
    input Bytes = 3615, error = 0x0
    input Bytes = 3625, error = 0x0
    input Bytes = 3574, error = 0x0
    input Bytes = 3497, error = 0x0
    input Bytes = 3568, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3517, error = 0x0
    input Bytes = 3681, error = 0x0
    input Bytes = 3491, error = 0x0
    input Bytes = 3544, error = 0x0
    input Bytes = 3671, error = 0x0
    input Bytes = 3584, error = 0x0
    input Bytes = 3549, error = 0x0
    input Bytes = 3612, error = 0x0
    input Bytes = 3553, error = 0x0
    input Bytes = 3565, error = 0x0
    input Bytes = 3656, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3553, error = 0x0
    input Bytes = 3536, error = 0x0
    input Bytes = 3649, error = 0x0
    input Bytes = 3613, error = 0x0
    input Bytes = 3666, error = 0x0
    input Bytes = 3537, error = 0x0
    input Bytes = 3478, error = 0x0
    input Bytes = 3574, error = 0x0
    input Bytes = 3557, error = 0x0
    input Bytes = 3561, error = 0x0
    input Bytes = 3607, error = 0x0
    input Bytes = 3632, error = 0x0
    input Bytes = 3625, error = 0x0
    input Bytes = 3543, error = 0x0
    input Bytes = 3497, error = 0x0
    input Bytes = 14725, error = 0x0
    input Bytes = 3546, error = 0x0
    input Bytes = 3656, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3590, error = 0x0
    input Bytes = 3684, error = 0x0
    input Bytes = 3750, error = 0x0
    input Bytes = 3638, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3291, error = 0x0
    input Bytes = 3597, error = 0x0
    input Bytes = 3636, error = 0x0
    input Bytes = 3625, error = 0x0
    input Bytes = 3649, error = 0x0
    input Bytes = 3629, error = 0x0
    input Bytes = 3685, error = 0x0
    input Bytes = 3565, error = 0x0
    input Bytes = 3571, error = 0x0
    input Bytes = 3504, error = 0x0
    input Bytes = 3542, error = 0x0
    input Bytes = 3512, error = 0x0
    input Bytes = 3660, error = 0x0
    input Bytes = 3637, error = 0x0
    input Bytes = 3615, error = 0x0
    input Bytes = 3565, error = 0x0
    input Bytes = 3528, error = 0x0
    input Bytes = 3496, error = 0x0
    input Bytes = 3511, error = 0x0
    input Bytes = 3631, error = 0x0
    input Bytes = 3803, error = 0x0
    input Bytes = 3516, error = 0x0
    input Bytes = 3658, error = 0x0
    input Bytes = 3537, error = 0x0
    input Bytes = 3566, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3568, error = 0x0
    input Bytes = 3665, error = 0x0
    input Bytes = 3567, error = 0x0
    input Bytes = 3542, error = 0x0
    input Bytes = 3606, error = 0x0
    input Bytes = 3733, error = 0x0
    input Bytes = 3600, error = 0x0
    input Bytes = 3661, error = 0x0
    input Bytes = 3492, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3601, error = 0x0
    input Bytes = 3634, error = 0x0
    input Bytes = 3615, error = 0x0
    input Bytes = 3494, error = 0x0
    input Bytes = 3566, error = 0x0
    input Bytes = 3640, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 3544, error = 0x0
    input Bytes = 3512, error = 0x0
    input Bytes = 3547, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3575, error = 0x0
    input Bytes = 3558, error = 0x0
    input Bytes = 3556, error = 0x0
    input Bytes = 3671, error = 0x0
    input Bytes = 3580, error = 0x0
    input Bytes = 3487, error = 0x0
    input Bytes = 3598, error = 0x0
    input Bytes = 3607, error = 0x0
    input Bytes = 3517, error = 0x0
    input Bytes = 3582, error = 0x0
    input Bytes = 3659, error = 0x0
    input Bytes = 3534, error = 0x0
    input Bytes = 3548, error = 0x0
    input Bytes = 3578, error = 0x0
    input Bytes = 3594, error = 0x0
    input Bytes = 3649, error = 0x0
    input Bytes = 3525, error = 0x0
    input Bytes = 3642, error = 0x0
    input Bytes = 3566, error = 0x0
    input Bytes = 3557, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3635, error = 0x0
    input Bytes = 3630, error = 0x0
    input Bytes = 3498, error = 0x0
    input Bytes = 3676, error = 0x0
    input Bytes = 3673, error = 0x0
    input Bytes = 3668, error = 0x0
    input Bytes = 3539, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 3602, error = 0x0
    input Bytes = 3581, error = 0x0
    input Bytes = 3522, error = 0x0
    input Bytes = 3561, error = 0x0
    input Bytes = 3563, error = 0x0
    input Bytes = 3538, error = 0x0
    input Bytes = 3630, error = 0x0
    input Bytes = 3505, error = 0x0
    input Bytes = 3564, error = 0x0
    input Bytes = 3554, error = 0x0
    input Bytes = 3558, error = 0x0
    input Bytes = 3599, error = 0x0
    input Bytes = 3640, error = 0x0
    input Bytes = 3516, error = 0x0
    input Bytes = 3569, error = 0x0
    input Bytes = 3577, error = 0x0
    input Bytes = 3556, error = 0x0
    input Bytes = 3501, error = 0x0
    input Bytes = 3492, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3559, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3662, error = 0x0
    input Bytes = 3504, error = 0x0
    input Bytes = 3559, error = 0x0
    input Bytes = 3509, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3664, error = 0x0
    input Bytes = 3625, error = 0x0
    input Bytes = 3618, error = 0x0
    input Bytes = 3509, error = 0x0
    input Bytes = 3569, error = 0x0
    input Bytes = 3564, error = 0x0
    input Bytes = 14549, error = 0x0
    input Bytes = 3854, error = 0x0
    input Bytes = 3603, error = 0x0
    input Bytes = 3597, error = 0x0
    input Bytes = 3533, error = 0x0
    input Bytes = 3544, error = 0x0
    input Bytes = 3534, error = 0x0
    input Bytes = 3403, error = 0x0
    input Bytes = 3666, error = 0x0
    input Bytes = 3657, error = 0x0
    input Bytes = 3655, error = 0x0
    input Bytes = 3810, error = 0x0
    input Bytes = 3828, error = 0x0
    input Bytes = 3474, error = 0x0
    input Bytes = 3633, error = 0x0
    input Bytes = 3674, error = 0x0
    input Bytes = 3537, error = 0x0
    input Bytes = 3591, error = 0x0
    input Bytes = 3748, error = 0x0
    input Bytes = 3504, error = 0x0
    input Bytes = 3876, error = 0x0
    input Bytes = 3558, error = 0x0
    input Bytes = 3891, error = 0x0
    input Bytes = 3691, error = 0x0
    input Bytes = 3679, error = 0x0
    input Bytes = 3859, error = 0x0
    input Bytes = 3997, error = 0x0
    input Bytes = 3352, error = 0x0
    input Bytes = 3591, error = 0x0
    input Bytes = 3521, error = 0x0
    input Bytes = 3637, error = 0x0
    input Bytes = 3652, error = 0x0
    input Bytes = 3612, error = 0x0
    input Bytes = 3499, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3678, error = 0x0
    input Bytes = 3629, error = 0x0
    input Bytes = 3579, error = 0x0
    input Bytes = 3658, error = 0x0
    input Bytes = 3766, error = 0x0
    input Bytes = 3562, error = 0x0
    input Bytes = 3559, error = 0x0
    input Bytes = 3654, error = 0x0
    input Bytes = 3836, error = 0x0
    input Bytes = 3634, error = 0x0
    input Bytes = 3842, error = 0x0
    input Bytes = 3652, error = 0x0
    input Bytes = 3920, error = 0x0
    input Bytes = 3807, error = 0x0
    input Bytes = 3992, error = 0x0
    input Bytes = 3366, error = 0x0
    input Bytes = 3505, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3632, error = 0x0
    input Bytes = 3582, error = 0x0
    input Bytes = 3554, error = 0x0
    input Bytes = 3626, error = 0x0
    input Bytes = 3576, error = 0x0
    input Bytes = 3582, error = 0x0
    input Bytes = 3585, error = 0x0
    input Bytes = 3526, error = 0x0
    input Bytes = 3529, error = 0x0
    input Bytes = 3589, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3552, error = 0x0
    input Bytes = 3512, error = 0x0
    input Bytes = 3585, error = 0x0
    input Bytes = 3598, error = 0x0
    input Bytes = 3543, error = 0x0
    input Bytes = 3561, error = 0x0
    input Bytes = 3497, error = 0x0
    input Bytes = 3583, error = 0x0
    input Bytes = 3518, error = 0x0
    input Bytes = 3508, error = 0x0
    input Bytes = 3606, error = 0x0
    input Bytes = 3506, error = 0x0
    input Bytes = 3580, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3602, error = 0x0
    input Bytes = 3546, error = 0x0
    input Bytes = 3634, error = 0x0
    input Bytes = 3557, error = 0x0
    input Bytes = 3563, error = 0x0
    input Bytes = 3601, error = 0x0
    input Bytes = 3537, error = 0x0
    input Bytes = 3502, error = 0x0
    input Bytes = 3606, error = 0x0
    input Bytes = 3513, error = 0x0
    input Bytes = 3616, error = 0x0
    input Bytes = 3640, error = 0x0
    input Bytes = 3510, error = 0x0
    input Bytes = 3523, error = 0x0
    input Bytes = 3567, error = 0x0
    input Bytes = 3563, error = 0x0
    input Bytes = 3573, error = 0x0
    input Bytes = 3551, error = 0x0
    input Bytes = 3548, error = 0x0
    input Bytes = 3543, error = 0x0
    input Bytes = 3589, error = 0x0
    input Bytes = 3565, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 3515, error = 0x0
    input Bytes = 3616, error = 0x0
    input Bytes = 3491, error = 0x0
    input Bytes = 3538, error = 0x0
    input Bytes = 3591, error = 0x0
    input Bytes = 3662, error = 0x0
    input Bytes = 3547, error = 0x0
    input Bytes = 3504, error = 0x0
    input Bytes = 3644, error = 0x0
    input Bytes = 3553, error = 0x0
    input Bytes = 3534, error = 0x0
    input Bytes = 3528, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3556, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3649, error = 0x0
    input Bytes = 3487, error = 0x0
    input Bytes = 3496, error = 0x0
    input Bytes = 3609, error = 0x0
    input Bytes = 14724, error = 0x0
    input Bytes = 3619, error = 0x0
    input Bytes = 3509, error = 0x0
    input Bytes = 3519, error = 0x0
    input Bytes = 3521, error = 0x0
    input Bytes = 3650, error = 0x0
    input Bytes = 3745, error = 0x0
    input Bytes = 3684, error = 0x0
    input Bytes = 3418, error = 0x0
    input Bytes = 3430, error = 0x0
    input Bytes = 3508, error = 0x0
    input Bytes = 3717, error = 0x0
    input Bytes = 3530, error = 0x0
    input Bytes = 3692, error = 0x0
    input Bytes = 3855, error = 0x0
    input Bytes = 3454, error = 0x0
    input Bytes = 3638, error = 0x0
    input Bytes = 3696, error = 0x0
    input Bytes = 3531, error = 0x0
    input Bytes = 3763, error = 0x0
    input Bytes = 3571, error = 0x0
    input Bytes = 3813, error = 0x0
    input Bytes = 3829, error = 0x0
    input Bytes = 3959, error = 0x0
    input Bytes = 3403, error = 0x0
    input Bytes = 3510, error = 0x0
    input Bytes = 3518, error = 0x0
    input Bytes = 3498, error = 0x0
    input Bytes = 3543, error = 0x0
    input Bytes = 3502, error = 0x0
    input Bytes = 3646, error = 0x0
    input Bytes = 3522, error = 0x0
    input Bytes = 3663, error = 0x0
    input Bytes = 3620, error = 0x0
    input Bytes = 3678, error = 0x0
    input Bytes = 3628, error = 0x0
    input Bytes = 3623, error = 0x0
    input Bytes = 3869, error = 0x0
    input Bytes = 3719, error = 0x0
    input Bytes = 3684, error = 0x0
    input Bytes = 3795, error = 0x0
    input Bytes = 3680, error = 0x0
    input Bytes = 3758, error = 0x0
    input Bytes = 3755, error = 0x0
    input Bytes = 3746, error = 0x0
    input Bytes = 3399, error = 0x0
    input Bytes = 3545, error = 0x0
    input Bytes = 3597, error = 0x0
    input Bytes = 3578, error = 0x0
    input Bytes = 3678, error = 0x0
    input Bytes = 3527, error = 0x0
    input Bytes = 3514, error = 0x0
    input Bytes = 3501, error = 0x0
    input Bytes = 3554, error = 0x0
    input Bytes = 3580, error = 0x0
    input Bytes = 3571, error = 0x0
    input Bytes = 3577, error = 0x0
    input Bytes = 3521, error = 0x0
    input Bytes = 3627, error = 0x0
    input Bytes = 3548, error = 0x0
    input Bytes = 3502, error = 0x0
    input Bytes = 3552, error = 0x0
    input Bytes = 3588, error = 0x0
    input Bytes = 3524, error = 0x0
    input Bytes = 3533, error = 0x0
    input Bytes = 3521, error = 0x0
    input Bytes = 3632, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3563, error = 0x0
    input Bytes = 3567, error = 0x0
    input Bytes = 3561, error = 0x0
    input Bytes = 3612, error = 0x0
    input Bytes = 3617, error = 0x0
    input Bytes = 3522, error = 0x0
    input Bytes = 3520, error = 0x0
    input Bytes = 3552, error = 0x0
    input Bytes = 3505, error = 0x0
    input Bytes = 3545, error = 0x0
    input Bytes = 3565, error = 0x0
    input Bytes = 3521, error = 0x0
    input Bytes = 3641, error = 0x0
    input Bytes = 3584, error = 0x0
    0x2b008: end of input
    input Bytes = 0, error = 0x0
    input Bytes = 0, error = 0x0
    input Bytes = 0, error = 0x0
    input Bytes = 0, error = 0x0
    input Bytes = 0, error = 0x40000
    ERROR:decoder_process:429: 0x2b008: process returned error: -1
    ERROR:decoder_process:430: 0x2b008: extendedError: 00040000
    root@dra7xx-evm:~#
    

    Error 0x2000a00 means , CORRUPTED_DATA and MISSING_SLICE error codes are set. This indicates for the first frame, proper header data is not sent to decoder and if first key frame I/IDR is not decoded, rest of frame will not be decoded.

    Are you able to get this working with default SDK?

    Thanks

    RamPrasad

  • Hi Ramprasad,

    Customer have verified it by DM8168, 

    DM8168 VC SDK Version: 01.01.00.02.

    REL.500.V.H264AVC.D.HP.IVAHD.02.00.04.01

    It's ok, no issue.

    Is it possible, there some hardware difference cause this issue?

    thanks!

    BR,
    Denny

  • Hi Denny,

    ok, got it. If the issue is not observed on DM816x means, it is a silicon issue. This issue exists in DM8148 devices .

    Please refer this document 

    http://www.ti.com/lit/er/swpz017l/swpz017l.pdf

    and search refer 2.13 ECD3 Fails To Decode Bitstreams Having Mismatch Between CBP and CBF in page 105.

    There is no solution/workaround for this issue.

    Which H264 encoder is being used to generate the streams? H264 encoder need to generate with no mismatch between CBP and CBF. That will be the only solution.

    Thanks

    RamPrasad

  • Hi RamPrasad,

    I find it is hard for me to identify if there are CBP and CBF mismatches in my streams.  Are you sure there are mismatches in the bitstream I uploaded?

    Thanks

    Peng

  • Hi Peng,

    If the stream works properly  on dm8168 and returns error 0x2000a00 error for the first frame in case of dm814x confirms it is CBP mismatch issue.

    There is some documentation available on changes/configuration required in h264enc to avoid this issue in dm814x but it is not shareable now.

    I will check internally and get  back to you.

    Thanks

    Ram

  • Hi RamPrasad,

    Ok, thank you very much!

    Thanks

    Peng

  • Hi RamPrasad,

    CBP(coded_block_pattern) is a macroblock layer syntax element. CBF(coded_block_flag) is a residual block cabac layer syntax element. According to the

    ITU-T Recommendation H.264, this two syntax elements all  specify whether the block contains non-zero transform coefficient levels. But there should be no conflicts between them, reasons as follow:

    1. when CBP is equal to 0, there will be no residual data then no CBF

    2. when CBP is equal to 1, the CBF can be 1 or 0

    So I'd like to know what is the mismatch between CBP and CBF actually means?

    Thanks

    Peng

  • Hi Peng,

    Please find the details of the issue in the attached ppt.

    This will give information on how encoder is violating the standard for CBP rule.

    DM814x_H264Dec_Issue.zip

    Thanks

    RamPrasad

  • Hi RamPrasad,

    Are there any  methods or suggestions to avoid this problem at encoder side? 

    Thanks

    Peng

  • Hi Peng,

    The ppt I shared should  give the detailed information of what encoder should generate.

    Did you go through?

    Ram

  • Hi RamPrasad,

    I find it's hard for me to search the macroblock violated the CBP rule. Can you tell me the index of the macroblocks violated the CBP rule in the first I frame of the uploaded bitstream? 

    Thanks

    Peng

  • Hi Peng,

    I need to check internally how to check this from encoder side. Need some time.

    If you have tried generating streams from TI's H264Encoder for the same input, you will not observe this error for the streams generated by TI's encoder.

    Have you tried with TI's H264encoder generated streams?

    Thanks

    Ram

  • Hi RamPrasad,

    I have modified the JM 18.6 decoder to detect the mismatch of CBP and CBP in the completeBitstream.264, but never find the macroblock fit the following condition, which is in the  ppt you shared.

     

    So I hope you could give me the exact macroblock address fit the condition you anaylsed above.

    I have tried DM8148 and DM8168 generated streams, it is ok.

    Thanks

    Peng

  • Hi Ram,

    Customer used JM tool to analysis this stream and haven't find cbp cbf mismatch. Do you have any idea about this? thanks!

    BR,

    Denny

  • Hi Ram,

    This is very urgent case for customer, do you have any update for this? thanks!

    BR,
    Denny

  • Hi Denny,

    I have received some information from codec team. I will update you today.

    Thanks

    Ram

  • Hi Peng/Denny,

    I found this snapshot what should be done at encoder. Please find it. It may help you.

    I have one command line executable to check if there is a cbp mismatch in a stream and which macroblock, I will share with you.

    Ram

  • Hi Peng/Deny,

    Please find the modified JM decoder executable which reports CBP mismatch if any.

    ldecod_exe.txt

    Usage : 

    ldecod.exe -i test.264 -o test.yuv > log.txt

    Please rename this attachment ldecode.txt tp ldecode.exe

    I have also attached the image.c from JM decoder on detecting this mismatch and printing.

    image.c.txt

    Please refer IVAHD_CBP_Issue_Analyzer() in this file.

    Thanks

    Ram