Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 06-16-09, 10:28 PM   #13
cehoyos
FFmpeg developer
 
Join Date: Jan 2009
Location: Vienna, Austria
Posts: 467
Default Re: Howto use ffmpeg libavcodec with VDPAU

I do not think the reasons matter much, I just wonder why, first, MythTV does not use FFmpeg svn and, later, I have to explain why I committed things one way or the other.

Carl Eugen
cehoyos is offline   Reply With Quote
Old 06-16-09, 10:37 PM   #14
jyavenard
MythTV developer
 
Join Date: Mar 2006
Posts: 413
Default Re: Howto use ffmpeg libavcodec with VDPAU

Quote:
Originally Posted by cehoyos View Post
This line never looked differently in FFmpeg svn.
So the actual question is: Who was the idiot who changed that line in MythTV?

Carl Eugen
That's not MythTV who changed it ...
It was different with the original nVidia ffmpeg patch (nvidia's mplayer-vdpau-3139462 were using data[2]), and provided even in the current source, it is still copyright nVidia: I assumed things didn't fundamentally change.

The key point, is that line is different for other earlier codecs like XvMC.

All the others use data[2] only, but VDPAU uses data[0]... Why it uses data[2], I have no idea

Very inconsistent, and as I can't find documentation anywhere, it's really not obvious what one should use.

Sorry if I offended anyone, it was late and I was frustrated.
jyavenard is offline   Reply With Quote
Old 06-16-09, 11:08 PM   #15
jyavenard
MythTV developer
 
Join Date: Mar 2006
Posts: 413
Default Re: Howto use ffmpeg libavcodec with VDPAU

Quote:
Originally Posted by cehoyos View Post
I do not think the reasons matter much, I just wonder why, first, MythTV does not use FFmpeg svn and, later, I have to explain why I committed things one way or the other.
I'm guessing the work involved in updating the very old copy of ffmpeg to an updated one was far more important that using the original nvidia patch which applied almost cleanly on the ffmpeg being used.

I have updated ffmpeg used by mythtv on my private copy, there are a lot of changes required within the myth code to make it work.
I'm almost done.

There are things not working properly yet, and I have no ideas why.
Some h264 plays at twice the speed they should (with vdpau or not)
VC1 files do not play with vdpau, no idea why. The procedure is exactly the same for mpeg2, mpeg1 and h264 which work fine.
I have one DVB-T channel (1080i mpeg2) that do not play nice anymore .. lots of stuttering

Jean-Yves
jyavenard is offline   Reply With Quote
Old 06-17-09, 12:03 AM   #16
cehoyos
FFmpeg developer
 
Join Date: Jan 2009
Location: Vienna, Austria
Posts: 467
Default Re: Howto use ffmpeg libavcodec with VDPAU

Quote:
Originally Posted by jyavenard View Post
Sorry if I offended anyone, it was late and I was frustrated.
You did and I do not consider one hour of bug-hunting a lot. (And in case your original question was not rhetorical: There is svn blame to find out.)

To make it absolutely clear once more (esp. since it seems there are people who argue that libavcodec is unusable due to its "frequent" API/ABI changes):
The respective line of code has never changed in FFmpeg svn and this argument is not affected by the copyright notice on top of the file (although after having seen the xine-vdpau source I agree it would have been better to add copyright statements at least to vo_vdpau.c).

Carl Eugen
cehoyos is offline   Reply With Quote
Old 06-17-09, 03:37 AM   #17
jyavenard
MythTV developer
 
Join Date: Mar 2006
Posts: 413
Default Re: Howto use ffmpeg libavcodec with VDPAU

Quote:
Originally Posted by cehoyos View Post
You did
Well, I sincerely apologise...

Quote:
The respective line of code has never changed in FFmpeg svn and this argument is not affected by the copyright notice on top of the file (although after having seen the xine-vdpau source I agree it would have been better to add copyright statements at least to vo_vdpau.c).
I was more confused with the discrepancies between the various decoders. Some expect the buffer to be in data[2] ; some other in data[0]. Would have been nice if it was the same across the board

I have found out why VC1 playback doesn't work with mythtv...
The reason is in: vc1_decode_init with the use of context->get_format

For VDPAU, the vc1-vdpau decoder the default ffmpeg get_format returns PIX_FMT_NONE ; and later this choke during the initialisation with
[vc1_vdpau @ 0x7ffe90e10d60]decoding to PIX_FMT_NONE is not supported.

enum PixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum PixelFormat *fmt){
while (*fmt != PIX_FMT_NONE && ff_is_hwaccel_pix_fmt(*fmt))
++fmt;
return fmt[0];
}
I'm not sure I understand the logic here and why PIX_FMT_VDPAU_VC1 isn't acceptable as this is what it later expects.

it's not an issue with mplayer, because it provides its own custom_format callback.

Jean-Yves
jyavenard is offline   Reply With Quote
Old 06-17-09, 07:07 AM   #18
crisalide
Registered User
 
Join Date: Dec 2008
Posts: 173
Default Re: Howto use ffmpeg libavcodec with VDPAU

Quote:
Originally Posted by cehoyos View Post
(although after having seen the xine-vdpau source I agree it would have been better to add copyright statements at least to vo_vdpau.c).

Carl Eugen
?? What does this mean?
crisalide is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
xorg locks-up with newest nvidia drivers w/ vdpau. theroot NVIDIA Linux 1 06-24-12 12:04 PM
downgrading nvidia drivers ( howto remove newer drivers?) one NVIDIA Linux 5 08-11-02 04:48 PM

All times are GMT -5. The time now is 03:50 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.