Commit Graph

41 Commits

Author SHA1 Message Date
Cameron Gutman 5fdd9b773c Workaround decoder errata of the Exynos 4 2014-08-29 15:38:08 -07:00
Cameron Gutman 9393bf7f79 Fix a regression in video scaling after the CPU decoding fix 2014-08-06 22:33:41 -07:00
Cameron Gutman b2ad259a7c Also add bitstream restrictions to Qualcomm devices to hopefully address the GS3 issue 2014-08-06 17:22:41 -07:00
Cameron Gutman 8887401644 Fix surface sizing with scaling disabled on the CPU decoder 2014-08-05 23:16:02 -07:00
Cameron Gutman 829532c572 Some devices don't properly get interrupted while waiting for an input buffer, so wait 100 ms then check the interrupt flag 2014-08-05 21:29:21 -07:00
Cameron Gutman f5ec665115 Park for a bit if there's nothing to do 2014-07-19 03:49:44 -07:00
Cameron Gutman 4258ac752e Add specific CPU detection for the emulator 2014-07-13 21:21:47 -07:00
Cameron Gutman 993711ccfe Don't report decoding time for software decoder because it generally doesn't capture the information we want due to CPU overhead 2014-07-12 13:46:39 -07:00
Cameron Gutman d1ef912984 Remove the remaining allocations in the AV paths 2014-07-12 13:38:28 -07:00
Cameron Gutman d2f8ee8b81 Add timekeeping stats to CPU decoder 2014-07-10 18:59:05 -07:00
Cameron Gutman 91e68c0580 Include rendering time in the total decoding time 2014-07-10 18:47:30 -07:00
Cameron Gutman a74de39879 Update latency tracking code 2014-07-02 08:16:54 -07:00
Cameron Gutman 1d27309e53 Revert "Disable latency tracking due to performance problems"
This reverts commit 3dd57e9f38.
2014-07-01 19:51:45 -07:00
Cameron Gutman 3f00885d2c Protect against a null pointer exception if setup() fails 2014-07-01 07:27:32 -07:00
Cameron Gutman 3dd57e9f38 Disable latency tracking due to performance problems 2014-06-30 21:23:45 -07:00
Cameron Gutman a639143e94 Add a latency toast after the stream stops 2014-06-30 21:14:27 -07:00
Cameron Gutman b3c78ce1b1 Submit codec config frames with the corresponding flag to work around an TI OMAP 4 errata. Also add a file that documents the currently known codec errata. 2014-06-30 21:05:10 -07:00
Cameron Gutman 8f43b95129 Remove the RenderScript renderer 2014-06-29 23:51:59 -07:00
Cameron Gutman 7142db3fac Fixes for Android L and some weird codec exceptions 2014-06-29 11:49:42 -07:00
Cameron Gutman faa82ca9d6 Fixup num_ref_frames in SPS on Qualcomm devices to (hopefully) fix the crashing video bug on the Galaxy S3 after Android 4.3 2014-06-26 20:03:12 -07:00
Cameron Gutman 869cbe2e81 Frame latency and jitter improvements 2014-06-19 19:13:16 -07:00
Cameron Gutman d2773be32e Separate the different SPS fixups by decoder. Go back to the old way of doing bitstream restrictions because the new way seems to be broken. TI OMAP4's Ducati decoder works now :) 2014-04-14 13:24:52 -04:00
Cameron Gutman fc9c4d9aaa Use a much better method for adding bitstream restrictions to the SPS. Fix a violation in H.264 spec after adding bitstream restrictions. Credit to irtimmer for the changes. 2014-04-13 20:47:37 -04:00
Cameron Gutman b2eb953f45 Don't dump decoders on start because some devices will throw a spurious IllegalStateException when querying capabilities 2014-03-28 20:06:53 -04:00
Cameron Gutman 70a1dd56b4 A bit more cleanup 2014-03-21 21:16:53 -04:00
Cameron Gutman 9857017b22 Dump decoders before starting for logging purposes. Remove the software decoders from the blacklist since they are properly detected by the high profile check now. 2014-03-21 20:54:33 -04:00
Cameron Gutman 53474c7d28 Check that the decoder supports high profile H.264 before using it 2014-03-21 20:29:22 -04:00
Cameron Gutman 735ad02fb4 The surface format must be RGBX if we're doing CPU rendering. If the surface is RGB565, the renderer will not properly format the output and the decoder will crash. 2014-03-21 18:20:55 -04:00
Cameron Gutman e13241eebf Use LimeLog for logging 2014-02-26 17:20:10 -05:00
Cameron Gutman c7f26a179d Add the frame skipping code back for certain decoders (Qualcomm) that are slow when rendering all frames and stall the whole decoder pipeline 2014-02-26 01:56:05 -05:00
Cameron Gutman 4b2552ed64 Set MediaCodec flags on the input buffer based on the DU flags 2014-02-26 01:01:54 -05:00
Cameron Gutman ddc70e39c9 Only use direct submit on decoders that have (effectively) infinite input buffers 2014-02-19 22:18:26 -05:00
Cameron Gutman b0c4d47962 Report direct submit support for the MediaCodec decoder renderer 2014-02-19 21:00:39 -05:00
Cameron Gutman 6fc848ef56 Block for 100 ms instead of 100 us waiting for a frame. This reduces the CPU time wasted by useless iterations of the rendering loop. 2014-02-19 19:49:57 -05:00
Cameron Gutman c537af2273 Render the latest frame available at the time 2014-02-19 19:40:35 -05:00
Cameron Gutman 22ecdd9cf8 Don't skip frames when rendering 2014-02-19 19:22:00 -05:00
Cameron Gutman 426b40ae82 Don't allocate a new BufferInfo object for each output buffer 2014-02-17 14:21:42 -05:00
Cameron Gutman 46fbee1a3b Only use SPS hack on Tegra devices 2014-01-10 01:05:15 -06:00
Cameron Gutman 2993d62191 Unblacklist Tegra and Rockchip after the SPS fix 2014-01-06 22:54:35 -06:00
Cameron Gutman 9d3ee3a0a2 Add UI elements and backend code for manually overriding the default decoder choice. Redraw at the specified refresh rate. 2013-12-26 17:35:53 -05:00
Cameron Gutman 14d093cf06 Remove code shared with limelight-common and implement Android bindings. 2013-12-05 12:59:36 -05:00