Commit Graph

192 Commits

Author SHA1 Message Date
Marco Castelluccio
533966fbc4 Bug 1313339 - Also use modules loaded in the process to decide about DXVA blocklisting. r=gerald 2016-12-24 10:17:46 +01:00
Ting-Yu Chou
417dd84962 Bug 1322465 part 3 - Use explicit/MOZ_IMPLICIT for the unary constructors in dom/. r=Ehsan
MozReview-Commit-ID: GV26INAj3k2

--HG--
extra : rebase_source : 9943b8451a69ebd3b8141ae3f9db7c4a48d7852c
2016-12-16 15:49:53 +08:00
Chris Peterson
4b56a6fac1 Bug 1324183 - Part 1: Remove some Windows Vista and 7 version checks in dom/media/. r=gerald
--HG--
extra : amend_source : 64fbc1c09fd0b5d1b7c560716f8b23003662fe95
extra : histedit_source : b94fa9bb663c607affe43740e3a546861d6a74fb
2016-12-17 16:59:52 -08:00
Carsten "Tomcat" Book
c7a033c3e2 merge mozilla-inbound to mozilla-central a=merge 2016-11-14 10:22:06 +01:00
Gerald Squelart
adda9b7a03 Bug 1316524 - Use 'media.wmf.skip-blacklist' to set some gfxVars - r=mattwoodrow
Reversing bug 1313343, as MediaPrefs are not available from the UI process.
Instead media.wmf.skip-blacklist is used when setting D3D-blacklisting gfxVars,
leaving them empty if we want to skip these blacklists.

MozReview-Commit-ID: JYED4ovC0jq

--HG--
extra : rebase_source : 087230ba95927ced52d7af502b96a988b4077c31
2016-11-11 11:25:52 +11:00
Gerald Squelart
6f36d2e8a8 Bug 1313343 - media.wmf.skip-blacklist controls D3D blaclists - r=cpearce
If pref "media.wmf.skip-blacklist" is true, disable D3D blacklisting based on
"media.wmf.disable-d3d9-for-dlls" and "media.wmf.disable-d3d11-for-dlls".

MozReview-Commit-ID: IothZlUnK7h

--HG--
extra : rebase_source : 1731b39808526fce70d84342a016bd25b6cd8571
2016-11-07 18:12:51 +11:00
Matt Woodrow
5375ddbb83 Bug 1300681 - Use gfxVars for DXVA blacklist prefs so that they work in the GPU process. r=dvander,gerald 2016-11-03 09:57:18 +13:00
Matt Woodrow
552d016944 Bug 1300678 - Use gfxPrefs for media vars that get accessed from the GPU process. r=jya 2016-11-03 09:57:18 +13:00
Matt Woodrow
7f923f0bd6 Bug 1316222 - Use SyncRunnable instead of NS_DISPATCH_SYNC in WMFVideoMFTManager since the latter can spin the event loop. r=jya 2016-11-11 15:04:06 +13:00
Jean-Yves Avenard
fea3627b11 Bug 1292374: P2. Change preference name as it's no longer restricted to intel. r=gerald
MozReview-Commit-ID: EKZjkj9SFDw

--HG--
extra : rebase_source : e022610307232edc17b746f01879b2cddc16b6ef
2016-10-28 17:03:25 +11:00
Joe Olivas
5753f883ef Bug 1292374: P1. Add support for full hardware acceleration in VP9. r=jya
MozReview-Commit-ID: ENawyqrzVgH

--HG--
extra : rebase_source : 53e6879b9f2841de5880778503bf20baada15583
2016-10-27 09:59:00 +11:00
Gerald Squelart
0e173b53b1 Bug 1176218 - p13. Reject Resolutions that are too big for Windows' decoder - r=jya
The WMFDecoderModule can override Supports(TrackInfo) to reject resolutions
that we know are too big for the platform decoder.

MozReview-Commit-ID: dU905wjZcJ

--HG--
extra : rebase_source : 40e5987deeffff652a88264f157391c0dbc0a2da
2016-10-07 15:51:34 +11:00
Matt Woodrow
a36eef926a Bug 1300682 - Part 5: Use KnowsCompositor to initialize decoders and create one for VideoDecoderParent to use. r=nical,jya 2016-10-07 21:13:33 +13:00
Chris Pearce
1c82c47cb2 Bug 1279171 - Add Windows Version checks in wmf::MFStartup() and PDMFactory::CreatePDMs(). r=mattwoodrow
I was able to reproduce the crash in CMFPropertyStore::CreatePropertyStore
once when running under Win95 Compatibility mode. Normally Firefox crashes
trying to start up under Compatibility mode, so it's hard for me to verify
that this patch fixes the crash. We'll just have to push it and see.

