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

191 Коммитов

Автор SHA1 Сообщение Дата
Alfredo Yang dc6aa95260 Bug 1281115: add SetSeekThreshold for ffmpeg. r=jwwang
MozReview-Commit-ID: 4Vfkz0dGgEk

--HG--
extra : rebase_source : ccb706cc7ff0c7389c43c785aaad3de3bafaa6fd
2016-06-21 16:13:57 +08:00
Dan Glastonbury 1b2a65cfc3 Bug 1281632 - P1: Extract creation parameters and pass via struct. r=gerald
Extract all the parameters passed to CreateAudioDecoder/CreateVideoDecoder and
place them into a structure that is passed down to the creation of the actual
decoder, where the relevant parameters can be extracted.

This makes it easier to add more arguments to the Create*Decoder calls in future.

MozReview-Commit-ID: 9LZlcfRVz6A

--HG--
extra : rebase_source : ce3f0c7d0784b96267728697ff5d535ccb8ee7a6
2016-06-28 17:56:55 +12:00
Jean-Yves Avenard 8bb32f751e Bug 1275339: [ffmpeg] P2. Fetch avcodec_free_frame in libavcodec. r=cpearce
avcodec_free_frame was incorrectly looked in libavuti. On Linux where this code is used, it makes no difference really but for clarity sake.

MozReview-Commit-ID: DC1WJAAKiE4
2016-06-11 11:04:14 +01:00
Jean-Yves Avenard 3b9ae45b0e Bug 1275339 - [ffmpeg] Don't assume AVFrame has a constant size.
An AVFrame has a different size between FFmpeg 0.10 and LibAV 0.8 though both have the same version number.

