----- Original Message -----

> From: Hendrik Leppkes <[email protected]>
> To: libav development <[email protected]>
> Cc: 
> Sent: Sunday, January 22, 2012 1:22 AM
> Subject: [libav-devel] [PATCH 2/2] vc1: always read the bfraction element for 
> interlaced fields
> 
> Hi,
> 
> attached patch fixes an inconsistency in the VC-1 interlaced fields
> header parsing.
> I validated the changes against the spec and the reference decoder,
> and this does seem more correct.


Doesn't mach my copy of spec or the ref-code. BFRACTION is only present
in B-pictures, not P. My copy of ref-code says:

    if(vc1_InterlacedField == pPosition->ePictureFormat)
    {
        if(TRUE == pSeqParams->RefDistFlag)
        {
            if( (TRUE == vc1_PictureTypeIsRef(pParams->ePictureType[0]))    || 
                (TRUE == vc1_PictureTypeIsRef(pParams->ePictureType[1]))    )
            {

which translates to (in lavc):

if (v->fcm == ILACE_FIELD)
{
    if (v->refdist_flag)
    {
        if (s->pict_type != AV_PICTURE_TYPE_B ||
            s->pict_type != AV_PICTURE_TYPE_BI)
        {
....

Hence I think our code is correct. The spec seems to agree.
I may be wrong though. I'd like a second dev to cross-check
against the ref-code.

> 
> I don't know if this actually affected any files, i couldn't find one,
> but with the state of the VC-1 interlaced decoding in general, its
> rather hard to tell.
> 
> - Hendrik
> 
> _______________________________________________
> libav-devel mailing list
> [email protected]
> https://lists.libav.org/mailman/listinfo/libav-devel
> 

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to