In compatibility mode, GetVersionEx() returns the Windows version being
emulated, so if we add version checks around where we start up WMF, we
should catch the users running in compatibility mode.

We can also refrain from starting the RemoteDecoderModule if we're not
going to be able to use WMF in the GPU process; if we're on Windows less
than Vista, or if we're emulating Windows less then Vista.

MozReview-Commit-ID: Iu4B1NcgHio

--HG--
extra : rebase_source : 80e9f446a60c7f4edcb1219ec2702e68376e3aa0
2016-10-04 16:05:53 +13:00
Eric Rahm
e5be6e71b3 Bug 1307223 - Don't warning multiple times about WMF dlls failing to load. r=cpearce
We already report failure in |LoadDlls| on the initial failure to load, there's
no need to warn more than once per session.

MozReview-Commit-ID: FhsR2ZaMSLT

--HG--
extra : rebase_source : ae7d94af5c9d9253b82b2d45dc6967b5b21c6492
2016-10-03 14:02:15 -07:00
Jean-Yves Avenard
dd2a72e7cc Bug 1297311: P1. Always recreate a decoder when SPS changes. r=cpearce
This allow consistency between platforms. A decoder will now always be shutdown and another one created if the video configuration changes.

MozReview-Commit-ID: 1SPzhVuBrip

--HG--
extra : rebase_source : f4d0347c4686d2f3ec0e4cf065a6c3fa36b7ea06
2016-09-26 12:28:07 +10:00
Matt Woodrow
cedd3bc438 Bug 1302918 - Add PVideoBridge to share textures with the compositor. r=dvander,nical 2016-09-23 09:44:26 +12:00
Carsten "Tomcat" Book
23879d2b18 Merge mozilla-central to mozilla-inbound 2016-09-21 12:07:46 +02:00
Matt Woodrow
32054a681a Bug 1288618 - Part 3: Avoid accessing MediaPrefs from the GPU process within WMF code. r=cpearce 2016-09-21 21:24:43 +12:00
Matt Woodrow
fb5b16533d Bug 1288618 - Part 2: Allow allocating D3D9/11 Images when we don't have a recycling allocator available. r=nical 2016-09-21 21:24:43 +12:00
Matthew Woodrow
76c0ae8105 Bug 1288618 - Part 1: Use gfxVars for CanUseHardwareVideoDecoding so we can access it in the GPU process. r=dvander 2016-08-25 15:48:35 +12:00
Carsten "Tomcat" Book
f918af64da Backed out 16 changesets (bug 1288618) for bustage on a CLOSED TREE
Backed out changeset 06187d250f7a (bug 1288618)
Backed out changeset 2a47f8ea1d89 (bug 1288618)
Backed out changeset e179c8e8265d (bug 1288618)
Backed out changeset 25396a1af922 (bug 1288618)
Backed out changeset e98f835c6ee5 (bug 1288618)
Backed out changeset 24df0e89b273 (bug 1288618)
Backed out changeset f8bbdabdb6da (bug 1288618)
Backed out changeset 8b0adeab93df (bug 1288618)
Backed out changeset 95f23366de82 (bug 1288618)
Backed out changeset 63a9c689e1d5 (bug 1288618)
Backed out changeset 8f67443dccb8 (bug 1288618)
Backed out changeset 4e7fe69d5f45 (bug 1288618)
Backed out changeset 53b113acee42 (bug 1288618)
Backed out changeset 2583ae4e2e3b (bug 1288618)
Backed out changeset 75a61d0e71b7 (bug 1288618)
Backed out changeset da740b4fd484 (bug 1288618)
2016-09-21 08:44:11 +02:00
Matt Woodrow
56fc7b3464 Bug 1288618 - Part 3: Avoid accessing MediaPrefs from the GPU process within WMF code. r=cpearce
--HG--
extra : rebase_source : 8c8d88ed1b858d59555e2c698f7faf653c8a75e6
2016-09-21 15:36:09 +12:00
Matt Woodrow
30d2768a45 Bug 1288618 - Part 2: Allow allocating D3D9/11 Images when we don't have a recycling allocator available. r=nical
--HG--
extra : rebase_source : 23db70f7fed43217f8e8a27b0ab73435cdd3b895
2016-09-21 15:36:09 +12:00
Matthew Woodrow
cc6a2ea1e1 Bug 1288618 - Part 1: Use gfxVars for CanUseHardwareVideoDecoding so we can access it in the GPU process. r=dvander
--HG--
extra : rebase_source : 3e5e4d3cebeda21a080a0f5c9bcec95ba54f960c
2016-08-25 15:48:35 +12:00
Jean-Yves Avenard
5bb9584b9b Bug 1303673: P7. Provide MFT error code. r=cpearce
MozReview-Commit-ID: BnKR6CKk3eU

