Modify

Ticket #4792 (closed defect: fixed)

Opened 4 years ago

Last modified 2 years ago

"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

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

Change History

Changed 4 years ago by anonymous

Changed 4 years ago by anonymous

Changed 4 years ago by anonymous

Changed 4 years ago by anonymous

Changed 4 years ago by pebender@…

Patch implementing suggestion 2.

comment:1 Changed 4 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 follow-up: ↓ 3 Changed 4 years ago by danielk

  • Owner changed from ijr to danielk
  • Status changed from new to assigned
  • Version changed from unknown to head

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 4 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 4 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 4 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 3 years ago by danielk

  • Status changed from assigned to closed
  • Resolution set to fixed

(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 3 years ago by laga

Daniel,

can we get a backport of r19440 to fixes?

comment:8 follow-up: ↓ 9 Changed 3 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 2 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 ?

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.