Microsoft DirectX 9.0

Setting Allowable Viewing Levels

This topic applies to Windows XP Service Pack 1 only.

TV ratings are a combination of three things: rating system, rating level, and attributes.

The rest of this document describes how to use read or set ratings for allowable viewing levels.

Each rating system can be treated as a permission grid, where each column specifies the allowable permissions and each row specifies a rating level. The use of this grid model allows very specific permissions to be set, and to even interleave allowable viewing levels with disallowed viewing levels. Because one level is prohibited does not require that more restrictive levels be prohibited as well. The following table shows a sample permission grid using the US TV rating system.

US TV rating system (US_TV)


Not used Not used Not used
None 0 0 0 0 0 0 0 0
Y 0 0 0 0 0 0 0 0
Y7 0 0 0 0 0 0 0 0
G 1 0 0 0 0 0 0 0
PG 0 1 0 0 0 0 0 0
14 0 1 1 0 1 0 0 0
MA 1 0 0 0 0 0 0 0
None 2 0 0 0 0 0 0 0 0

The preceding table shows the enumerated values for the attributes as column headings, and the levels as rows. Each row shows an 8-bit attribute field that is passed into the filter to describe viewing permissions. A value of 1 means restricted, and a value of 0 means not restricted.

The preceding table can be interpreted as follows:

Notice that the IsBlocked bit blocks playback of that level regardless of any other attributes that are set, so when setting the IsBlocked bit, it is not necessary to specify any other restrictions (which will be ignored anyway).

Also notice how the restricted rated-G row does not prevent playback of more restrictive levels. This is an unlikely example of the use of this property, but it does show that levels do not affect each other, and that permissions for all levels must be set.

The enumerated names for levels and attributes are only used to make the code more readable. Any enumeration values used for levels or attributes in the same ordinal position can be substituted for any other. The essential idea is an eight-bit by eight-bit grid.

Permission grids must be set for each system that an application is likely to receive. Therefore, an application receiving United States broadcasts should complete permission grids for both MPAA and US TV styles; applications receiving Canadian broadcasts should complete permission grids for both English- and French-Canadian systems, and so on.

Unrated Programs

A program is unrated if a rating has not yet been detected in the broadcast. All programs are considered unrated when they are received, until a valid program rating is processed by the XDSToRat object.

Different broadcasters may post ratings information at different time intervals, and content may remain unrated for a significant amount of time. Also, programs can be changed to an unrated status by certain XDS codes. See EIA-608B, section for details.

Note that "unrated" is not the same as the "None" or "Exempt" ratings in the US or Canadian TV rating systems, or "Not Rated" in the MPAA system. These are valid ratings, and are treated as such.

See Also