DecodeHeader needs different number of H264 frames under different Intel graphics drivers

DecodeHeader needs different number of H264 frames under different Intel graphics drivers

Ritratto di jigong

My debuggings show that the DecoderHeader in the following call needs more data in Intel graphics driver 2770 than that in driver 2778.
sts = m_pmfxDEC->DecodeHeader(&m_mfxBS, &m_mfxVideoParams);

I attached two cases in which I met the problem above. In fact, I also met this situation in other cases. 
//////////////// case 1
V2778 needs 51 bytes

00 00 00 01 27 64 00 28 ac 2b 60 3c 03 3d 80 88
00 00 03 00 08 00 00 03 01 e7 02 00 00 26 25 a0
00 00 8f 09 3d ef 7c 1d a1 c3 2e 00 00 00 01 28
ee 3c b0

v2770 needs 81 bytes

00 00 00 01 27 64 00 28 ac 2b 60 3c 03 3d 80 88
00 00 03 00 08 00 00 03 01 e7 02 00 00 26 25 a0
00 00 8f 09 3d ef 7c 1d a1 c3 2e 00 00 00 01 28
ee 3c b0 00 00 00 01 06 00 07 80 a4 be 00 a4 d0
40 01 07 00 00 03 00 00 03 00 00 04 80 00 00 01 
25

/////case 2////////////////////////////////////////////////

v2778 needs 36 bytes

00 00 00 01 67 64 00 29 ac 34 e5 01 e0 19 68 40
00 65 d3 c0 13 12 d0 23 c6 0c 45 80 00 00 00 01
68 ee bc b0

v 2770 needs 634 bytes

00 00 00 01 67 64 00 29 ac 34 e5 01 e0 19 68 40
00 65 d3 c0 13 12 d0 23 c6 0c 45 80 00 00 00 01
68 ee bc b0 00 00 00 01 06 05 ff ff 49 dc 45 e9
.......(>0)
3d 31 2e 34 30 20 70 62 5f 72 61 74 69 6f 3d 31
2e 33 30 00 80 00 00 00 01 65

//////////////////////////////////////////////////////  Could someone explain what reasons cause the differences? Thanks. Jiuxiang

6 post / 0 new
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di Petter Larsson (Intel)

Hi Jiuxiang,

The behavior is very much dependent on the input stream. Could you please provide the full stream for reference? I'm assuming this is H.264 content?

Regards, Petter

Ritratto di jigong

Hi Petter, I attached a h264 stream for reference.  After read your reply, I did another 2 tests. I have met the same problem. All h264 streams have different content, but all them were encoded by media sdk encoder (sample_encoder.exe) from raw rgb4 data of different resources. Regards, Jiuxiang

Ritratto di Petter Larsson (Intel)

Hi Jiuxiang, I do not see any attachment. Could you try to attach it again?
Regards, Petter

Ritratto di jigong
Hi Petter, See the attachment.

test_1080p.h264 Thanks, Jiuxiang

Allegati: 

AllegatoDimensione
Scarica test_1080p.h2641.24 MB
Ritratto di Petter Larsson (Intel)

Hi Juixiang,

I believe the older driver you used had some issues with DecodeHeader that were resolved. The expected behavior of DecodeHeader is to parse the stream for sequence header info (SPS/PPS) until following NAL delimiter is found, such as start of I-frame.

For the case when bitstream buffer just contains SPS and PPS but you still need to parse the header, you will have to pad the buffer at the end with I-frame NAL header to ensure successful DecodeHeader operation.

Regards, Petter

Accedere per lasciare un commento.