Граф коммитов

993 Коммитов

Автор SHA1 Сообщение Дата
Jean-Yves Avenard 0ac3f1c5b4 Bug 1374774: P1. Move H264 methods into H264 code. r=gerald
HasSPS, ExtractExtraData and CompareExtraData have nothing to do with the handling of annex B format. They are raw H264 related methods.

It will also prevent in the following change to have cycling references between two headers.

MozReview-Commit-ID: FCs5aU4GcTU

--HG--
extra : rebase_source : a96fe0c70416d38690b0c2f1dee567b0b025e947
2017-06-22 14:36:11 +02:00
Sebastian Hengst 261b25bf86 Backed out changeset 0d953ca28add (bug 1374774) for bustage at media/libstagefright/binding/H264.cpp(205). 'ptr' not declared. r=backout on a CLOSED TREE 2017-06-24 00:49:18 +02:00
Jean-Yves Avenard abaade7f70 Bug 1374774: P1. Move H264 methods into H264 code. r=gerald
HasSPS, ExtractExtraData and CompareExtraData have nothing to do with the handling of annex B format. They are raw H264 related methods.

It will also prevent in the following change to have cycling references between two headers.

MozReview-Commit-ID: FCs5aU4GcTU

--HG--
extra : rebase_source : b204723cdbb599d4f0a227871ed28f5da39e9cff
2017-06-22 14:36:11 +02:00
Jean-Yves Avenard e139a2d44e Bug 1373229: P2. Disable DXVA HW decoder if ID3D10Multithread not supported. r=jya
MozReview-Commit-ID: OMFltNZaYe

--HG--
extra : rebase_source : 35b3dc14296c1630f9cebe000609b3e6e99e30f4
2017-06-21 14:40:12 +02:00
Jean-Yves Avenard 3f9301d589 Bug 1373229: P1. Disable IMFYCbCrImage when ID3D10Multithread isn't supported. r=jya
MozReview-Commit-ID: 9zzUJ0utqQm

--HG--
extra : rebase_source : f13c93f8845a1630490e173ac37e948b8c03b6ff
2017-06-16 23:15:00 +02:00
Jean-Yves Avenard e52d3b5eaa Bug 1223270: P4. Remove extra copy of YUV buffer for Theora. r=mattwoodrow
MozReview-Commit-ID: FnhPObcv4U3

--HG--
extra : rebase_source : 01a14de6f4de864ec38311549867f95f48b5b2a3
2017-05-04 15:44:46 +02:00
Jean-Yves Avenard de2ba98442 Bug 1223270: P3. Remove extra copy of YUV buffer on Windows. r=mattwoodrow,nical
MozReview-Commit-ID: JgbAwtLNr9e

--HG--
extra : rebase_source : 72bc0cd32d95fc6eadc0604c00b9f53227135557
2017-05-03 23:25:54 +02:00
Jean-Yves Avenard 10d2da1b08 Bug 1374596: P7. Fix includes as per coding style. r=padenot
MozReview-Commit-ID: 5WfOWcOoxg0

--HG--
extra : rebase_source : 988c09623e83a0d9188d9ff5d705314e2c43e756
2017-06-20 17:56:55 +02:00
Jean-Yves Avenard caf8ded66d Bug 1374936: P2. Check for error. r=mattwoodrow
MozReview-Commit-ID: A8Cy3BsZS8h

--HG--
extra : rebase_source : b68539f27a8fa1723bd61dda6cff07e13f59e97d
2017-06-21 08:48:18 +02:00
Jean-Yves Avenard a44433f0b6 Bug 1374936: P1. Properly output ARGB32 with transform. r=mattwoodrow
MozReview-Commit-ID: Cp4fBtqDh7A

