Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > New and alternative a/v containers

Reply
 
Thread Tools Search this Thread Display Modes
Old 16th June 2019, 13:22   #23521  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 9,794
This particular stream seems to lack proper recovery information, or has them in a way that FFmpeg doesn't support. No IDR frames, and no Recovery Point SEI. As such, the decoder doesn't know when the image is "clean" and not just artifacts.
I would recommend to report this to ffmpeg, since thats what its based on.

This has really nothing to do with being MPEG-TS - although in general its always nice to keep in mind that MPEG-TS is not designed for file-based playback or seeking - its a broadcast format. Thats why Blu-rays keep a seperate index for seeking, which you of course lose if you just take one .m2ts file from the disc.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 16th June 2019 at 13:26.
nevcairiel is offline   Reply With Quote
Old 16th June 2019, 14:06   #23522  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 2,614
When I said that I have the same problems with HD transport streams I am talking about the German DVB-T2 broadcasts. They are transmitted with HEVC video and E-AC3 or AAC-LATM audio, and they are not really seekable with DirectShow based source filters.

I did not analyze the transmitted streams if they have IDR frames or Recovery Point SEIs. All I know is that they play well in VLC, but in MPC-HC and Tiny Player they are not seekable. And this time it is not my underperforming hardware, this is on a Core i5 third generation with 8GB RAM under Win7-64.
manolito is offline   Reply With Quote
Old 16th June 2019, 15:03   #23523  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,479
Quote:
Originally Posted by manolito View Post
I have the same problems with HD transport streams I am talking about the German DVB-T2 broadcasts. They are transmitted with HEVC
Really the same problems? IIRC LAV does seek in HEVC/ts but doesn't wait for keyframes so the image looks corrupted unless you wait for a keyframe. So I guess is handles AVC/TS and HEVC/TS differently because otherwise the sample posted by GCRaistlin should be seekable (albeit with corruption until next I frame).


Mkvmerge has the option --engage all_i_slices_are_key_frames for such files. But interestingly enabling that option breaks seeking for the resulting mkv, then.
sneaker_ger is offline   Reply With Quote
Old 17th June 2019, 11:58   #23524  |  Link
GCRaistlin
Registered User
 
GCRaistlin's Avatar
 
Join Date: Jun 2006
Posts: 262
manolito
Muxing to MKV (with mkvmerge) didn't help.

I don't understand about FFmpeg - how does my issue concern to it?
__________________
Magically yours
Raistlin
GCRaistlin is offline   Reply With Quote
Old 17th June 2019, 12:35   #23525  |  Link
v0lt
Registered User
 
Join Date: Dec 2008
Posts: 1,171
@nevcairiel
Does the D3D11 decoder work in Windows 8?
v0lt is offline   Reply With Quote
Old 17th June 2019, 12:45   #23526  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 9,794
Quote:
Originally Posted by v0lt View Post
@nevcairiel
Does the D3D11 decoder work in Windows 8?
It should if the drivers implement all the required things.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 17th June 2019, 19:51   #23527  |  Link
bigboyman
Registered User
 
Join Date: May 2019
Posts: 19
Hello everyone. While it might sound a bit stupid, I have a question about LAV.

Recenlty I've been wondering how to check if LAV Video Decoder is working properly. I ask because when I open the OSD (EVR (CP)), while it says it's using LAV, it also says it's not using DXVA (which I am using on LAV). GPU activity also doesn't report usage for decoding. So what gives?
bigboyman is offline   Reply With Quote
Old 17th June 2019, 20:06   #23528  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,669
If you are playing a file your GPU cannot decode in hardware LAV will fallback to software decoding.

10 bit H.264 is probably the most common video format that GPUs cannot decode. If you open LAV Video config while it is playing it will show you what it is using but it is probably working properly.
__________________
madVR options explained

Last edited by Asmodian; 17th June 2019 at 20:08.
Asmodian is offline   Reply With Quote
Old 17th June 2019, 20:25   #23529  |  Link
bigboyman
Registered User
 
Join Date: May 2019
Posts: 19
Quote:
Originally Posted by Asmodian View Post
If you are playing a file your GPU cannot decode in hardware LAV will fallback to software decoding.

10 bit H.264 is probably the most common video format that GPUs cannot decode. If you open LAV Video config while it is playing it will show you what it is using but it is probably working properly.
Here's the pin info (what I assume you meant by config). It is H.264, but other than that I really can't tell if it's working properly. Not to mention I have H.264 enabled in HW codecs.

Quote:
Filter : LAV Video Decoder - CLSID : {EE30215D-164F-4A92-A4EB-9D4C13390F9F}

- Connected to:

CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
Filter: LAV Splitter Source (internal)
Pin: Video

- Connection media type:

Video: MPEG4 Video (H264) 1456x1080 23.976fps

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: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 173

VIDEOINFOHEADER:
rcSource: (0,0)-(1456,1080)
rcTarget: (0,0)-(1456,1080)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083

VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 182
dwPictAspectRatioY: 135
dwControlFlags: 0x00000000
dwReserved2: 0x00000000

