Opened 17 years ago

Closed 16 years ago

#883 closed enhancement (invalid)

Render the OSD/subtitle after scaling the video

Reported by: szo@… Owned by: reimar
Priority: normal Component: core
Version: HEAD Severity: minor
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

When I was watching a small resolution video in full-screen mode, I noticed that even tough the video itself is acceptably/enjoyably scaled up, the subtitle is aliased, hard to read. I think it's because it's rendered on the video in it's original size and later it's scaled up. If the scaling/rendering order would be reversed, the final picture would be better in these cases.

Change History (9)

comment:1 by compn, 17 years ago

yes, this would be a great feature.

comment:2 by reimar, 17 years ago

There is already a myriad of possibilities to do this: -vo x11, -vo gl, -vf scale=1024:-3. Of course if you want it to magically work without any speed loss that is a bit much to ask (there are ways, but then you'd loose the antialiasing at least).

comment:3 by szo@…, 16 years ago

Reimar, do I understand correctly that you're saying it's technically not possible to do it that way that first the video is scaled up and later the text rendered on it using accelerated/antialiashed methods, or is it just low priority wish?

Meanwhile I noticed another thing that would benefit from it: if the video's aspect is not the same as the monitor's (quite usual case), then in fullscreen mode, we could use the black area to render the subtitle on. Currently it's not possible to offset the subtitle outside the video's frame.

comment:4 by reimar, 16 years ago

(note when I say anti-aliased/alpha-blended I mean that the character borders are smooth and partially transparent)
I am saying that you can have either
1) Hardware scaling, scaled and anti-aliased/alpha blended OSD with OpenGL (implemented in MPlayer)
2) Software scaling, scaled and anti-aliased/alpha blended OSD (implemented in MPlayer, e.g. -vo x11 -zoom, or even with -vo xv if you use -vf scale manually)
3) Hardware scaling, scaled but not anti-aliased/alpha blended OSD, at least possible with -vo xv and cards that support colour-key, but not implemented in MPlayer. Since IIRC no card produced in the last two years or so supports colour-key anymore I doubt there is much sense in implementing this.

comment:5 by szo@…, 16 years ago

Ok, now I understand the technical issue here.
The other question remains, however: using the black stripe in fullscreen mode to rendering the subtitle. Is it plausible to render the black stripe and the subtitle first and then scale up to fullscreen?

comment:6 by reimar, 16 years ago

I think -vf expand (in particular the aspect option) will do what you want, but I might have misunderstood your question.

comment:7 by szo@…, 16 years ago

Something like that, only I'd like to have it automatically :)

comment:8 by cben@…, 16 years ago

(In reply to comment #7)

Something like that, only I'd like to have it automatically :)

Try adding "vf=expand=::::4/3" (or 16/9 or 16/10 depending on your screen) to your ~/.mplayer/config.
This does it automatically for all movies.
But it does it always and not only in fullscreen mode, which is slightly sub-optimal.

comment:9 by szo@…, 16 years ago

Resolution: invalid
Status: newclosed

Thanks, that seems to work!

Note: See TracTickets for help on using tickets.