--HG--
extra : rebase_source : 35bdf9b4b4e57587cd1878fe9f3035be04895beb
2017-06-21 08:45:52 +02:00
Carsten "Tomcat" Book 57edf8693b Backed out changeset c79b6d337d04 (bug 1223270) 2017-06-20 09:41:39 +02:00
Carsten "Tomcat" Book 597a16c2e2 Backed out changeset b0b4667e25df (bug 1223270) 2017-06-20 09:41:38 +02:00
Carsten "Tomcat" Book 47e4bdba4f Backed out changeset de548d84af20 (bug 1373229) 2017-06-20 09:41:32 +02:00
Jean-Yves Avenard e80cd91595 Bug 1373229: P1. Disable IMFYCbCrImage when ID3D10Multithread isn't supported. r=bas
Additionally, we disable hardware decoding on those systems.

MozReview-Commit-ID: 9zzUJ0utqQm

--HG--
extra : rebase_source : 0e7fdaf166a47969338018dea0d5fd9f1efb8d4b
2017-06-16 23:15:00 +02:00
Jean-Yves Avenard ddd4699e3f Bug 1223270: P4. Remove extra copy of YUV buffer for Theora. r=mattwoodrow
MozReview-Commit-ID: FnhPObcv4U3

--HG--
extra : rebase_source : f372251f3e17b9d1dcad31a70c3daafc5bf32393
2017-05-04 15:44:46 +02:00
Jean-Yves Avenard 683d6562da Bug 1223270: P3. Remove extra copy of YUV buffer on Windows. r=mattwoodrow,nical
MozReview-Commit-ID: JgbAwtLNr9e

--HG--
extra : rebase_source : c7e813a29bd4d0f46c73b5579fec4bc77081cee1
2017-05-03 23:25:54 +02:00
Jean-Yves Avenard 851b08981f Bug 1374210: Reject/Cancel any pending operations. r=gerald
MozReview-Commit-ID: GVlzm2GWT1D

--HG--
extra : rebase_source : a94491b69960a2679ae20433461ecb51e1821b15
2017-06-19 10:38:22 +02:00
Sebastian Hengst ae6761b147 Backed out changeset aeba107c84c5 (bug 1374210) for crashing mediasource-activesourcebuffers.html in non-e10s mode and timing out in e10s mode. r=backout 2017-06-19 13:05:00 +02:00
Jean-Yves Avenard f31aa4ab98 Bug 1374210: Reject/Cancel any pending operations. r=gerald
MozReview-Commit-ID: GVlzm2GWT1D

--HG--
extra : rebase_source : 4c57b062528fe45aaa10d2266ff91f29c283af09
2017-06-19 10:38:22 +02:00
Jean-Yves Avenard 904b949686 Bug 1374068: P2. Rewrite bits with lambdas. r=gerald
Allow to get rid of the mPendingSample member, making the logic easier to follow.

MozReview-Commit-ID: F7a25p1TP8J

--HG--
extra : rebase_source : 9413f8a685df44b6e93e7382a0eda77dce27056f
2017-06-18 17:57:35 +02:00
Jean-Yves Avenard 9935370468 Bug 1374068: P1. Drain the decoder when content is changing. r=gerald
MozReview-Commit-ID: EUiBIaHzBCO

--HG--
extra : rebase_source : 5d6b1f68d3572baa87a4de38d9daf3804cdc6aff
2017-06-18 17:29:23 +02:00
Bill McCloskey d6affd5261 Bug 1365098 - Convert NS_GetCurrentThread uses in dom/media (r=cpearce)
MozReview-Commit-ID: DUPt6xj49zz
2017-06-12 20:20:08 -07:00
Chris Pearce abac85f1d9 Bug 1372080 - Reorder frames decoded by Widevine CDM. r=jya
The next version of the Widevine CDM (970) has a new H.264 decoder and it does
not appear to be outputing frames it decodes in presentation order, so we need
to reorder the frames output by the CDM.


MozReview-Commit-ID: HMsQVN3NCIU

--HG--
extra : rebase_source : 68ef406556087434fa12b72ae5ed5c2e1bce2b64
2017-06-12 17:47:05 +12:00
Jean-Yves Avenard f8c58713e0 Bug 1371290: P2. Override sample duration if unknown. r=mattwoodrow
The VP9 decoder doesn't properly set the sample duration, leading to all samples being marked as having a zero duration.

