Re: [PATCH] edid-decode: Cannot support NonMixed MS without MS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 29, 2024 at 4:16 PM Hans Verkuil <hverkuil-cisco@xxxxxxxxx> wrote:
>
> Hi Sebastian,
>
> On 29/05/2024 12:02, Sebastian Wick wrote:
> > When `Max Stream Count` is zero, the sink does not support multistream
> > and thus cannot support NonMixed MS.
> >
> > An EDID with Max Stream Count = 0 and Non Mixed MS = 1 can be found in
> > linuxhw/EDID ./Digital/TCL/TCL5655/1723FF2DC6D1 at commit cff7fe4d44.
> >
> > Signed-off-by: Sebastian Wick <sebastian.wick@xxxxxxxxxx>
> > ---
> >  parse-cta-block.cpp | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git ./parse-cta-block.cpp ../parse-cta-block.cpp
> > index 4d2afc6..7cd7a3a 100644
> > --- ./parse-cta-block.cpp
> > +++ ../parse-cta-block.cpp
> > @@ -2498,10 +2498,11 @@ static void cta_hdmi_audio_block(const unsigned char *x, unsigned length)
> >               fail("Empty Data Block with length %u.\n", length);
> >               return;
> >       }
> > -     if (x[0] & 3)
> > +     if (x[0] & 3) {
> >               printf("    Max Stream Count: %u\n", (x[0] & 3) + 1);
> > -     if (x[0] & 4)
> > -             printf("    Supports MS NonMixed\n");
> > +         if (x[0] & 4)
> > +                 printf("    Supports MS NonMixed\n");
> > +     }
>
> I would actually leave this as-is, but instead add a fail() message
> if MS NonMixed is set, but Max Stream Count == 0.
>
> It's really an EDID conformity failure, and it should be reported as such.

I'm all for adding a fail() message but I'm afraid our implementation
which tries to be compatible with the output here won't have access to
the MS NonMixed bit when Max Stream Count == 0.

Would this work for you?

    if (x[0] & 3) {
        printf("    Max Stream Count: %u\n", (x[0] & 3) + 1);
        if (x[0] & 4)
            printf("    Supports MS NonMixed\n");
        else
                fail("NonMixed MS support indicated but MS is unsupported\n");
    }

>
> Regards,
>
>         Hans
>
> >
> >       num_descs = x[1] & 7;
> >       if (num_descs == 0)
>






[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux