Kodi Community Forum
Initial native support for DXVA2 in SVN - Time to say goodbye to your firstborns - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Windows (https://forum.kodi.tv/forumdisplay.php?fid=59)
+---- Thread: Initial native support for DXVA2 in SVN - Time to say goodbye to your firstborns (/showthread.php?tid=69306)



- elupus - 2010-02-06

The order of things are important in those includes. There is an invalid dxva.h in the 5.0 windows sdk. You must make sure the 6.0A is before the 5.0 (also obvoiusly make sure the path is correct).


- elupus - 2010-02-06

djmcnz:
As fas as i know there are no versions of mkv's.

eriksmith200:
* Inverse telecine is for converting 30fps back to the original 24fps.
* Telecine is what is used on dvd's to make a 24fps movie a 30fps(actually 60 fields per second) play better on a interlaced TV.

If you have a 60z monitor, you should just play the progressive files as they are...


- djmcnz - 2010-02-06

elupus Wrote:djmcnz:
As fas as i know there are no versions of mkv's.

Forgive me, I suspect it's poor understanding or use of terminology on my part. I've highlighted what I'm referring to in the linked image - perhaps it means something other than I had assumed?

The file in the bottom window of the screenshot has playback problems (you can also see it has a third track which is the subs).

Image


- gorgone - 2010-02-06

@elupus

u say u got no error output but i have
bframe error

http://pastebin.de/3758


Code:
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [NULL] non-existing SPS 1 referenced in buffering period
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [NULL] sps_id out of range
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [NULL] non-existing PPS referenced
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [h264] B picture before any references, skipping
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [h264] decode_slice_header error
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [h264] B picture before any references, skipping
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [h264] decode_slice_header error
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [h264] B picture before any references, skipping
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [h264] decode_slice_header error
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [h264] B picture before any references, skipping
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [h264] decode_slice_header error
14:17:10 T:3184 M:1030934528   ERROR: ffmpeg[C70]: [h264] no frame!

Code:
16:29:51 T:4304 M:859697152   DEBUG: CDVDDemuxFFmpeg::Open - av_find_stream_info starting
16:29:51 T:4320 M:855879680   ERROR: DXVA - failed executing m_process->VideoProcessBlt(target, &blt, &vs, 1, NULL) at line 860 with error 80070057
16:29:51 T:3500 M:853037056   DEBUG: CVideoReferenceClock: vblank clock was late: SleepTime 16
16:29:51 T:4320 M:852348928   ERROR: DXVA - failed executing m_process->VideoProcessBlt(target, &blt, &vs, 1, NULL) at line 860 with error 80070057
16:29:51 T:4320 M:852709376   ERROR: DXVA - failed executing m_process->VideoProcessBlt(target, &blt, &vs, 1, NULL) at line 860 with error 80070057
16:29:51 T:3500 M:851931136   DEBUG: CVideoReferenceClock: vblank clock was late: SleepTime 17
16:29:52 T:4320 M:850681856   ERROR: DXVA - failed executing m_process->VideoProcessBlt(target, &blt, &vs, 1, NULL) at line 860 with error 80070057
16:29:52 T:3500 M:850001920   DEBUG: CVideoReferenceClock: vblank clock was late: SleepTime 21
16:29:52 T:4320 M:849530880   ERROR: DXVA - failed executing m_process->VideoProcessBlt(target, &blt, &vs, 1, NULL) at line 860 with error 80070057
16:29:52 T:3500 M:849457152   DEBUG: CVideoReferenceClock: vblank clock was late: SleepTime 0
16:29:52 T:3500 M:848629760   DEBUG: CVideoReferenceClock: vblank clock was late: SleepTime 16
16:29:52 T:4320 M:847765504   ERROR: DXVA - failed executing m_process->VideoProcessBlt(target, &blt, &vs, 1, NULL) at line 860 with error 80070057
16:29:52 T:4304 M:847179776   DEBUG: ffmpeg[10D0]: [mpegts] MAX_READ_SIZE:5000000 reached
16:29:52 T:4304 M:859254784   DEBUG: CDVDDemuxFFmpeg::Open - av_find_stream_info finished

Code:
CLSID: {1365BE7A-C86A-473C-9A41-C0A6E82C9FA3}
Filter: N:\Filme\m2ts\Pirates of the Caribbean end of the world.m2ts
Pin: Video

- Connection media type:

Video: MPEG4 Video (H264) 1920x1080 23.98fps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31435641-0000-0010-8000-00AA00389B71}
formattype: FORMAT_MPEG2_VIDEO {E06D80E3-DB46-11CF-B4D1-00805F6CBBEA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 254



- onomatopellan - 2010-02-06

Hi, these are my tests with XBMC DVDPlayer DXVA. Keep up the good work!

AthlonXP 2800+, ASUS AH3450 AGP 8x (ATI HD3450), Windows 7 32 bits -> XBMC with dvdplayer DXVA = total green screen (subtitles appear), the same happens with VLC. MPC-HC works flawlessly, also XBMC with dsplayer.

Core 2 Duo T6600 (with SSE4.1), ATI mobility HD4530, Windwos 7 64 bits -> XBMC with dvdplayer DXVA = works also with subtitles. VLC works too, but the cpu usage is too high.

I've read the VLC team are working on it, so it seems a matter of time to see some ATI cards working too in XMBC! Big Grin

Quote:But as we recently explained Jean-Baptiste Kempf developer in the project, the fact that VLC is not a single player DirectShow / Media Foundation, but a solution for reading / video encoding complete the complicated task.

Thus, the software must retrieve the data processed within the GPU to the CPU to return to continue their treatment before posting.

The GPU used only for decoding: more complex but more flexible

The advantage of this solution is that it can continue to apply any filter VLC on accelerated video, and redirect the output of your choice (via display any rendering tool, re-encoding, VLC video editor ...).

The disadvantage is that this solution seems less effective in terms of performance, especially with GPUs from AMD.

According to information we could gather, this problem had been encountered by the teams when developing Adobe Flash 10.1, which also operates the GPU for decoding HD video encoded in H.264.

Efficient recovery of data from a Radeon: the solution exists

The step of retrieving data within the GPU seems more complex than NVIDIA and request the establishment of a specific solution.

For now the teams have decided to VLC through the function MOVNTDQA introduced in SSE 4.1 to improve things, which is not optimal. In effect, this limits the proper functioning of the application compatible processors (Penryn and above)

We have of course made in relation to the VLC developers with teams from AMD which appear to have indicated a more viable solution for data recovery within VLC.

VLC 1.1 to a still more effective? Stay Tuned!

With any luck, it should be implemented shortly and will soon become functional for users of Radeon. We will keep you informed of course.

source: http://www.pcinpact.com/actu/news/54944-vlc-11-radeon-amd-gpu-h264-hd-vdpau-vaapi-adobe-apple-flash-101-mpc-hc-intel-movntdqa.htm


- Hitcher - 2010-02-06

Still green screen with my Radeon HD 2400 and if this helps my log is full of these -

WARNING: DXVA - decoder problem of status 3 with 6


- onomatopellan - 2010-02-06

Hitcher Wrote:Still green screen with my Radeon HD 2400 and if this helps my log is full of these -

WARNING: DXVA - decoder problem of status 3 with 6
I have the same problem. What CPU do you have?


- Hitcher - 2010-02-06

onomatopellan Wrote:I have the same problem. What CPU do you have?
Intel® Core™2 Duo CPU E6550 @ 2.33GHz

Full debug log -

http://pastebin.com/m37de2a9a


- onomatopellan - 2010-02-06

Hitcher Wrote:Intel® Core™2 Duo CPU E6550 @ 2.33GHz

Full debug log -

http://pastebin.com/m37de2a9a
It seems your CPU doesn't support SSE4.1 instructions.
Quote:MMX, SSE, SSE2, SSE3, SSSE3, Enhanced Intel SpeedStep Technology (EIST), Intel 64, XD bit (an NX bit implementation), iAMT2 (Intel Active Management), Intel VT, TXT

As i said in my first post, SSE4.1 is necessary to see video in the current implementation of ffmpeg dxva2 with ATI cards.

VLC team is working on it, I think soon your card will work with XBMC dxva.


- Hitcher - 2010-02-06

But it works for Boxee and DSPlayer.


- onomatopellan - 2010-02-06

IIRC those are made from MPC-HC, which works with my HD3450.
It seems XMBC DVDPlayer uses the VLC (ffmpeg dxva patch) method.


- Ronner - 2010-02-06

I'm guessing this will not work using either an nvidia 7300 or nvidia 6200LE ?


- Kevin Jones - 2010-02-06

Not exactly sure why but after re-downloading the complete svn, it compiles. Thanks for the help.


- Elis - 2010-02-06

Hitcher Wrote:But it works for Boxee and DSPlayer.

All the above implementations, including Boxee, require full bitstream decoding. Only ATI cards equiped with UVD 2 and up can handle that. On ATI UVD 2.0 is available from Radeon 4000.

If it's working in Boxee its probably because Boxee is switching to software decoding. This is true for DSplayer as well as they are both based on MPC decoders.


- ashlar - 2010-02-06

onomatopellan Wrote:It seems your CPU doesn't support SSE4.1 instructions.


As i said in my first post, SSE4.1 is necessary to see video in the current implementation of ffmpeg dxva2 with ATI cards.

VLC team is working on it, I think soon your card will work with XBMC dxva.
I'm not sure, there are rare video files that do work.

Here's one that doesn't: http://pastebin.com/f5458fb9c
Here's the relevant mediainfo:
Code:
General
Complete name                    : \\SERVER\Extracted Downloads\MKV Test\High41-1.mkv
Format                           : Matroska
File size                        : 8.34 MiB
Duration                         : 7s 934ms
Overall bit rate                 : 8 815 Kbps
Encoded date                     : UTC 2010-02-05 15:55:07
Writing application              : mkvmerge v3.1.0 ('Happy up here') built on Jan 19 2010 12:09:24
Writing library                  : libebml v0.7.9 + libmatroska v0.8.1

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : [email protected]
Format settings, CABAC           : Yes
Format settings, ReFrames        : 5 frames
Muxing mode                      : Container [email protected]
Codec ID                         : V_MPEG4/ISO/AVC
Duration                         : 7s 917ms
Bit rate                         : 7 130 Kbps
Width                            : 1 920 pixels
Height                           : 880 pixels
Display aspect ratio             : 2.2:1
Frame rate                       : 23.976 fps
Resolution                       : 8 bits
Colorimetry                      : 4:2:0
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.176
Stream size                      : 6.73 MiB (81%)

Audio
ID                               : 2
Format                           : DTS
Format/Info                      : Digital Theater Systems
Codec ID                         : A_DTS
Duration                         : 7s 934ms
Bit rate mode                    : Constant
Bit rate                         : 1 510 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Surround: L R, LFE
Sampling rate                    : 48.0 KHz
Resolution                       : 24 bits
Video delay                      : 51ms
Stream size                      : 1.43 MiB (17%)

All in all, though, yes: the grand majority of files do not play and/or crash XBMC.