MPEG2VIDEOINFO:
dwStartTimeCode: 0
cbSequenceHeader: 41
dwProfile: 0x0000006e
dwLevel: 0x00000032
dwFlags: 0x00000004

BITMAPINFOHEADER:
biSize: 40
biWidth: 1456
biHeight: 1080
biPlanes: 1
biBitCount: 15
biCompression: AVC1
biSizeImage: 2950560
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0

pbFormat:
0000: 00 00 00 00 00 00 00 00 b0 05 00 00 38 04 00 00 ...........8...
0010: 00 00 00 00 00 00 00 00 b0 05 00 00 38 04 00 00 ...........8...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 00 00 00 00 00 00 00 00 b6 00 00 00 87 00 00 00 ...........‡...
0040: 00 00 00 00 00 00 00 00 28 00 00 00 b0 05 00 00 ........(......
0050: 38 04 00 00 01 00 0f 00 41 56 43 31 a0 05 2d 00 8.......AVC1 .-.
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070: 00 00 00 00 29 00 00 00 6e 00 00 00 32 00 00 00 ....)...n...2...
0080: 04 00 00 00|00 1e 67 6e 00 32 a6 c7 28 44 05 b0 ......gn.2(D.
0090: 22 7e 59 a8 10 10 0a 00 00 07 d2 00 01 77 01 1e "~Y........w..
00a0: 30 63 08 c0 00 07 68 e8 43 82 72 c8 b0 0c...hC‚rȰ
__________________
SW:
Windows 10
MPC-HC (latest)
LAV Video, Audio, Splitter
madVR, EVR (CP), ...
XYsub, ASS, VobSub, ...
HW:
i7-6700HQ @ 2.60 GHz
GTX 960M (4 GB)
16 GB DDR4 RAM
1TB HDD + 128GB SSD
bigboyman is offline   Reply With Quote
Old 17th June 2019, 20:42   #23530  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,479
Quote:
Video: MPEG4 Video (H264)

dwProfile: 0x0000006e

biBitCount: 15
biCompression: AVC1
Seems to be 10 bit H.264 like Asmodian suspected. (6e = High 10 Profile, 4:2:0 10 bits per sample equal 15 bits per pixel on average)

In general you can see if/what decoder is used by LAV by opening the activate LAV Video instance's settings during playback. In the first tab it shows "Active Decoder:" and "Active Hardware Accelerator:".

Last edited by sneaker_ger; 17th June 2019 at 20:48.
sneaker_ger is offline   Reply With Quote
Old 17th June 2019, 20:43   #23531  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 5,835
Quote:
biBitCount: 15
should be a 10 bit file so lavfilter has to fallback to software decoding "avcodec".
huhn is online now   Reply With Quote
Old 17th June 2019, 22:54   #23532  |  Link
bigboyman
Registered User
 
Join Date: May 2019
Posts: 19
Quote:
Originally Posted by huhn View Post
should be a 10 bit file so lavfilter has to fallback to software decoding "avcodec".
It is (with hardware acc. at "<none>"). Now the question is what can I do so it uses hardware instead.
Is it even feasible or good for performance?
__________________
SW:
Windows 10
MPC-HC (latest)
LAV Video, Audio, Splitter
madVR, EVR (CP), ...
XYsub, ASS, VobSub, ...
HW:
i7-6700HQ @ 2.60 GHz
GTX 960M (4 GB)
16 GB DDR4 RAM
1TB HDD + 128GB SSD
bigboyman is offline   Reply With Quote
Old 17th June 2019, 23:05   #23533  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,479
No PC GPU supports H.264 10 bit decoding. Nothing you can no.
But also not necessary. 10 bit H.264 1456x1080 23.976fps is a piece of cake for any half-decent CPU.
sneaker_ger is offline   Reply With Quote
Old 17th June 2019, 23:09   #23534  |  Link
el Filou
Registered User
 
el Filou's Avatar
 
Join Date: Oct 2016
Posts: 528
You can't, it's not supported by the fixed function decode block of the GPU.
Maybe you can try to find some other filter that would be able to use shaders to decode it but IMO it's not worth it, just use LAV with the CPU.
__________________
HTPC: Windows 10 1809, MediaPortal 1, LAV Filters, ReClock, madVR. DVB-C TV, Panasonic GT60, 6.0 speakers Denon 2310, Core 2 Duo E7400, GeForce 1050 Ti
el Filou is offline   Reply With Quote
Old 17th June 2019, 23:49   #23535  |  Link
lvqcl
Registered User
 
Join Date: Aug 2015
Posts: 124
By the way: according to https://en.wikipedia.org/wiki/Nvidia_PureVideo, your videocard has only VDPAU Feature Set E. Which means that it cannot decode VP9, and doesn't have hardware HEVC decoder. It uses hybrid CPU/GPU decoding for 8-bit HEVC, and cannot decode 10-bit HEVC.

Hardware video decoder in your CPU (i7-6700HQ, Skylake) is probably more powerful.
lvqcl is offline   Reply With Quote
Old 17th June 2019, 23:53   #23536  |  Link
bigboyman
Registered User
 
Join Date: May 2019
Posts: 19
Quote:
Originally Posted by el Filou View Post
You can't, it's not supported by the fixed function decode block of the GPU.
Maybe you can try to find some other filter that would be able to use shaders to decode it but IMO it's not worth it, just use LAV with the CPU.
Tried some different files and the gain is not huge. CPU and GPU loads are relatively small, so no big deal.

However, what IS pretty interesting is that some H.264 files actually support hardware acc. while other H.264 as well as non-H.264 files don't. Anyone want to crack that mystery?

Here's some snaps and the log:

Quote:
Filter : LAV Video Decoder - CLSID : {EE30215D-164F-4A92-A4EB-9D4C13390F9F}

- Connected to:

CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
Filter: LAV Splitter Source (internal)
Pin: Video

- Connection media type:

Video: MPEG4 Video (H264) 1920x1080 23.976fps

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: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 167

VIDEOINFOHEADER:
rcSource: (0,0)-(1920,1080)
rcTarget: (0,0)-(1920,1080)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417084

VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 16
dwPictAspectRatioY: 9
dwControlFlags: 0x00000000
dwReserved2: 0x00000000

MPEG2VIDEOINFO:
dwStartTimeCode: 0
cbSequenceHeader: 35
dwProfile: 0x00000064
dwLevel: 0x00000028
dwFlags: 0x00000004

BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1080
biPlanes: 1
biBitCount: 12
biCompression: AVC1
biSizeImage: 3110400
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0

pbFormat:
0000: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0010: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0020: 00 00 00 00 00 00 00 00 3c 5d 06 00 00 00 00 00 ........<]......
0030: 00 00 00 00 00 00 00 00 10 00 00 00 09 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 28 00 00 00 80 07 00 00 ........(...€...
0050: 38 04 00 00 01 00 0c 00 41 56 43 31 00 76 2f 00 8.......AVC1.v/.
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070: 00 00 00 00 23 00 00 00 64 00 00 00 28 00 00 00 ....#...d...(...
0080: 04 00 00 00|00 1a 67 64 00 28 ac d9 40 78 02 27 ......gd.(@x.'
0090: e5 c0 44 00 00 03 01 f4 00 00 5d aa 3c 60 c6 58 D......]<`X
00a0: 00 05 68 e9 3b 2c 8b ..h;,‹
__________________
SW:
Windows 10
MPC-HC (latest)
LAV Video, Audio, Splitter
madVR, EVR (CP), ...
XYsub, ASS, VobSub, ...
HW:
i7-6700HQ @ 2.60 GHz
GTX 960M (4 GB)
16 GB DDR4 RAM
1TB HDD + 128GB SSD
bigboyman is offline   Reply With Quote
Old 17th June 2019, 23:54   #23537  |  Link
bigboyman
Registered User
 
Join Date: May 2019
Posts: 19
Quote:
Originally Posted by lvqcl View Post
By the way: according to https://en.wikipedia.org/wiki/Nvidia_PureVideo, your videocard has only VDPAU Feature Set E. Which means that it cannot decode VP9, and doesn't have hardware HEVC decoder. It uses hybrid CPU/GPU decoding for 8-bit HEVC, and cannot decode 10-bit HEVC.

Hardware video decoder in your CPU (i7-6700HQ, Skylake) is probably more powerful.
You mean integrated graphics? Because it's the only way I can select the GPU in LAV, and it's pretty weak.
__________________
SW:
Windows 10
MPC-HC (latest)
LAV Video, Audio, Splitter
madVR, EVR (CP), ...
XYsub, ASS, VobSub, ...
HW:
i7-6700HQ @ 2.60 GHz
GTX 960M (4 GB)
16 GB DDR4 RAM
1TB HDD + 128GB SSD
bigboyman is offline   Reply With Quote
Old 18th June 2019, 00:02   #23538  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,479
Quote:
Originally Posted by bigboyman View Post
However, what IS pretty interesting is that some H.264 files actually support hardware acc. while other H.264 as well as non-H.264 files don't. Anyone want to crack that mystery?
Quote:
dwProfile: 0x00000064

biBitCount: 12
64 = High Profile (8 bit)
8 bits per sample 4:2:0 = 12 bits per pixel
Well supported by hardware for many years.

No mystery.
sneaker_ger is offline   Reply With Quote
Old 18th June 2019, 07:27   #23539  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,936
Some hardware decoder chipsets are picky about the video resolutions. Videos in common standard resolutions have best chances; arbitrarily cropped videos may fail.

And even more, hardware decoder chips have complexity limits. They may not support the whole range of Profile@Level combinations and long GOPs, and a few more constraints do exist.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 18th June 2019, 22:53   #23540  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,669
Quote:
Originally Posted by LigH View Post
long GOPs
Long GOPs too? I have been using the max length GOPs for all my "hardware compatible" (level 4.1) encodes.
__________________
madVR options explained
Asmodian is offline   Reply With Quote
Reply

Tags
decoders, directshow, filters, splitter

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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


All times are GMT +1. The time now is 16:18.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.