[XviD-devel] DXN profiles + b-frames falsely signal Simple Profile

bond b-o-n-d at gmx.net
Sun Apr 10 12:45:34 CEST 2005


great! :)

hm, i am not sure about it but i think adaptive quantisation is allowed in
simple profile!?


----- Original Message ----- 
From: "pete" <pross at xvid.org>
To: <xvid-devel at xvid.org>
Cc: <b-o-n-d at gmx.net>; <xvid-devel at xvid.org>
Sent: Sunday, April 10, 2005 1:41 AM
Subject: Re: [XviD-devel] DXN profiles + b-frames falsely signal Simple
Profile


> On Fri, 8 Apr 2005 20:24:09 +0200 "bond" <b-o-n-d at gmx.net> wrote:
> > i noticed that its possible to choose a dxn profile and enable b-frames,
> > but still the bitstream signals simple profile @ level 3 (eg when
> > chosing the DXN portable profile), which is obviously breaking the
> > mpeg-4 standard, as simple profile doesnt allow b-frames, and will bork
> > correct mpeg-4 implementations relying on this info to be correct
> >
> > btw divx5 doesnt signal a profile at all in the vo, so signalling SP
> > is surely not part of the dxn profile specs
> >
> > if there is no smart way of setting the profile according to the used
> > settings (eg b-frames) it might be better to always signal advanced
> > simple profile @ level 5 with the divx profiles, which would be any case
> > of chosen settings correctly matching the mpeg-4 standard
>
> hello bond.
>
> thanks for the bug report! xvid-devel often bounces my emails too.
>
> when dxn or unrestricted profiles are selected, vfw passes a
> level/profile id of zero to xvidcore, which in turn, attempts to guess
> the id. however, as you described the guess logic (included below)
> does not consider bframes _or_ adaptive/mpeg quantization _or_
> interlacing. i will commit a fix shortly.
>
> ================================
>   int vol_type_ind = VIDOBJLAY_TYPE_SIMPLE;
>
>   if ((pParam->vol_flags & XVID_VOL_REDUCED_ENABLE)) {
>     vol_type_ind = VIDOBJLAY_TYPE_ART_SIMPLE;
>   }
>
>   if ((pParam->vol_flags & XVID_VOL_QUARTERPEL) ||
>       (pParam->vol_flags & XVID_VOL_GMC)) {
>     vol_type_ind = VIDOBJLAY_TYPE_ASP;
>   }
>
>   [..]
>
>   if (!vol_profile) {
>     switch(vol_type_ind) {
>     case VIDOBJLAY_TYPE_ASP:
>       vol_profile = 0xf5; /* ASP level 5 */
>       break;
>     case VIDOBJLAY_TYPE_ART_SIMPLE:
>       vol_profile = 0x94; /* ARTS level 4 */
>       break;
>     default:
>       vol_profile = 0x03; /* Simple level 3 */
>       break;
>     }
>   }
> =================================
>
> -- pete
>




More information about the XviD-devel mailing list