[MPlayer-dev-eng] [PATCH] DeckLink video output
Georg Lippitsch
georg.lippitsch at gmx.at
Tue Aug 18 11:38:56 CEST 2009
Am Tuesday 18 August 2009 05:06:36 schrieb Reimar Döffinger:
> As for audio, the initializations are pointless.
>
> > + switch (result)
> > + {
> > + case bmdOutputFrameDropped:
> > + mp_msg(MSGT_VO, MSGL_ERR, "[decklink] Frame dropped\n");
> > + break;
>
> I suspect this might get really ugly trying to play e.g. 60 fps content
> on a 50 fps display with vsync...
I don't understand what you mean with this.
The card itself only dropps frames in erroneous situations, this has nothing
to do with vsync.
What might get ugly is "Frame late", because if one frame is late, all
following are late too. There should be a counter instead of a message for
every frame.
> You are really failing unless the resolution _exactly_ matches a video
> mode?
You are right, I didn't know that the card is able to play anything else than
a matching resolution, but I just tried, and it actually is! So I will choose
the next highest resolution, a smaller video is then stamped in the center of
the screen. Is that what you want?
> That very much limits what this can play, not to mention that it does
> not really handle aspect (correctly).
That's unfortunately a point, but I didn't find anything handling aspect in
the API. If it is possible, it must be somewhare in the blanking lines, but I
don't know where.
> Not to mention that MPlayer is not supposed to switch video modes unless
> -vm is used (not that I can find a concept of "current mode" in the
> DeckLink API).
You set the "current mode" with EnableVideoOutput(BMDDisplayMode displayMode).
Please consider that this is a TV card, not a graphics adapter! It is only
able to play with predefined modes (NTSC, PAL, HD 720 and HD 1080), and also
does it's own timing. You HAVE to select one of these modes before anything
can be played.
> draw_slice is not optional, see DOCS/tech/libvo.txt
libvo.txt says "this displays YV12 pictures", but packed UYVY or RGBA is
needed here. Does draw_slice also work with that?
Georg
More information about the MPlayer-dev-eng
mailing list