DASH-IF-Conformance icon indicating copy to clipboard operation
DASH-IF-Conformance copied to clipboard

Possible AVCConfig False Positive?

Open richardbushell opened this issue 5 years ago • 4 comments

Hi

I have the test MPD here:-

https://living.video/MPD/ibmay.mpd

Our ffmpeg-generated files have been conforming for several years, but every build of ffmpeg after 15th March 2019 results in files that fail to conform. All video representations result in the conformance log error:

(2 repetition\s) ### error: moov-1:trak-1:mdia-1:minf-1:stbl-1:stsd-1 
### Validate Validate_AVCConfig: reserved != 0
### Validate Validate_NALU: reserved != 0

I note that all ffmpeg files after the 15th March result in a final MPD entry for the video codec as:

codecs="avc1.64082A"

whereas before 15th March they didn't specify the 3rd and 4th digits, so:

codecs="avc1.64002A"

Could the log error actually be an error in the Conformance Tool, maybe reporting a false positive incorrectly?

Any expertise here to solve this anomaly would be hugely appreciated!

richardbushell avatar May 22 '19 15:05 richardbushell

I compiled a new ffmpeg and encounter the same AVCConfig,NALU warnings on all video segments. Old codec avc1.4D4028 New codec avc1.4D4828 and AABBCC hex are this:

AA: 42(66)=Base profile, 4D(77)=Main profile, 64(100)=High profile BB: 40(01000000)=profile compatibility constraints set0..set5 flags(high) and 2 reserved(low), example has set1 flag on CC: 28(40) = Level 4.0, 2A(42) = Level 4.2

Content works fine on all test players I have. Is this a bug in a validator or ffmpeg(mp4box?) put reserved bits=1, specifications say reserved=0 must be used to keep them disabled in a far future as well?

Interesting part codec xml attribute does not say reserved bits are used(binary value of BB hex) but validator goes through the segment bytes and found set6+set7=1 set(?).

Murmur avatar Jun 14 '19 09:06 Murmur

This seems to be a bug in the validator. As far as I can see, the profile_compatibility in the AVC config record and constraint flags + reserved bits in SPS does not consider the profile and level combinations as defined in ISO/IEC 14496-15 and ISO/IEC 14496-10. I am putting a "bug" label on this issue.

eceozturk avatar Jul 02 '19 12:07 eceozturk

Is there any ETA on when this will be fixed please? We'd obviously like to ensure continuing conformance.

richardbushell avatar Jul 17 '19 05:07 richardbushell

The related code part in the conformance software is unfortunately a bit old and its update thus requires some time and discussion with DASH-IF beforehand. For this code update, we are communicating with DASH-IF on how to proceed. I will keep posting the news on this as soon as I have them.

eceozturk avatar Jul 18 '19 08:07 eceozturk

This ok now. Closing.

rbouqueau avatar Apr 03 '24 19:04 rbouqueau