Forgot to add the fixes (twice now :( )

MozReview-Commit-ID: DR3b3fqSngh
2016-06-11 11:04:10 +01:00
Jonathan Watt b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Alfredo Yang 68adb6b579 Bug 1068151 - keep decoding a corrupted video. r=jya 2016-05-30 18:24:00 +02:00
Eric Rahm c077aa9010 Bug 1274913 - Move PDM log definition to header. r=njn 2016-05-24 14:55:53 -07:00
JW Wang 8b980a3cbc Bug 1274216 - remove use of FlushableTaskQueue from PlatformDecoderModule. r=jya.
MozReview-Commit-ID: E3DG84yKRmw

--HG--
extra : rebase_source : 2636b7d1ef5cc544f70b3912d4d6bd30f25424df
2016-05-19 17:50:31 +08:00
Jean-Yves Avenard e1fd229178 Bug 1270323: [ffmpeg] P3. Use the dts of the last sample input, not the dts of the last decoded sample. r=cpearce
Amendment to bug 1244410. If no frames had been output yet, last dts would have been INT64_MIN.

MozReview-Commit-ID: LOdWLpyuLYm

--HG--
extra : rebase_source : f842d2214b1e82f3b069e843157b95d87e62fa01
2016-05-23 15:37:34 +10:00
Ryan VanderMeulen 84b0a4b61f Backed out changeset 0e4c5be816f3 (bug 1257107) for webm reftest failures.
CLOSED TREE
2016-05-19 10:39:07 -04:00
Alfredo Yang 3fed340de9 Bug 1257107 - Discard decoded data if its pts is smaller than seek time. r=jya
--HG--
extra : rebase_source : 2f17f7b3b70f774e03322dbc63727b0794279f91
2016-05-17 21:46:00 -04:00
Jean-Yves Avenard c16d1665b7 Bug 1271491: [ffmpeg] P4. Remove requirements to call Init on the main thread. r=cpearce
FFMpegRuntimeLinker/FFVPXRuntimeLinker::Init() aren't thread safe, but they can be called on any threads.

MozReview-Commit-ID: 4B9yn7zSyf1

--HG--
extra : rebase_source : 5a5ee52b72afbd01d6477fc312ff9f226ab95248
2016-05-10 17:28:47 +10:00
JW Wang 1039567f4e Bug 1271517. Part 2 - remove use of FlushableTaskQueue. r=jya.
MozReview-Commit-ID: 8pkErp6UjC5
2016-05-11 11:30:57 +08:00
JW Wang 92da48deee Bug 1271517. Part 1 - remove use of FlushableTaskQueue::Flush() from FFmpegDataDecoder::Flush(). r=jya.
MozReview-Commit-ID: 2jAyXo2P6p7
2016-05-11 11:30:55 +08:00
JW Wang 651acd2608 Bug 1271508. Part 3 - extract code to the parent class and remove use of mTaskQueue from sub-classes. r=jya. 2016-05-09 23:23:48 +08:00
JW Wang 663cb8f7b8 Bug 1271508. Part 2 - rename functions so they are the same as those of FFmpegAudioDecoder so it would be easier to extract common code to the parent class. r=jya.
MozReview-Commit-ID: LLwSBoL2A7r
2016-05-09 23:06:14 +08:00
JW Wang 9a04622671 Bug 1271508. Part 1 - refactor FFmpegAudioDecoder code to be similar to FFmpegVideoDecoder::Input() so it would be easier to extract common code to the parent class. r=jya.
MozReview-Commit-ID: 4IXZz50qrWm
2016-05-09 23:03:54 +08:00
Carsten "Tomcat" Book f3c7e2f2aa Backed out changeset 31dc08c9c505 (bug 1068151) for causing assertion failures
--HG--
extra : rebase_source : b91b953d3ef0d4f37496de9e3fb8de10b2f6770d
2016-05-06 14:02:12 +02:00
Alfredo Yang 96ae363c0b Bug 1068151 - keep decoding with malformat video. r=jya 2016-05-06 01:10:00 +02:00
Jean-Yves Avenard 51b6a30ded Bug 1244410: [ffmpeg] Ensure the last drained frame has the proper duration set. r=gerald
FFmpeg's AVFrame pkt_dts doesn't contain the dts of the frame used to decode the frame; but of the frame "that triggered returning this frame.". The last frame was returned when draining which is done by feeding the decoder with dummy frames ; all having a dts of 0.

Additionally, rename DurationMap argument name from aDts to aKey.

MozReview-Commit-ID: GWYT3sEJVQs
2016-05-06 17:29:48 +10:00
JW Wang facd846fd6 Bug 1270350 - per comment 0, use SyncRunnable to repalce the boilerplate code. r=jya.
MozReview-Commit-ID: 9hqmUnNC3Vm
2016-05-05 11:54:44 +08:00
Kyle Huey 941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey 48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Jean-Yves Avenard d65e98a062 Bug 1267637: [ffmpeg] P7. Reject audio data with unsupported channel configuration. r=gerald
MozReview-Commit-ID: AoEjMjYfUzn

--HG--
extra : rebase_source : a7d4fe53fc27bb19f2bb30c01d7c02f0275ea6b0
2016-04-27 17:54:15 +10:00
Jean-Yves Avenard 87989d5577 Bug 1243538: P4. Adjust ffvpx decoder to allow different decoding size from metadata. r=mattwoodrow
MozReview-Commit-ID: FyfAhJ42w5l
2016-04-20 17:43:57 +10:00
Jean-Yves Avenard 4dcc0f9b5b Bug 1243538: P1. Make MediaInfo::mImage an nsIntSize again and introduce a mImageRect member. r=mattwoodrow
MozReview-Commit-ID: 3iVCA1b7bHc
2016-04-20 17:43:35 +10:00
Ralph Giles 2eddfcd5b7 Bug 1265860 - Align ffmpeg library names. r=jya
Make the logging messages easier to read.

MozReview-Commit-ID: 3Unc73kyiki

--HG--
extra : rebase_source : 6cfaf3714bf8b1119893c73dd88ca872076d3d2a
2016-04-01 09:37:28 -07:00
Gerald Squelart ecfb205472 Bug 1248507 - p1. Pass DecoderDoctorDiagnostics to PDMs&more - r=jya
Pass declared-but-yet-undefined DecoderDoctorDiagnostics pointer to various
routines that contribute to deciding if a media format can be played, and
those that create decoders.

Points where a DecoderDoctorDiagnostics can be injected are currently marked
with "/* DecoderDoctorDiagnostics* */ nullptr", and some will be used in
following patches.

MozReview-Commit-ID: 7u37bvY4CpW
2016-04-19 17:36:19 +10:00
Jean-Yves Avenard 6409e5ed1a Bug 1248861: P3. Use AlignedAudioBuffer object with AudioData. r=cpearce
MozReview-Commit-ID: 7HiF4eHlRwB

--HG--
extra : rebase_source : e7fd44ced280ccc359f61b7e5668e5481bb7ecb9
2016-04-03 23:09:45 +10:00
Jean-Yves Avenard 99605a9e92 Bug 1254858: P9. Search libmozav* lib relative to lgpllibs. r=glandium
XUL location can't be used as reference as its location varies.

MozReview-Commit-ID: EKGVpjeepIR

--HG--
extra : rebase_source : 70d2d90747211be4435685ef32b03ea73a62ea38
2016-03-10 17:56:34 +11:00
Jean-Yves Avenard 6f2a236360 Bug 1254858: P7. Add logging if libmozav can't be found. r=kentuckyfriedtakahe
MozReview-Commit-ID: C4m54MMJdr

--HG--
extra : rebase_source : 4cb6bfddbc4b2f0b0e26a6d6c09754b47167c87c
2016-03-10 15:02:40 +11:00
Jean-Yves Avenard b11ed78317 Bug 1247041: [ffmpeg] Request YUVJ420P format explicitly. r=kentuckyfriedtakahe
Requesting YUV420P causes crashes with some version of FFmpeg.

MozReview-Commit-ID: I69jNZ64Le5
2016-02-15 23:02:24 +11:00
Gerald Squelart f730652298 Bug 1247175 - Accept libavcodec 57.100+ - r=jya 2016-02-10 18:55:33 +11:00
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
JW Wang dafc0fc42b Bug 1243627 - FFVPXRuntimeLinker::Init() should set sLinkStatus to LinkStatus_FAILED before returning false. r=jya. 2016-01-29 10:47:32 +08:00
Bogdan Postelnicu 0254065827 Bug 1242465 - when defined USING_MOZFFVPX use by default videoCodec in FindAVCodec. r=jya
--HG--
extra : rebase_source : 34bf1d4a9adbfc2ec94ab74d261779a1f9e88671
2016-01-26 11:24:59 +02:00
Jean-Yves Avenard 4fc8dfaa3d Bug 1241677: P1. Add MediaDataDecoder::GetDescriptionName() method. r=cpearce 2016-01-25 10:33:39 +11:00
Jean-Yves Avenard 06996763f9 Bug 1240995: [ffmpeg] P2. Deregister libavcodec global mutex. r=gerald
This ensure the memory allocated for their internal mutex is cleared
2016-01-23 01:35:52 +11:00
Jean-Yves Avenard 6cc095b16d Bug 1240995: [ffmpeg] P1. Refactor FFmpeg PDM. r=kentuckyfriedtakahe
This greatly simplify how the external libavcodec and libavutil are linked.
2016-01-23 01:35:52 +11:00
Jean-Yves Avenard fcfc749a5a Bug 1240630: [ffmpeg] P4. Rename FFmpegH264Decoder into FFmpegVideoDecoder. r=kentuckyfriedtakahe
The days we used to only be able to use the FFmpeg decoder for H264 are long gone. It can do H264, VP6, VP8 and VP9.

--HG--
rename : dom/media/platforms/ffmpeg/FFmpegH264Decoder.cpp => dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
rename : dom/media/platforms/ffmpeg/FFmpegH264Decoder.h => dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
2016-01-19 22:20:01 +11:00
Jean-Yves Avenard 721fd7b736 Bug 1240630: [ffmpeg] P3. Only build FFmpeg on mac and unixes. r=kentuckyfriedtakahe
This is a partial revert of bug 1214462 part2. We don't need FFmpeg support on Android or Windows anymore; instead the functionality is provided by the FFVPX PDM.
Remove support for FFmpeg on Windows.
2016-01-19 22:00:03 +11:00
Jean-Yves Avenard aeefe81d51 Bug 1240630: [ffvpx] P1. Add a FFVPX PDM. r=kentuckyfriedtakahe
This allows support for linking to two different version of libavcodec: our own and the system one if found.
ffvpx symbols are loaded within the namespace mozilla::ffvpx.
2016-01-19 17:29:19 +11:00
Wes Kocher 398d96e8e5 Backed out 4 changesets (bug 1240630) for asan failures in mochitest(2) and mochitest(oth) CLOSED TREE
Backed out changeset dc949ca1e1ec (bug 1240630)
Backed out changeset 06abea99a292 (bug 1240630)
Backed out changeset 9d90d4b0b928 (bug 1240630)
Backed out changeset 6162c46b32ff (bug 1240630)

--HG--
rename : dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp => dom/media/platforms/ffmpeg/FFmpegH264Decoder.cpp
rename : dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h => dom/media/platforms/ffmpeg/FFmpegH264Decoder.h
extra : commitid : 2Uwik7JWDjE
2016-01-20 13:47:41 -08:00
Wes Kocher de8ca7dcd1 Backed out changeset 8b78eccf2c29 (bug 1240995) for asan failures in mochitest(2) and mochitest(oth) CLOSED TREE
--HG--
extra : commitid : CUijS7r7W2B
2016-01-20 13:47:13 -08:00
Jean-Yves Avenard afe8bac715 Bug 1240995: [ffmpeg] Refactor FFmpeg PDM. r=kentuckyfriedtakahe
This greatly simplify how the external libavcodec and libavutil are linked.
2016-01-20 20:22:43 +11:00
Jean-Yves Avenard 474c70c25f Bug 1240630: [ffmpeg] P4. Rename FFmpegH264Decoder into FFmpegVideoDecoder. r=kentuckyfriedtakahe
The days we used to only be able to use the FFmpeg decoder for H264 are long gone. It can do H264, VP6, VP8 and VP9.

--HG--
rename : dom/media/platforms/ffmpeg/FFmpegH264Decoder.cpp => dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
rename : dom/media/platforms/ffmpeg/FFmpegH264Decoder.h => dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
2016-01-19 22:20:01 +11:00
Jean-Yves Avenard b7a1533658 Bug 1240630: [ffmpeg] P3. Only build FFmpeg on mac and unixes. r=kentuckyfriedtakahe
This is a partial revert of bug 1214462 part2. We don't need FFmpeg support on Android or Windows anymore; instead the functionality is provided by the FFVPX PDM.
Remove support for FFmpeg on Windows.
2016-01-19 22:00:03 +11:00
Jean-Yves Avenard 472f6c90b6 Bug 1240630: [ffvpx] P1. Add a FFVPX PDM. r=kentuckyfriedtakahe
This allows support for linking to two different version of libavcodec: our own and the system one if found.
ffvpx symbols are loaded within the namespace mozilla::ffvpx.
2016-01-19 17:29:19 +11:00
Carsten "Tomcat" Book e8d36639be Backed out changeset 07e06fefa4c7 (bug 1240630) for webgl leaks
--HG--
extra : rebase_source : b66432476f69e8820d3437f662d3e1163743076b
2016-01-20 16:11:05 +01:00
Carsten "Tomcat" Book c63e75b8bf Backed out changeset 1f5356e9679e (bug 1240630)
--HG--
extra : rebase_source : 92e8835d2c1f40058be44339163b390e01b617c9
2016-01-20 16:10:49 +01:00
Carsten "Tomcat" Book a8d775672f Backed out changeset 2360ccbf3aaa (bug 1240630)
--HG--
extra : rebase_source : 0d7ba73881b668576598eb780e9ce531809b6017
2016-01-20 16:10:48 +01:00
Carsten "Tomcat" Book 45991d1b24 Backed out changeset 4ab338518d02 (bug 1240995)
--HG--
extra : rebase_source : d2f8dc3044190a827fb0b747f71a3cbf741767e9
2016-01-20 16:10:46 +01:00
Carsten "Tomcat" Book 5e1ff117ed Backed out changeset 2213b8ad2dce (bug 1240995)
--HG--
extra : rebase_source : 38c5b22478664d49f7d094508ad18f40c7a885a9
2016-01-20 16:10:45 +01:00
Jean-Yves Avenard 5094150c77 Bug 1240995: [ffmpeg] P2. Mark constructor explicit. r=me 2016-01-21 00:20:46 +11:00
Jean-Yves Avenard dac8ee7941 Bug 1240995: [ffmpeg] Refactor FFmpeg PDM. r=kentuckyfriedtakahe
This greatly simplify how the external libavcodec and libavutil are linked.
2016-01-20 23:55:37 +11:00
Jean-Yves Avenard 27d1086f32 Bug 1240630: [ffmpeg] P4. Rename FFmpegH264Decoder into FFmpegVideoDecoder. r=kentuckyfriedtakahe
The days we used to only be able to use the FFmpeg decoder for H264 are long gone. It can do H264, VP6, VP8 and VP9.
2016-01-20 23:55:37 +11:00
Jean-Yves Avenard 040ca072ee Bug 1240630: [ffmpeg] P3. Only build FFmpeg on mac and unixes. r=kentuckyfriedtakahe
This is a partial revert of bug 1214462 part2. We don't need FFmpeg support on Android or Windows anymore; instead the functionality is provided by the FFVPX PDM.
Remove support for FFmpeg on Windows.
2016-01-20 23:55:36 +11:00
Jean-Yves Avenard fe89dd84a5 Bug 1240630: [ffvpx] P1. Add a FFVPX PDM. r=kentuckyfriedtakahe
This allows support for linking to two different version of libavcodec: our own and the system one if found.
ffvpx symbols are loaded within the namespace mozilla::ffvpx.
2016-01-20 23:55:35 +11:00
Jean-Yves Avenard 464ee710df Bug 1239202: [ffmpeg] Specify path of mozavcodec and mozavutil. r=glandium
Also error gracefully should libraries not be found.
2016-01-16 01:25:22 +11:00
Jean-Yves Avenard c272a66337 Bug 1239202: [ffmpeg] P2. Update documentation. r=gerald 2016-01-13 20:29:21 +11:00
Jean-Yves Avenard 88bd20ebcd Bug 1239066: [ffmpeg] Add support for YUV444P pixel format in FFmpeg. r=gerald
We also prefer YUV444 format when the decoder supports it.
2016-01-13 19:58:49 +11:00
Jean-Yves Avenard e2ca8ba782 Bug 1237962: [ffmpeg] Do not create extra threads when decoding small videos. r=kentuckyfriedtakahe
Instead we use our current decoding's taskqueue.
2016-01-11 17:55:52 +11:00
Jean-Yves Avenard 6040488a59 Bug 1237540: [ffvpx] P2. update ffvpx build config. r=kentuckyfriedtakahe 2016-01-11 17:55:49 +11:00
Jean-Yves Avenard 7f7aeb115e Bug 1232268: [ffmpeg] P4. Add support for libavcodec 57. r=kentuckyfriedtakahe
At this stage only the original FFmpeg project is supported.
2016-01-11 17:52:44 +11:00
Jean-Yves Avenard 47323ee898 Bug 1232268: [ffmpeg] P3. Add FFmpeg n2.9 headers. r=kentuckyfriedtakahe
libavcodec and libavutil minimal headers.
2016-01-11 17:50:30 +11:00
Jean-Yves Avenard e07832a40e Bug 1232268: [ffmpeg] P2. Remove unused AVFormat headers and unused functions. r=kentuckyfriedtakahe
Additionaly, do not attempt to resolve unused symbols.
2016-01-11 17:50:29 +11:00
Jean-Yves Avenard d5ca543591 Bug 1232268: [ffmpeg] P1. Provide finer granularity on which symbols are to be loaded. r=kentuckyfriedtakahe 2016-01-11 17:50:28 +11:00
Jean-Yves Avenard afa673d0a0 Bug 1235959: [ffmpeg] Load mozav libs separately. r=gerald 2016-01-11 17:50:28 +11:00
Jean-Yves Avenard 9c25c32858 Bug 1214462: P4. Add Windows support for the FFmpeg PDM. r=kentuckyfriedtakahe 2016-01-06 23:03:52 +11:00
Jean-Yves Avenard 1d9aa03ccd Bug 1237210: [ffmpeg] P2. Reduces threads use in FFmpeg video decoder. r=gerald
We use the same logic as what is used in libvpx to ensure that we won't get a regression due to excessive memory/thread use when replacing libvpx with ffmpeg.
2016-01-06 23:03:49 +11:00
Jean-Yves Avenard 6e1eaf81a6 Bug 1237210: [ffmpeg] P1. Have specialized AVCodecContext initialization. r=gerald
A common initialization procedure is too restrictive, and we end up setting up audio configuration for video decoding and vice-versa
2016-01-06 23:03:49 +11:00
Jean-Yves Avenard ea13a5a2fb Bug 1236746: Let FFmpeg manages its own memory allocation. r=gerald
Additionally, the API to override memory allocation has been deprecated years ago and it completely removed in libavcodec 57.
2016-01-05 16:55:11 +11:00
Jean-Yves Avenard f5d33466a2 Bug 1236120: [ffmpeg] Use demuxed dimensions to determine picture size and offset. r=gerald
Don't assume it always has an offset of (0,0)
2016-01-01 20:54:31 +11:00
Phil Ringnalda 33c7af5cab Back out 6 changesets (bug 1214462) for Win PGO build bustage, reftest failures and mochitest failures
CLOSED TREE

Backed out changeset 803dba2adb27 (bug 1214462)
Backed out changeset e1b318c9c1db (bug 1214462)
Backed out changeset 3a421412b161 (bug 1214462)
Backed out changeset 2b388a17f4be (bug 1214462)
Backed out changeset 6a290f27f9bc (bug 1214462)
Backed out changeset 3dbf22bf17a4 (bug 1214462)
2015-12-30 20:37:08 -08:00
Jean-Yves Avenard 304753adc6 Bug 1214462: P4. Add Windows support for the FFmpeg PDM. r=kentuckyfriedtakahe 2015-12-31 13:17:23 +11:00
Jean-Yves Avenard 2d8ba4fc1e Bug 1234553: Always request 16 bits audio for libavcodec 53. r=kentuckyfriedtakahe
LibAV 0.8 produces rubbish floating point data. We had restricted LibAV 0.8 to produce 16 bits audio instead, unfortunately some ubuntu version appears to have bumped the minor version.
2015-12-24 13:53:37 +11:00
Jean-Yves Avenard 52c16ccf40 Bug 1233340: [ffmpeg] Support YUV420J pixel format. r=kentuckyfriedtakahe
YUV420J is 12bpp YUV420P.
2015-12-21 13:20:23 +11:00
Jean-Yves Avenard ef21ca8081 Bug 1226707: [ffmpeg] P1. Delete codec context upon initialization failure. r=gerald 2015-11-23 16:30:47 +11:00
Jean-Yves Avenard 0911f86c44 Bug 1223333: [ffmpeg] Do not rely on library name to determine the libavcodec's version. r=kentuckyfriedtakahe
Also uses portable way to dynamically open libraries.
2015-11-19 10:32:21 +11:00
Eugen Sawin 81ff3f75e8 Bug 1221991 - [1.3] Make SupportsMimeType a const function. r=jya 2015-11-17 20:50:28 +01:00
David Anderson 27bfc27d62 Decouple SharedRGBImage and PlanarYCbCrImage from ImageContainer. (bug 1222910, r=mattwoodrow) 2015-11-17 00:09:01 -08:00
sajitk 582e1a55fa Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-15 14:49:01 +01:00
Wes Kocher f3a9eb2a26 Backed out changeset 1e5f3d1151d6 (bug 1219480) for cpp unittest bustage CLOSED TREE
--HG--
extra : commitid : BMVKq6cPeho
2015-11-11 09:36:56 -08:00
sajitk 3cbe348cdd Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian
--HG--
extra : rebase_source : c73098485fa005d914304fb6e7f8eba3c15e66dc
2015-11-11 06:52:00 +01:00
Nathan Froyd 1f0804852a Bug 1220491 - clarify ownership relationships for creators of AudioData; r=gerald
The way we pass in AudioDataValue arrays into AudioData is non-uniform:
sometimes we have nsAutoArrayPtrs, sometimes we don't, and it's not
immediately obvious from the function signature of the constructor that
we're actually taking ownership of this array.  Let's fix that by using
UniquePtr<AudioDataValue[]> smart pointers to hold the data prior to
creating AudioData values, and for passing in to AudioData's
constructor.  Using standard-er C++ things instead of our homegrown ones
is a good thing.
2015-11-01 17:34:26 -05:00
Jean-Yves Avenard bd9b321d2d Bug 1219134: P4. Properly assign the decoded sample duration. r=edwin
We default to the previous logic if for some unlikely condition we couldn't find the frame's duration (using the last input frame's duration)
2015-11-02 12:18:42 +11:00
Jean-Yves Avenard c21fe67619 Bug 1219134: P3. Properly set the keyframe flag. r=edwin
We were incorrectly setting the keyframe flag of the last input sample rather than of the decoded one.
2015-11-02 12:18:41 +11:00
Jean-Yves Avenard 3787f2d9e5 Bug 1219134: P2. Use LibAV/FFmpeg logic to detect invalid pts. r=edwin
The logic was extracted from LibAV cmdutils.c. FFmpeg provides an API for that (av_frame_get_best_effort_timestamp()) unfortunately this isn't provided by LibAV.
So copy the logic instead in order to keep compatibility with the two forks.
2015-11-02 12:18:40 +11:00
Jean-Yves Avenard fe233d60f5 Bug 1219134: P1. Fix pts calculation in FFmpeg video decoder. r=edwin
This is the primary reason why we got no pts returned (pts were set to 0) when using early version of LibAV. Apparently you are expected to set the pts when allocating the buffer of a frame.
This is undocumented, but both LibAV and FFmpeg do so internally. So do the same.
2015-11-02 12:18:40 +11:00
Carsten "Tomcat" Book 657fae2cc0 Backed out changeset 571ec9b53caa (bug 1219134) on request from jya for problems with the FFmpeg 2015-10-30 13:51:03 +01:00
Carsten "Tomcat" Book 42a2e03f42 Backed out changeset 4953d5ffbacf (bug 1219134) 2015-10-30 13:50:30 +01:00
Carsten "Tomcat" Book 657bc370a2 Backed out changeset 68799b5ac681 (bug 1219134) 2015-10-30 13:50:29 +01:00
Carsten "Tomcat" Book 0b6f8e837a Backed out changeset 6b57ad2001ff (bug 1219134) 2015-10-30 13:50:27 +01:00
Jean-Yves Avenard ec0cfbcf70 Bug 1219134: P4. Properly assign the decoded sample duration. r=edwin
We default to the previous logic if for some unlikely condition we couldn't find the frame's duration (using the last input frame's duration)
2015-10-30 19:11:53 +11:00
Jean-Yves Avenard f9f672be30 Bug 1219134: P3. Properly set the keyframe flag. r=edwin
We were incorrectly setting the keyframe flag of the last input sample rather than of the decoded one.
2015-10-30 19:11:53 +11:00
Jean-Yves Avenard 12142482c6 Bug 1219134: P2. Use LibAV/FFmpeg logic to detect invalid pts. r=edwin
The logic was extracted from LibAV cmdutils.c. FFmpeg provides an API for that (av_frame_get_best_effort_timestamp()) unfortunately this isn't provided by LibAV.
So copy the logic instead in order to keep compatibility with the two forks.
2015-10-30 19:11:52 +11:00
Jean-Yves Avenard b9466da3da Bug 1219134: P1. Fix pts calculation in FFmpeg video decoder. r=edwin
This is the primary reason why we got no pts returned (pts were set to 0) when using early version of LibAV. Apparently you are expected to set the pts when allocating the buffer of a frame.
This is undocumented, but both LibAV and FFmpeg do so internally. So do the same.
2015-10-30 19:11:52 +11:00