--HG--
extra : rebase_source : 53c105d1da372bd89698756988723f9e5ce8bed0
2016-09-20 16:18:17 +10:00
Carsten "Tomcat" Book
d2c3fe7fd3 merge autoland to mozilla-central a=merge 2016-09-14 12:07:02 +02:00
David Anderson
07336b7d13 Protect ImageBridgeChild's singleton with a StaticMutex. (bug 1298938 part 5, r=mattwoodrow)
--HG--
extra : rebase_source : 974ad32cfaf3ba6d1af75d8857f0a35da5aa3641
2016-09-13 16:30:57 -07:00
Jean-Yves Avenard
f4efa8be06 Bug 1299072: P4. Return extended failure details to reader. r=gerald
We provide even further details for the GMP decoder. Other decoders to follow.

MozReview-Commit-ID: 7NxJPec8xWv

--HG--
extra : rebase_source : f44120983070e5c107ecd5cafc762da90aab44bf
2016-09-10 09:56:53 +10:00
Carsten "Tomcat" Book
0f2c669a48 merge mozilla-inbound to mozilla-central a=merge 2016-09-09 12:02:43 +02:00
Chris Pearce
e99ce4a9c7 Bug 1294003 - Ensure we destroy DXVA2Manager on main thread if DXVA init fails. r=mattwoodrow
If initializing DXVA fails, we end up destroying the DXVA2Manager on the
decode task queue. The DXVA2Manager asserts that it's destroyed on the
main thread, so we should dispatch a task to destroy it on the appropriate
thread instead of destorying it on the wrong one.


MozReview-Commit-ID: 2pbeMOm74et

--HG--
extra : rebase_source : c4a6871877747d4e04494c638d83b225decaf249
2016-09-09 16:12:50 +12:00
Matt Woodrow
99bf9b18df Bug 1301294 - Remove unnecessary nsresult return value from MediaDataDecoder interface. r=jya 2016-09-09 15:50:37 +12:00
Jean-Yves Avenard
747d2faea4 Bug 1294154: Handle case where WMF is unable to determine time and duration. r=mattwoodrow
The WMF decoder doesn't handle well the case where a single frame was given to decode.
When draining, the output is a correctly decoded frame but with a time of 0 and a duration set at 1/30th.
This is a workaround

MozReview-Commit-ID: JbjgNmPXKIM

--HG--
extra : rebase_source : f25a1fd503678383265ec5053b41f3116ff52da0
2016-09-02 20:49:17 +10:00
Carsten "Tomcat" Book
7c6c7db247 Merge mozilla-central to autoland 2016-09-07 17:26:11 +02:00
Chris Pearce
c34ab00fb4 Bug 1274498 - Refuse to play H.264 files which have one or more dimensions less than 48 pixels. r=jya
We've had large numbers of shutdown hangs with the Windows H.264 decoder stuck
calling IMFTransform::ProcessOutput(), blocking shutdown. I can reproduce this
with videos with dimensions less than 32 pixels.

Chrome also encountered this with the WMF decoder:
https://bugs.chromium.org/p/chromium/issues/detail?id=373288

The WMF H.264 Decoder is documented to have a minimum resolution of 48x48 pixels.

So this patch causes us to reject H.264 files with either width or height less
than 48 pixels.

I have been able to play files down to 34x34 pixels on Windows 10, but it seems
safest to just follow the what's documented in MSDN, and reject files that are
smaller than the documented minimum.

MozReview-Commit-ID: 5peP6UGnAaB

--HG--
extra : rebase_source : 6e29812642bc3f8ca0f5b39b36064a6d50e09ea7
2016-09-07 14:16:29 +12:00
Jean-Yves Avenard
7eeb483897 Bug 1297265: P11. Rework WMF Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: GX1izQd55Di

