Log in

View Full Version : JM decoder crashes with a lost NAL unit... (erc_do_p.c)‏


Redhat_doom
21st January 2009, 19:31
Hi,

I have encoded a YUV file with an H.264 encoder (X.264). Then to simulate the channel error, I drop some of the NAL units of this encoded file (from the half of the file (frame #156) to the end of it (frame #300)). But unfortunately, when I try to decode it with JM decoder I got the following errors:

> ldecod.exe decoder.cfg

case #1: in decoder.cfg we set Err Concealment mode = 0
in this case I got this error on frame #156 : An unintentional loss of pictures occures! Exit

case #2: in decoder.cfg we set Err Concealment mode = 1 or 2
in this case at the begining of the decoding process I got the following error:
0000(I) 0 0 10 4:2:0 140
Assertion failed: conceal_from_picture != NULL, file c:\jm\lencode\src\erc_do_p.c, line 1725

Please note that I can play this encoded file (which some of its NAL units have been dropped) with VLC player with no error. But what is the problem? Could you please help me? Thank you in advance!

Redhat_doom
22nd January 2009, 09:33
Hi,

I have encoded a YUV file with an H.264 encoder (X.264). Then to simulate the channel error, I drop some of the NAL units of this encoded file (from the half of the file (frame #156) to the end of it (frame #300)). But unfortunately, when I try to decode it with JM decoder I got the following errors:

> ldecod.exe decoder.cfg

case #1: in decoder.cfg we set Err Concealment mode = 0
in this case I got this error on frame #156 : An unintentional loss of pictures occures! Exit

case #2: in decoder.cfg we set Err Concealment mode = 1 or 2
in this case at the begining of the decoding process I got the following error:
0000(I) 0 0 10 4:2:0 140
Assertion failed: conceal_from_picture != NULL, file c:\jm\lencode\src\erc_do_p.c, line 1725

Please note that I can play this encoded file (which some of its NAL units have been dropped) with VLC player with no error. But what is the problem? Could you please help me? Thank you in advance!

I tried to drop only one NAL unit at the middle of the bitstream but the problem is still remained!! It is strange that even in this case, JM decoder crashes just at the begining of the decoding process (first frame) while as I mentioned, the lost NAL unit is located in the middle of the file/bitstream!! I think this problem can be considered as a bug for JM decoder. But what is your opinion? Thanks.

Dust Signs
23rd January 2009, 11:09
Hi,

I think you better ask this kind of specific question on the official mailing list: http://mailman.rwth-aachen.de/mailman/listinfo/jvt-experts

Dust Signs

Indio
24th January 2009, 23:27
Hi,

Basically didn't want to start a new thread and I noticed this one, so I' like to ask my question here.
I have an .h264 stream produced by a grabber card, but when I want to decode it, the decoder says "Error NAL code 26" and it happens also with 27, 28 and 0 code numbers. I deliberately missed out the details, I only would like to know what is the NAL code? I haven't managed to find out so far.

Redhat_doom
24th January 2009, 23:38
what did you mean by "NAL code"? Did you mean, NAL structure?

Indio
25th January 2009, 00:30
Hehe, I have no idea that NAL stands for a code or structure. I just wrote here what error messages I got. Then can you say sg about NAL structure?

Redhat_doom
25th January 2009, 07:28
You can find the NAL structure in x264.h.
typedef struct
{
int i_ref_idc; /* nal_priority_e */
int i_type; /* nal_unit_type_e */
int i_numb_mbs; /* number of macroblocks in this NAL */

/* This data are raw payload */
int i_payload;
uint8_t *p_payload;
} x264_nal_t;
Hope it helps!

Indio
25th January 2009, 12:04
Thanks, I checked the x264.h, but in itself it didn't help a lot. In really I just wanted to know the nature of the error, not the details in source code level. Nevertheless I found a brief description about NAL units in a patent (http://www.freshpatents.com/H-264-decoding-method-and-device-for-detection-of-nal-unit-error-dt20080424ptan20080095243.php).

Gabriel_Bouvigne
26th January 2009, 09:40
NAL unit types are described within the h.264 standard.