The compositor drops those frames incorrectly. This issue will be addressed in bug 1222874.

MozReview-Commit-ID: JQdtTL4nAN

--HG--
extra : rebase_source : 7c69cd3522c4b2231a07ab3f3c1d012843ac2f69
2017-06-08 13:48:39 +02:00
Jean-Yves Avenard 3351746b41 Bug 1371290: P1. Use TimeUnit in WMF decoder. r=mattwoodrow
Using a float to store the last duration was unwise (as it has only a 24 bits mantissa), luckily it wasn't used except very particular circumstances.

MozReview-Commit-ID: BpL8ufQFNeR

--HG--
extra : rebase_source : b4a5a1301be4a0a81d1907b6296cbb4b6c4877d9
2017-06-08 13:44:46 +02:00
Jean-Yves Avenard 9f0eebe46e Bug 1370079: P1. Don't check for DXVA support when checking for VP9 support. r=mattwoodrow
SupportsMimeType is called in the content process, for which, following bug  1338011, dxva is marked as disabled.

CanCreateWMFDecoder already performs the check of allowing VP9 only if it's hardware accelerated, so we don't need to test if dxva is enabled prior.

MozReview-Commit-ID: 7Jvaop6ZznU

--HG--
extra : rebase_source : 854e7b09718863e710843d11c9327de47abf1076
2017-06-08 13:54:00 +02:00
Jean-Yves Avenard 45d7f2628e Bug 1370805: P3. Use whichever extradata is available when constructing the decoder. r=jwwang
Prior bug 1313398, the only time we would call H264Converter::CreateDecoderAndInit was if we encountered AVC3 content where the H264 extradata didn't exist in the metadata.
AVC3 was the only situation where mDecoder would be null after construction.

However, now, it is possible for the construction of the decoder to be interrupted, which would leave mDecoder null. For AVC1 content, if this happened, we wouldn't have in-band SPS/PPS necessary for CreateDecoderAndInit to complete.
So we use whichever extradata is available.

MozReview-Commit-ID: 702xj045LAv

--HG--
extra : rebase_source : e85077cedfece066398e36d8a4dd16f4bd406db6
2017-06-07 15:14:57 +02:00
Jean-Yves Avenard a81b74c44a Bug 1370805: P2. Let current operation completes before continuing. r=jwwang
This is a simpler approach required as both InitPromise and FlushPromise are exclusives.

It's in practice simpler too.

MozReview-Commit-ID: ItaAhC0Bk8T

--HG--
extra : rebase_source : 2c68b8843cfccd784bfcf1ae4fd08407ee891349
2017-06-07 15:10:04 +02:00
Jean-Yves Avenard 09f24e7c7d Bug 1370805: P1. Revert "Bug 1370164: Properly handle flushing during ongoing operations. r=jwwang"
--HG--
extra : rebase_source : d2ed98092313a357912443238d7c48e060c462f7
2017-06-07 13:32:09 +02:00
Jean-Yves Avenard 68e7478636 Bug 1370487: Don't incorrectly recreate a decoder. r=JamesCheng
On android and devices supporting decoder recycling the decoder would be reset for every new sample not containing inband SPS/PPS

MozReview-Commit-ID: 8BHALsDgPvg

--HG--
extra : rebase_source : 11802954ec0dac885d61aebb9983588daff88dc2
2017-06-07 17:25:16 +02:00
John Lin f6631d92ad Bug 1366706 - accepts video frames with negative timestamp but non-zero size. r=jya
MozReview-Commit-ID: 5QqzOesIynN

--HG--
extra : rebase_source : 7bcebe28e90189a79f554e8fc27d77d7db52d924
2017-06-06 16:11:33 +08:00
Jean-Yves Avenard 6142d3e791 Bug 1370164: Properly handle flushing during ongoing operations. r=jwwang
MozReview-Commit-ID: 4eAHAuBqOtK

