Log in

View Full Version : Purpose of NAL units with filler data RBSP?


PowerGamer
12th January 2010, 22:40
While experimenting with different Bluray demuxing software I found out that some h264 video streams on Tinkerbell bluray I was trying to demux contain NAL units with filler data RBSP. Some of these NALs were just 00 00 01 0C 80 and some contained alot of FF bytes between 0C and 80.

When demuxing such video stream with eac3to those filler data NALs are removed by eac3to but are kept intact by other demuxing programs (such as tsmuxer, xport and Blu-ray Demuxer Pro). Upon muxing h264 stream with filler data NALs into mkv using mkvtoolnix those filler data NALs are also removed.

The spec http://akuvian.org/src/x264/ITU-T_H264.pdf.gz only mentions that NAL units with filler data RBSP may exist in video stream but does not explain in what situations and for what purpose they may be needed. Anyone can please explain possible purpose of such filler data NALs and why those NALs were present on Bluray disk in first place?

Ghitulescu
13th January 2010, 09:22
Did you read the answer in your original topic (http://forum.doom9.org/showthread.php?p=1362933#post1362933)?
Did you read the explanations in table 7.1 concerning the nal_unit_type of 0 and 24-31?

To cut out costs, most hardware processors have a rather limited amount of internal buffering, which forces the designers to use a rather constant bitrate, if that drops it might be quite useful to raise it artificially. For a disk a VBR stream requires again buffering and a complicated technique to provide a "smooth" data stream (you can't accelerate and decelerate the speed of the disk just to keep the VBR). For satellites you need to feed the modulators with again a rather constant data flow. We are talking here about RealTime and limited bandwidth.

If you're into this then I think you may go to EBU or IEEE and get the standards.

Dark Shikari
13th January 2010, 09:32
Filler RBSP is totally useless in most real situations. Filler is required for CBR HRD, however.

Some notes:

1) Filler is usually applied with filler SEI, not filler RBSP.
2) Filler is needed for CBR mux situations, such as a cable television mux or any other transmission line where the speed is an absolutely constant frequency. Of course, it can easily be added by the muxer or the transmitter.

There is no reason that filler SEIs should ever be on a Blu-ray, as Blu-rays use VBR HRD.

Ghitulescu
15th January 2010, 20:06
There is no reason that filler SEIs should ever be on a Blu-ray, as Blu-rays use VBR HRD.

Oh, yes, if the data flow reaches much too lower bitrates, it will force the optical pickup to slow-down (or even to idle) or to "dry spin", with lost times on recovering the next sector to be read in both cases. Alternatively you can implement a cache memory, which is expensive. It's not a problem with HDD or with PC drives, but one that affects the real time devices.

Dark Shikari
15th January 2010, 20:14
Oh, yes, if the data flow reaches much too lower bitrates, it will force the optical pickup to slow-down (or even to idle) or to "dry spin", with lost times on recovering the next sector to be read in both cases. Alternatively you can implement a cache memory, which is expensive. It's not a problem with HDD or with PC drives, but one that affects the real time devices.Then why does the Blu-ray spec not require such a thing?