[x264-devel] Help to debug h264 headers (or video) generation in kernel driver

Andrey Utkin andrey.utkin at corp.bluecherry.net
Sat Sep 26 20:04:48 CEST 2015


On Sat, Sep 26, 2015 at 8:50 PM, Max Lapshin <max.lapshin at gmail.com> wrote:
> Can you look at lower 5 bits in first byte of each nal unit?  What are they?

See lines like "tw5864_isr: vlc buf: hex: f2000000 df3b93ed c4005034
b5d65aff" below. 8-digit groups are from %08x, so bytes are in
reversed order. They get merged with headers generated in
tw5864-h264.c

[29029.622842] tw5864 0000:07:05.0: enabling channel 0
[29029.622887] tw5864 0000:07:05.0: Prepared slice header for frame #0
in GOP #1. Tail: 1 bits, 0x00
[29029.664069] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 2080, vlc_crc 0x97540a5e, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29029.664085] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: f2000000
df3b93ed c4005034 b5d65aff
[29029.664087] tw5864 0000:07:05.0: CPU-computed CRC: 97540a5e
[29029.664101] tw5864 0000:07:05.0: Prepared slice header for frame #0
in GOP #2. Tail: 1 bits, 0x00
[29033.660250] tw5864 0000:07:05.0: enabling VLC irq again thru count reaching
[29033.660257] tw5864 0000:07:05.0: enabling VLC irq again
[29033.661490] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 2112, vlc_crc 0xda31fe3a, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29033.661503] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: f2000000
cd3f93ed eac50014 a3d62f2e
[29033.661504] tw5864 0000:07:05.0: CPU-computed CRC: da31fe3a
[29033.661518] tw5864 0000:07:05.0: Prepared slice header for frame #0
in GOP #3. Tail: 3 bits, 0x00
[29037.660419] tw5864 0000:07:05.0: enabling VLC irq again thru count reaching
[29037.660427] tw5864 0000:07:05.0: enabling VLC irq again
[29037.661681] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 2104, vlc_crc 0x77bf1b28, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29037.661684] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 3c000000
12ac49b9 c50014cd 5e2f2eea
[29037.661686] tw5864 0000:07:05.0: CPU-computed CRC: 77bf1b28
[29037.661701] tw5864 0000:07:05.0: Prepared slice header for frame #0
in GOP #4. Tail: 3 bits, 0x00
[29037.700394] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 1 to 2
[29037.700409] tw5864 0000:07:05.0: enabling VLC irq again
[29037.701635] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 2092, vlc_crc 0xf01f46c8, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29037.701639] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 3c000000
f3cf64bb 7a310045 a8d78b8b
[29037.701640] tw5864 0000:07:05.0: CPU-computed CRC: f01f46c8
[29037.701652] tw5864 0000:07:05.0: Prepared slice header for frame #0
in GOP #5. Tail: 3 bits, 0x00
[29037.740343] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 2 to 3
[29037.740358] tw5864 0000:07:05.0: enabling VLC irq again
[29037.741540] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 2080, vlc_crc 0xaf9782d7, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29037.741544] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 3c000000
f7ce64bb 310014cd adb5d63f
[29037.741546] tw5864 0000:07:05.0: CPU-computed CRC: af9782d7
[29037.741557] tw5864 0000:07:05.0: Prepared slice header for frame #0
in GOP #6. Tail: 3 bits, 0x00
[29037.780279] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 3 to 0
[29037.780283] tw5864 0000:07:05.0: enabling VLC irq again
[29037.781483] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 2112, vlc_crc 0xe28ebf8e, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29037.781486] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 3c000000
f3cf64bb 7a310045 a8f58b8b
[29037.781488] tw5864 0000:07:05.0: CPU-computed CRC: e28ebf8e
[29037.781500] tw5864 0000:07:05.0: Prepared slice header for frame #0
in GOP #7. Tail: 5 bits, 0x40
[29037.820258] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 0 to 1
[29037.820265] tw5864 0000:07:05.0: enabling VLC irq again
[29037.821489] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 2076, vlc_crc 0xce2af8f9, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29037.821507] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 0f000000
076b522e 8b01289a ba5e5cd4
[29037.821509] tw5864 0000:07:05.0: CPU-computed CRC: ce2af8f9
[29037.821520] tw5864 0000:07:05.0: Prepared slice header for frame #0
in GOP #8. Tail: 5 bits, 0x40
[29037.860216] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 1 to 2
[29037.860237] tw5864 0000:07:05.0: enabling VLC irq again
[29037.861447] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 2052, vlc_crc 0xe1eb358f, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29037.861465] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 0f000000
ea5b5b2e 7a8a0128 715dd78b
[29037.861467] tw5864 0000:07:05.0: CPU-computed CRC: e1eb358f
[29037.861478] tw5864 0000:07:05.0: Prepared slice header for frame #0
in GOP #9. Tail: 5 bits, 0x40
[29037.900165] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 2 to 3
[29037.900169] tw5864 0000:07:05.0: enabling VLC irq again
[29037.901356] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 2072, vlc_crc 0xbd954d6a, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29037.901362] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 0f000000
7c28d22e 5e0c40d1 eaf5e2a2
[29037.901365] tw5864 0000:07:05.0: CPU-computed CRC: bd954d6a
[29037.901374] tw5864 0000:07:05.0: Total VLC bits: 16564, residue:
13196, bitalign: 29, our tail_nb_bits: 5
[29037.901401] tw5864 0000:07:05.0: Prepared slice header for frame #1
in GOP #9. Tail: 5 bits, 0x40
[29037.940111] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 3 to 0
[29037.940115] tw5864 0000:07:05.0: enabling VLC irq again
[29037.941621] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 1204, vlc_crc 0x9af9055f, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29037.941633] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 0f000000
71c443f8 ff279e01 ad261ef1
[29037.941635] tw5864 0000:07:05.0: CPU-computed CRC: 9af9055f
[29037.941642] tw5864 0000:07:05.0: Total VLC bits: 9623, residue:
6725, bitalign: 29, our tail_nb_bits: 5
[29037.941653] tw5864 0000:07:05.0: Prepared slice header for frame #2
in GOP #9. Tail: 5 bits, 0x40
[29037.980107] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 0 to 1
[29037.980112] tw5864 0000:07:05.0: enabling VLC irq again
[29037.981653] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 1096, vlc_crc 0x3dd13444, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29037.981668] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 0f000000
feffffff dbc79b12 21ac23ae
[29037.981670] tw5864 0000:07:05.0: CPU-computed CRC: 3dd13444
[29037.981677] tw5864 0000:07:05.0: Total VLC bits: 8758, residue:
5790, bitalign: 29, our tail_nb_bits: 5
[29037.981693] tw5864 0000:07:05.0: Prepared slice header for frame #3
in GOP #9. Tail: 5 bits, 0x40
[29038.020054] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 1 to 2
[29038.020059] tw5864 0000:07:05.0: enabling VLC irq again
[29038.021568] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 1408, vlc_crc 0x5da26eed, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29038.021583] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 0f000000
feffffff 1071d56a 62fb5a47
[29038.021584] tw5864 0000:07:05.0: CPU-computed CRC: 5da26eed
[29038.021592] tw5864 0000:07:05.0: Total VLC bits: 11247, residue:
7918, bitalign: 29, our tail_nb_bits: 5
[29038.021607] tw5864 0000:07:05.0: Prepared slice header for frame #4
in GOP #9. Tail: 5 bits, 0x40
[29038.059998] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 2 to 3
[29038.060003] tw5864 0000:07:05.0: enabling VLC irq again
[29038.061495] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 1128, vlc_crc 0x1202c5cb, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29038.061508] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 0e000000
23f4c423 34e21ff1 040442ff
[29038.061510] tw5864 0000:07:05.0: CPU-computed CRC: 1202c5cb
[29038.061517] tw5864 0000:07:05.0: Total VLC bits: 9007, residue:
5736, bitalign: 29, our tail_nb_bits: 5
[29038.061531] tw5864 0000:07:05.0: Prepared slice header for frame #5
in GOP #9. Tail: 5 bits, 0x40
[29038.099995] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 3 to 0
[29038.100003] tw5864 0000:07:05.0: enabling VLC irq again
[29038.101488] tw5864 0000:07:05.0: tw5864_isr: vlc done. channel
0x00000000, vlc_len 1204, vlc_crc 0x2b6b7125, vlc_buf_rdy 0x00,
vlc_buf_reg 0x00000000
[29038.101501] tw5864 0000:07:05.0: tw5864_isr: vlc buf: hex: 0f000000
5aeb5bfd fd10fe08 f597e45b
[29038.101503] tw5864 0000:07:05.0: CPU-computed CRC: 2b6b7125
[29038.101510] tw5864 0000:07:05.0: Total VLC bits: 9609, residue:
6540, bitalign: 29, our tail_nb_bits: 5
[29038.101524] tw5864 0000:07:05.0: Prepared slice header for frame #6
in GOP #9. Tail: 5 bits, 0x40
[29038.139956] tw5864 0000:07:05.0: enabling VLC irq again thru
TW5864_SENIF_ORG_FRM_PTR1 update from 0 to 1


-- 
Bluecherry developer.


More information about the x264-devel mailing list