--HG--
extra : rebase_source : 855ace96b31fd8404efad8c0d00fc85a58b5753f
2017-06-05 20:56:22 +02:00
Makoto Kato f6a1c5c5d1 Bug 1369992 - Make GetNative as public for clang. r=jolin
When building Fennec using clang, the following build error occurs.

 0:17.02 /mozilla/mobile/media/webrtc/signaling/src/media-conduit/WebrtcMediaCodecVP8VideoCodec.cpp:1099:27: error: 'GetNative' is a protected member of 'mozilla::jni::NativeImpl<mozilla::java::CodecProxy::NativeCallbacks, mozilla::JavaCallbacksSupport>'
 0:17.02     JavaCallbacksSupport::GetNative(mJavaCallbacks)->Cancel();
 0:17.02                           ^
 0:17.02 /mozilla/objdir-android/dist/include/mozilla/jni/Natives.h:821:18: note: declared protected here
 0:17.02     static Impl* GetNative(const typename Cls::LocalRef& instance) {
 0:17.02                  ^

We should define GetNative as public into JavaCallbacksSupport.h.

MozReview-Commit-ID: DYEyB2dRK8y

--HG--
extra : rebase_source : 8f77cac02800149aef814ce5fcd7bd3d23b56193
2017-06-03 21:09:58 +09:00
Ralph Giles fcb2bf2018 Bug 1369950 - Update aom. r=gerald
Update our in-tree copy of the aom reference implementation
of the av1 video codec to upstream git commit id
aadbb0251996c8ebb8310567bea330ab7ae9abe4.

This picks up recent changes and addresses a build issue on win64.

MozReview-Commit-ID: 34LXXzFtEFN

--HG--
extra : rebase_source : 0face926928de6bd1c6a1726df912bd20e363e60
2017-05-10 14:16:55 -07:00
Ralph Giles 1cd421b9df Bug 1369950 - Remove aom_codec_stream_info_t sz field references. r=gerald
Upstream has removed the requirement to set this when
initializing the stream_info struct.

MozReview-Commit-ID: 24OJ550Ral

--HG--
extra : rebase_source : 501fd9f51084a4b6f779462536e94c71cf8c5bb7
2017-05-09 11:10:51 -07:00
Jean-Yves Avenard 5e8ee8b868 Bug 1345342: Cancel pending requests. r=jya
If the pending first frame decoding was cancelled, the next call to decode could lead to a crash.

MozReview-Commit-ID: 6Q4eKUzqOly

--HG--
extra : rebase_source : 3640a2edd07fdbd4811295c0088a4086ac579b26
2017-06-04 12:03:25 +02:00
Cameron McCormack 76df568747 Backed out changeset ff724e355b2d (bug 1345342) per jya's request. 2017-06-05 15:58:41 +08:00
Jean-Yves Avenard f5de325f6f Bug 1345342: Cancel pending requests. r=jya
If the pending first frame decoding was cancelled, the next call to decode could lead to a crash.

MozReview-Commit-ID: 6Q4eKUzqOly

--HG--
extra : rebase_source : 620efb39265944998c23c184e831a5b71f9b437f
2017-06-04 12:03:25 +02:00
James Willcox 5dee9f6c40 Bug 1367287 - Release video surface when decoder is shut down r=jolin
MozReview-Commit-ID: GgWYSzBx7ZF
2017-06-02 10:14:12 -05:00
Jean-Yves Avenard a9142498ec Bug 1360006: Whitelist VP9 decoder to intel GPU only. r=mattwoodrow
We enable by default the VP9 hardware decoder on intel GPU.

MozReview-Commit-ID: FzMzbpZErjQ

--HG--
extra : rebase_source : f34c969f7dda1ef24224e982f31d5e43cfae7cc0
2017-06-01 22:17:56 +02:00
Ralph Giles d282fd8a60 Bug 1368839 - Add av1 to MediaSource.isTypeSupported. r=gerald
When av1 video playback is enabled, declare it as supported
in the webm container in MediaSource.IsTypeSupported.

Also support special mime types of the form

  video/webm; codecs=vp9.experimental.<git-commit-id>

so test sites can verify playback support of particular encodings
while the av1 bitstream is under development.

MozReview-Commit-ID: GS4n7cPxfQ7

--HG--
extra : rebase_source : a595942242304ccf97a341474b6e2e1e869e7a77
2017-05-30 16:37:20 -07:00
Jean-Yves Avenard ba837c02ae Bug 1313398: P4. Check that the out of band extradata hasn't changed. r=gerald
On android, where decoders can sometimes be recycled, the h264converter can be fed over its lifetime MediaRawData with different mExtraData.
So we need to ensure that not only, the inband ones don't change, but that the out of band one hasn't changed either.

This is a condition we could totally ignore on desktop, as when the resolution change the H264Converter is destroyed.

MozReview-Commit-ID: 7w6ku6by1Qi

--HG--
extra : rebase_source : d35f07b372ef0623dbd74384aa5d3a865a3e067a
2017-05-31 22:03:55 +02:00
Jean-Yves Avenard 33005dac56 Bug 1313398: P3. Don't always check if the decoder supports being recycled. r=gerald
The value never changes on a system, so there's no point checking it every single time

MozReview-Commit-ID: KTSslluQsKw

--HG--
extra : rebase_source : 40274727d0e7202087a8282eedb2c78404212f31
2017-05-31 21:43:53 +02:00
Jean-Yves Avenard 72d70a10d9 Bug 1313398: P1. Fix indent. r=gerald
MozReview-Commit-ID: 3eBq1mrR98D

--HG--
extra : rebase_source : 33e5fc37bfb8022a193c8d77e5a9dce5c638635b
2017-05-31 16:12:40 +02:00
Alfredo Yang 55d6ddef12 Bug 1365872 - remove parsing mp4v mCodecSpecificConfig which is for b2g. r=jya
MozReview-Commit-ID: G3l6AtEH0hO

--HG--
extra : rebase_source : bad9f7ae16715acb53826a494203cd7bbee138b3
2017-05-18 16:54:43 +08:00
Jean-Yves Avenard b35c566d48 Bug 1364870: [ffmpeg] only check format if frame has been decoded. r=gerald
The format member isn't set when an audio frame hasn't been decoded yet.

MozReview-Commit-ID: IgUj6bjVzdF

--HG--
extra : rebase_source : bb47fa523384f9a85ee7d0ed5b6de4fe2c73526a
2017-05-19 09:52:12 +02:00
John Lin d888243796 Bug 1363276 - discard video output buffers according to presentation time rather than size. r=esawin
This works around an Android 4.2.2 bug that reports incorrect sizes for hardware buffers.

MozReview-Commit-ID: 4rAu8d1RwOJ

--HG--
extra : rebase_source : f63ad96427b90dc24e0cb84319f256d1ec354b5e
2017-05-05 16:19:47 +08:00
JW Wang 4b91acd0b1 Bug 1364834 - Fix rounding error in WaveDataDecoder::ProcessDecode(). r=jya
The duration is rounded down to 0 if |frames| is smaller than |mInfo.mRate|.
We should call FramesToTimeUnit() instead.

MozReview-Commit-ID: E7eOQuD48x2

--HG--
extra : rebase_source : 1edabb9a9fe495f89a13df71d73d3b9aef49fa9d
2017-05-15 17:25:26 +08:00
James Willcox 4649c2acf0 Bug 1322650 - Don't use AndroidBridge to get API version in media stack r=jolin
AndroidBridge is not available in child processes.

MozReview-Commit-ID: KlBs8F1Bu1O
2017-05-15 09:37:57 -05:00
James Willcox cf48e4bebd Bug 1322650 - Support a 'continuous' mode for SurfaceTexture r=jgilbert
This is needed to support Flash on Android

MozReview-Commit-ID: 5yNIoZHonla
2017-05-15 09:37:50 -05:00