Opened 12 years ago

Closed 11 years ago

Last modified 10 years ago

#4792 closed defect (fixed)

"Wrong" Fallback Video Renderer playing MPEG4(NUV)

Reported by: st3v3.sm1th@… Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Summary: Using the latest SVN (date 27 Feb08) when the playback profile is setup to use XVMC (with renderer set to xvmc-blit) and trying to play an MPEG4(NUV) created using the internal transcoder. The internal player falls back to using the "opengl" renderer (as xvmc can't be used with MPEG4).

VideoOutputXv?: Desired video renderer 'xvmc-blit' not available.

codec 'NUV MPEG4' makes 'opengl,xv-blit,xshm,xlib,' available, using 'opengl' instead.

2008-02-26 22:25:16.703 VDP: SetVideoRenderer?(opengl)

Unfortunately my system (P3 900mhz + Nvidia FX5200) is not capable of playing using OpenGL so playback stalls completely.

WORKAROUNDS:

1) Recompile without OpenGL support. This is OK for me but would be unsuitable for users using packaged builds. 2) Don't use XVMC. Partially acceptable however, produces occasional frame drops on my system on MPEG2.

SUGGESTIONS FOR FIX: (In INCREASING order of personal preference)

1) Change the order of the fallback video renderers so that xv-blit is chosen in preference to opengl. 2) Intelligently fallback.... if the user selects "xvmc-blit" (rather than "xvmc-opengl") as their renderer for xvmc, then choose "xv-blit" as the non-mpeg2 renderer (and "opengl" if set to "xvmc-opengl"). 3) Extend the current playback profile mechanism to allow profiles per codec. I.e. if codec = "MPEG4/NUV" use renderer=X , if codec = "XVID/AVI" use renderer="Y", if container="MKV" use external program="mplayer" etc etc.

(I will try to work on option 2 myself)

Attaching playback logs...

Attachments (5)

front_log_mpeg2_noxvmc.txt (26.6 KB) - added by anonymous 12 years ago.
front_log_mpeg2_xvmc.txt (153.1 KB) - added by anonymous 12 years ago.
front_log_mpeg4_noxvmc.txt (14.6 KB) - added by anonymous 12 years ago.
front_log_mpeg4_xvmc.txt (63.7 KB) - added by anonymous 12 years ago.
mythtv-0.21-ticket-4792.patch (968 bytes) - added by pebender@… 12 years ago.
Patch implementing suggestion 2.

Download all attachments as: .zip

Change History (14)

Changed 12 years ago by anonymous

Attachment: front_log_mpeg2_noxvmc.txt added

Changed 12 years ago by anonymous

Attachment: front_log_mpeg2_xvmc.txt added

Changed 12 years ago by anonymous

Attachment: front_log_mpeg4_noxvmc.txt added

Changed 12 years ago by anonymous

Attachment: front_log_mpeg4_xvmc.txt added

Changed 12 years ago by pebender@…

Patch implementing suggestion 2.

comment:1 Changed 12 years ago by pebender@…

As nobody has attached any patches, I have attached the patch that I created for MiniMyth? to work around the problem. Essentially, it implements suggestion #2. It appears to work. At least it works for me on my VIA EPIA SP8000E.

comment:2 Changed 12 years ago by danielk

Owner: changed from Isaac Richards to danielk
Status: newassigned
Version: unknownhead

I would prefer to add VIA video adapter specific video display profile if someone with a VIA can write one for me...

comment:3 in reply to:  2 Changed 12 years ago by pebender@…

Replying to danielk:

I would prefer to add VIA video adapter specific video display profile if someone with a VIA can write one for me...

Forgive my ignorance, but I how to make that work. I have patched the code to add a video display profile for the VIA video to make things easier for MiniMyth? users. It does XvMC-VLD then Xv.

However, as far as I can tell from my brief look at the source and from the behavior of MythTV, the display profiles are not consulted when falling back due to a codec not supporting the preferred renderer. As a result, even though the first entry is XvMC-VLD and the second entry is Xv, Xv is not selected when the codec does not support XvMC-VLD. As a result, I created the patch that I attached.

What am I missing?

comment:4 Changed 11 years ago by John Robinson <john.robinson@…>

I think pebender@... has it right, please can we have his patch in release-0-21-fixes?

comment:5 Changed 11 years ago by udovdh@…

While using XvMC only on my VIA Epia En12000 I see in the frontend log similar messages:

VideoOutputXv?: Desired video renderer 'xvmc-blit' not available. codec 'None' makes 'xv-blit,xshm,xlib,' available, using 'xv-blit' instead.

Also here xvmc-blit is not used while it should be there? (openchrome driver, fully supporting the VIA videochip)

comment:6 Changed 11 years ago by danielk

Resolution: fixed
Status: assignedclosed

(In [19440]) Fixes #4792. Implements solution #2.

Solution #3 would be nicer, but require a bit more coding. (See ticket for details.)

(This just rejiggers the video renderer fallback priority in the case of XvMC to help out the folks still using VIA HW, so that when they encounter files the XvMC can't handle opengl is not used as the first fallback).

comment:7 Changed 11 years ago by laga

Daniel,

can we get a backport of r19440 to fixes?

comment:8 Changed 10 years ago by chasejunk@…

Can we get this backported to 0.21 fixes branch? At some point along fixes this broke my ability to play transcoded recordings (to MPEG4) because it insists on using opengl instead of xv-blit.

comment:9 in reply to:  8 Changed 10 years ago by anonymous

Replying to chasejunk@…:

Can we get this backported to 0.21 fixes branch? At some point along fixes this broke my ability to play transcoded recordings (to MPEG4) because it insists on using opengl instead of xv-blit.

I am seeing this problem playing xvid files nuvexport. Is this going to be fixed ?

Note: See TracTickets for help on using tickets.