All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: H.264 engine differences between fermi and tesla cards
@ 2013-11-21 22:07 Benjamin Morris
  2013-11-21 22:22 ` Ilia Mirkin
  0 siblings, 1 reply; 7+ messages in thread
From: Benjamin Morris @ 2013-11-21 22:07 UTC (permalink / raw)
  To: ibmirkin-Re5JQEeQqe8AvxtiuMwx3w
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	gpu-public-documentation-DDmLM1+adcrQT0dZR+AlfA

On 11/19/2013 08:16 PM, Ilia Mirkin wrote:
> Hello,
> 
> I hope this is an appropriate style of request for this forum. I added
> code to support video decoding on the tesla cards that have a
> similar-style video decoding engine to fermi cards (i.e. G98, GT21x,
> the IGP's -- the falcon-controlled decoding engines, rather than the
> xtensa-controlled ones), by using pretty much the same logic that we
> had for the fermi cards. This worked great for MPEG-2 and VC-1.
> However for H.264 videos, it appears to decode a few frames, and then
> the engine hangs.
> 
> In traces, I noticed that the nvidia driver reloads the BSP/VP/PPP
> engines every second or so. Is this done as a powersaving technique,
> or is it done as a workaround for some issue? Does nouveau need to do
> the same thing? If so, any specifics on the reload condition?
> 
> Any other ideas as to what might be going wrong? Are there some subtle
> differences between the fermi and pre-fermi engines? Or a difference
> when decoding H.264 files vs MPEG2/VC1 files? Perhaps there's other
> information I can provide. BTW, this is with using the firmware blobs
> from the NVIDIA proprietary driver.
> 
> Thanks,
> 
>   -ilia

As you observed, the nvidia driver unloads the video engines on certain GPUs when they go idle to save power.  You can disable this behavior by loading the nvidia kernel module with: modprobe nvidia NVreg_RegistryDwords="RMPowerFeature=64"

Regarding your H.264 hangs, the most likely cause is mis-programming the video engine.  I suggest double-checking that the nouveau driver sends the exact same parameters for each decode operation as the nvidia driver does.  In particular, check that buffer alignments match up, as those may vary between GPU generations.

Thanks,
Ben

^ permalink raw reply	[flat|nested] 7+ messages in thread
* H.264 engine differences between fermi and tesla cards
@ 2013-11-20  4:16 Ilia Mirkin
  0 siblings, 0 replies; 7+ messages in thread
From: Ilia Mirkin @ 2013-11-20  4:16 UTC (permalink / raw)
  To: gpu-public-documentation-DDmLM1+adcrQT0dZR+AlfA
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org

Hello,

I hope this is an appropriate style of request for this forum. I added
code to support video decoding on the tesla cards that have a
similar-style video decoding engine to fermi cards (i.e. G98, GT21x,
the IGP's -- the falcon-controlled decoding engines, rather than the
xtensa-controlled ones), by using pretty much the same logic that we
had for the fermi cards. This worked great for MPEG-2 and VC-1.
However for H.264 videos, it appears to decode a few frames, and then
the engine hangs.

In traces, I noticed that the nvidia driver reloads the BSP/VP/PPP
engines every second or so. Is this done as a powersaving technique,
or is it done as a workaround for some issue? Does nouveau need to do
the same thing? If so, any specifics on the reload condition?

Any other ideas as to what might be going wrong? Are there some subtle
differences between the fermi and pre-fermi engines? Or a difference
when decoding H.264 files vs MPEG2/VC1 files? Perhaps there's other
information I can provide. BTW, this is with using the firmware blobs
from the NVIDIA proprietary driver.

Thanks,

  -ilia

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-12-07  4:24 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-21 22:07 H.264 engine differences between fermi and tesla cards Benjamin Morris
2013-11-21 22:22 ` Ilia Mirkin
     [not found]   ` <CAKb7UvgEhxuZhPEMA63Un_AWBNx9dhbDSoAbcYn_QF_DLZqrcQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-30 20:54     ` Ilia Mirkin
     [not found]       ` <CAKb7UvgcqusTdaf==mzYWRVUUp8UQukCv_h894ix3MdRXHDhrQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-12-07  0:36         ` Benjamin Morris
2013-12-07  1:06           ` Ilia Mirkin
     [not found]             ` <CAKb7UvhjLpvdet161kyJi4oKWjqYrcT5oY+A+0+PUPQVjMtr+g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-12-07  4:24               ` Ilia Mirkin
  -- strict thread matches above, loose matches on Subject: below --
2013-11-20  4:16 Ilia Mirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.