Commit Graph

78 Commits

Author SHA1 Message Date
Cameron Gutman 8d05f044f5 Allow software decoding on the emulator for testing 2017-06-08 22:21:51 -07:00
Cameron Gutman fe237d1da3 Fix some exceptions that escaped on decoder shutdown and surface loss 2017-06-07 20:01:09 -07:00
Cameron Gutman e199fcd2d9 Try allowing decoder exceptions after initial start since we shouldn't throw on stop anymore 2017-06-06 22:50:08 -07:00
Cameron Gutman d7c6f63592 Force Qualcomm and Samsung HEVC decoders disabled to avoid crashes and poor performance 2017-06-06 22:49:09 -07:00
Cameron Gutman 4b9c6b149a Remove the decoder stop hack and try to workaround the issue differently 2017-06-06 22:48:28 -07:00
Cameron Gutman f76d78607a Improve HEVC decoder compatibility by submitting VPS+SPS+PPS in one CSD blob rather than individually 2017-06-03 11:46:29 -07:00
Cameron Gutman d06912e81a Name the spinner threads so they are easily identified 2017-05-31 19:05:25 -07:00
Cameron Gutman 08bcd97594 Use a less power intensive way of keeping the DVFS state friendly 2017-05-29 20:11:39 -07:00
Cameron Gutman 6edd0ab540 Only use RFI on modern Intel devices 2017-05-21 14:15:05 -07:00
Cameron Gutman 3176a85f35 Enable RFI for Intel decoders 2017-05-21 14:01:30 -07:00
Cameron Gutman ad1c11bba5 Decouple direct submit producer and polling consumer 2017-05-21 13:48:02 -07:00
Cameron Gutman 8962497a8c Fix deadlocks in audio and video stream shutdown using the new callbacks 2017-05-21 13:07:19 -07:00
Cameron Gutman 55f2e89bbe Reuse callback buffers 2017-05-18 13:37:02 -07:00
Cameron Gutman 686490ba70 Handle decoder exceptions in dequeueInputBuffer 2017-05-18 10:25:48 -07:00
Cameron Gutman d0ecde1e16 Fix crash if video decoder fails to initialize 2017-05-18 09:58:28 -07:00
Cameron Gutman bafa2addd3 Fix crash queuing input buffer on stop 2017-05-17 20:09:11 -07:00
Cameron Gutman 32b787e77c Eat more decoder exceptions on stop/teardown 2017-05-17 19:45:55 -07:00
Cameron Gutman 43b58b7a5e Exclude Qualcomm's software HEVC decoder which chokes on our streams 2017-05-17 19:41:43 -07:00
Cameron Gutman a3c95480d8 Enable reference frame invalidation for recent Qualcomm and NVIDIA decoders 2017-05-15 23:23:17 -07:00
Cameron Gutman 732311c2a4 Fix codec display after streaming and restore polling behavior of non-direct submit decoders 2017-05-15 21:41:41 -07:00
Cameron Gutman 36b248be4b Fix logging and deadlock on stream termination 2017-05-15 01:06:35 -07:00
Cameron Gutman 8e247ad9a6 Basic streaming working with new-core 2017-05-15 00:31:03 -07:00
Cameron Gutman a2de98c91a JNI code complete 2017-05-14 23:08:21 -07:00
Cameron Gutman 81d1e615bf Adapt to new-core reworking of moonlight-common (likely buggy) 2017-05-14 17:14:45 -07:00
Cameron Gutman f5444551b2 Avoid looping when the thread is trying to be interrupted 2016-11-22 23:20:00 -08:00
Cameron Gutman cc9b1aeaab Use a MediaCodecInfo object to describe a codec rather than a codec name 2016-11-20 17:56:53 -08:00
Cameron Gutman 3d177e97e4 Add support for displaying the rendered frame times 2016-11-17 23:34:56 -08:00
Cameron Gutman 8991b29329 Run at maximum decoder operating rate on M 2016-11-13 20:26:58 -08:00
Cameron Gutman a5ca8a7472 Add a hack to avoid crashing when the app window divider is dragged off of the screen on N multi-window 2016-06-18 14:40:42 -07:00
Cameron Gutman 55b9645651 Fix minor Lint issues 2016-06-18 12:38:43 -07:00
Cameron Gutman cbcb784a79 Blacklist Tegra X1's HEVC decoder until the correct SPS fixups are in place 2016-05-07 20:53:45 -04:00
Cameron Gutman f409a3583c Fix direct submit behavior in decoders since the addition of HEVC 2016-01-07 18:51:02 -06:00
Cameron Gutman ee1a047cde Remove several decoders from the whitelist based on some user-reported issues 2016-01-02 18:16:12 -06:00
Cameron Gutman 0e0352fdd6 Disable HEVC on NVIDIA hardware until the 16 frame buffering problem can be solved 2015-12-21 15:02:50 -08:00
Cameron Gutman ab8779086b Fix broken video on Galaxy S5 and Note III 2015-12-17 03:35:39 -08:00
Cameron Gutman ed8305b199 Revert "Blacklist the whole device from HEVC decoding if Qualcomm's HEVC hybrid decoder is found"
This reverts commit 3c2dd88fd3.
2015-12-17 02:23:22 -08:00
Cameron Gutman 3c2dd88fd3 Blacklist the whole device from HEVC decoding if Qualcomm's HEVC hybrid decoder is found 2015-12-16 19:20:00 -08:00
Cameron Gutman 0e21d5e166 Enable Amlogic and Rockchip decoders for HEVC 2015-12-16 18:46:37 -08:00
Cameron Gutman 3b1fcdfb10 Display an error dialog if we can't find an H.264 decoder 2015-12-16 18:30:53 -08:00
Cameron Gutman 9bb91e1085 Remove FFMPEG decoding and supporting code 2015-12-16 18:21:11 -08:00
Cameron Gutman 98bee122fe Don't report any HEVC decoders on pre-Lollipop devices 2015-12-16 17:14:16 -08:00
Cameron Gutman f509a4b3ab Don't use HEVC on the Shield Tablet by default (until further performance testing) 2015-12-13 13:20:11 -08:00
Cameron Gutman 3f46485382 Add support for streaming H.265 from Maxwell 2 cards 2015-12-12 21:11:08 -08:00
Cameron Gutman a7d4a04ac2 Missed the SPS replay code when fixing the Annex B escape sequence issues 2015-11-20 18:57:23 -08:00
Cameron Gutman f09fbf4ba6 Fix incorrect usage of SeqParameterSet.read() by feeding it possibly escaped Annex B NALUs 2015-10-28 00:24:16 -07:00
Cameron Gutman 5f13b9bca4 Don't set constraints 4 & 5 when using baseline profile hack 2015-10-13 19:29:36 -07:00
Cameron Gutman 2f219aac6f Only apply the constrained high profile SPS modification to Intel devices to avoid crashing other devices 2015-10-12 20:54:50 -07:00
Cameron Gutman a6003f6bff Remove MediaTek decoders from the decoders that need bitstream restrictions. The correct fix was to lower level_idc to reduce the required buffering. On newer MediaTek chipsets, sending bitstream restrictions actually slows down decoding by a factor of 3. 2015-10-11 16:57:37 -07:00
Cameron Gutman fd12e30c53 Set constraint flags corresponding to Constrained High Profile on KitKat and higher. Fixes Nexus Player high latency on Android 6.0. 2015-10-10 23:28:48 -07:00
Cameron Gutman f598153818 Small improvements to Media Codec DR 2015-10-10 15:17:24 -07:00