--HG--
extra : rebase_source : f3206a7d6e84d16f4e396819c19d306bd899b1ba
2016-09-01 19:43:16 +10:00
Phil Ringnalda
9f470c98e5 Backed out 11 changesets (bug 1297265) for gtest timeouts during MediaDataDecoder.H264
Backed out changeset 04d9b7160ac9 (bug 1297265)
Backed out changeset c7bffd1ba7fd (bug 1297265)
Backed out changeset ad1915ff688b (bug 1297265)
Backed out changeset 67a97304d44d (bug 1297265)
Backed out changeset e6b9e6184457 (bug 1297265)
Backed out changeset 30636ac0790f (bug 1297265)
Backed out changeset cc70d3a139bc (bug 1297265)
Backed out changeset 345a577c92a1 (bug 1297265)
Backed out changeset ec1f3ac8751c (bug 1297265)
Backed out changeset da9117375d2e (bug 1297265)
Backed out changeset dd4c7aafcc3d (bug 1297265)
2016-08-31 19:49:28 -07:00
Jean-Yves Avenard
223ee82386 Bug 1297265: P11. Rework WMF Decoder use of InputExhausted. r=kamidphish
MozReview-Commit-ID: GX1izQd55Di

--HG--
extra : rebase_source : efc6198d4fa7914b13f808216bd6394ca5b53d43
2016-08-30 15:22:54 +10:00
Matt Woodrow
0242a22c94 Bug 1229945 - Null check D3D9 creation function in DXVA2Manager. r=ajones 2016-09-07 15:04:31 +12:00
Sotaro Ikeda
1ff245b181 Bug 1259571 - Reduce tearing with basic layers on Windows r=dvander
--HG--
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
2016-08-23 15:18:55 -07:00
Ryan VanderMeulen
01c4e8cc1b Merge inbound to m-c. a=merge 2016-08-19 09:52:53 -04:00
Nathan Froyd
029b26c7e4 Bug 1296078 - avoid passing nsCString objects to %s format string codes; r=gerald 2016-08-18 23:44:51 -04:00
James Cheng
21f18593ca Bug 1295920 - Replace enum with enum class in PlatformDecoderModule.h. r=jya
MozReview-Commit-ID: lDjsTI82pV

--HG--
extra : rebase_source : 9ec7b89e3af8fe0e50ea4bb48d464367e49c86c4
2016-08-17 17:24:13 +08:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Matt Woodrow
05bc28c9a1 Bug 1279136 - Specify a format for our D3D9 video device to avoid the driver needing to compute one. r=cpearce 2016-08-09 13:28:51 +12:00
Carsten "Tomcat" Book
90f6c2d3fd Backed out changeset 02d76f158f3d (bug 1259571) for talos xperf regressions
--HG--
rename : gfx/thebes/DeviceManagerDx.cpp => gfx/thebes/DeviceManagerD3D11.cpp
rename : gfx/thebes/DeviceManagerDx.h => gfx/thebes/DeviceManagerD3D11.h
2016-08-08 11:53:51 +02:00
Sotaro Ikeda
41a9daf725 Bug 1259571 - Try tearing-free drawing with GDI r=dvander,mattwoodrow
--HG--
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
2016-08-07 23:54:12 -07:00
Matt Woodrow
f323872778 Bug 1292032 - Clean up VideoData static constructor methods. r=jya
--HG--
extra : rebase_source : e025c9a15ad00e970f9027f72c78b5d6effbc301
2016-08-04 15:31:52 +12:00
Bryce Van Dyk
dc49694098 Bug 1290284 - Centralise string comparisons for H264 and VPX detection. r=cpearce
Remove string comparisons to determine from mime types if content is VPX or
H264. Replace with calls to VPXDecoder::IsVPX or MP4Decoder::IsH264 to
centralise such logic.

This patch introduces MP4Decoder:IsH264, and moves the similar functionality out
of H264Convertor for the sake of consistently having these functions in
decoders.

MozReview-Commit-ID: 5nfYusYHrUR

--HG--
extra : rebase_source : c013c4ebe28d5afedbb91ddfffadb40d23fd0ee3
2016-07-29 14:12:54 +12:00
Carsten "Tomcat" Book
7293066753 merge mozilla-inbound to mozilla-central a=merge 2016-07-27 16:35:44 +02:00