Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Video and Camera Support for Stage3D using Vid...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Overview
2
 How Stage3D fits within the Flash...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Stage3D: The stage behind the Stage
3
 Set of...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Demo
4
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
How to fix : Bitmap representation of video
5
...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
New Approach - Video Texture
6
Directly access...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Video Texture – How to use?
 Confirm if Video...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Video Texture – How to use?
 Create VideoText...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Demo
9
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Video Texture – How to use?
 Video frame corr...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Video Texture – How to use?
 VideoTextureEven...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Video Texture – Use Cases
12
Camera Input
In-g...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Roadmap
 Implementation of video texture on i...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Questions
14
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
ETC2 Texture Compression (Ericsson Texture Com...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
GPU TEXTURE COMPRESSION
16
CPU GPU
Upload of t...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
ADOBE TEXTURE FORMAT
17
• Container format for...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Problem
18
ETC1
(android)
Size on CPU – 170KB
...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
SOLUTION
 OpenGL ES 3.0 introduced high quali...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Demo
20
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Comparing The Two Applications
21
Size of APK ...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Questions
22
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
64-bit Support & Parallel Compilation for iOS
...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
64-bit support for iOS applications
Work on s...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Universal binary was the way..
SWFs ABC
Files
...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
But..
Average Packaging Time Increase : 93%
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Parallel Compilation for packaging time reduct...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Packaging time comparison
Average reduction in...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Questions
29
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Standard Extended Profile
Mayank Bhagya | AIR ...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Features
 Enhanced register set
 Shader size...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
A sample shader
32
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Usecases
33
 Complex shaders
© Jojo Nicado
Wa...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Demo
34
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Adobe Graphics Assembly Language - v3
 Standa...
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Questions
36
© 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Upcoming SlideShare
Loading in …5
×

Adobe Session on Flash Online Conference #12

1,791 views

Published on

1) “Video Texture on Android” – Nimisha, Chandra Prakash – Adobe
2) “ETC2(Ericsson Texture Compression) support in AIR” – Ridam Batra – Adobe
3) “iOS64 bit Support and Compilation Improvements” – Abhinav Dandh – Adobe
4) “Standard Extended Profile” – Mayank Bhagya – Adobe

Published in: Technology
  • Be the first to comment

Adobe Session on Flash Online Conference #12

  1. 1. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Video and Camera Support for Stage3D using Video Texture Nimisha/Chandra Prakash | AIR Engineering
  2. 2. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Overview 2  How Stage3D fits within the Flash display model?  Problem at hand: using video as a content in 3D scene  Current method to fix the problem at hand  New approach to solve the problem  How to use the new approach?  Use cases
  3. 3. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Stage3D: The stage behind the Stage 3  Set of special Stages that are specifically dedicated to 3D
  4. 4. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Demo 4
  5. 5. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. How to fix : Bitmap representation of video 5  Problems  Requires multiple copying of bitmap  Slow and Resource Intensive Video rendered in RGB on a Video ObjectVideo rendered in RGB on a Video Object Bitmap Representation of VideoBitmap Representation of Video Create a TextureCreate a Texture Update the texture with the bitmapUpdate the texture with the bitmap
  6. 6. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. New Approach - Video Texture 6 Directly access texture from netstream or cameraDirectly access texture from netstream or camera  Advantages  Source texture in stage 3D pipeline  Fast and Hardware accelerated
  7. 7. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Video Texture – How to use?  Confirm if VideoTexture is supported by Context3D class 7 if( stage.stage3Ds.length > 0 ) { var stage3D:Stage3D = stage.stage3Ds[0]; stage3D.addEventListener( Event.CONTEXT3D_CREATE, Context3DHandler ); stage3D.requestContext3D( ); } function Context3DHandler ( event : Event ) : void { if (Context3D.supportsVideoTexture) { // We can create VideoTexture Object with Context3D object. } }
  8. 8. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Video Texture – How to use?  Create VideoTexture object and attach NetStream/Camera object to created VideoTexture object 8 var ns:NetStream; var context3D:Context3D; var texture:VideoTexture; texture = context3D.createVideoTexture(); texture.attachNetstream(ns); texture.addEventListener(Event.TEXTURE_READY, renderFrame); ns.play("http://www.adobe.com/AIR/videoTexture/demo.mp4");
  9. 9. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Demo 9
  10. 10. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Video Texture – How to use?  Video frame corresponding to current audio playback  Callback for an event Event.TEXTURE_READY is fired  Use an updated VideoTexture object with currently available video frame 10 var context3D:Context3D; function renderFrame(e:Event):void { // Render on stage3D with VideoTexture }
  11. 11. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Video Texture – How to use?  VideoTextureEvent object that works same with the StageVideoEvent event 11 texture.addEventListener(VideoTextureEvent.RENDER_STATE, onRenderState); function onRenderState (event:VideoTextureEvent) { if ( event.status == VideoStatus.SOFTWARE) { // Indicates software video decoding works. } if ( event.status == VideoStatus.ACCELERATED ) { // Indicates hardware-accelerated (GPU) video decoding works. } if ( event.status == VideoStatus.UNAVAILABLE ) { // Indicates Video decoding is not supported. } }
  12. 12. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Video Texture – Use Cases 12 Camera Input In-game video call with shader effects  Efficient embedding of camera streams Video Ads In place Video Ads  In game video streams containing streamed content or live content or commercials Credit: Waste Invaders
  13. 13. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Roadmap  Implementation of video texture on iOS  We have already signed off the feature for iOS and the developer community is using it  Implementation of video texture on Android  Feature is ready for release and is available in labs for developers to try out video texture on Android  The feature would most probably be usable in a full fledged way in our next release 13
  14. 14. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Questions 14
  15. 15. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. ETC2 Texture Compression (Ericsson Texture Compression) Ridam Batra | AIR Engineering
  16. 16. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. GPU TEXTURE COMPRESSION 16 CPU GPU Upload of textures from CPU to GPU is a very slow operation GPU can understand block compressed texture formats like etc1,pvrtc,etc2,dxt etc. Compressed Textures Texture Compression is the ANSWER.
  17. 17. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. ADOBE TEXTURE FORMAT 17 • Container format for compressed images. • AIR or Flash Player automatically extracts the appropriate texture depending on platform.
  18. 18. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Problem 18 ETC1 (android) Size on CPU – 170KB Size after GPU upload - 170KB             PVRTC (ios) Size on CPU – 170KB Size after GPU upload - 170 KB Original png image Size on CPU – 256KB Size after GPU upload - 1048KB DIFFERENT RENDERING RESULT ON IOS AND ANDROID !!!!
  19. 19. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. SOLUTION  OpenGL ES 3.0 introduced high quality ETC2 compression as a standard feature. It works on ios and android both. 19 Original png image 1048 KB ATF with ETC1 + PVRTC 340 KB ATF with ETC2 170 KB SIMILAR RENDERING RESULT ON IOS AND ANDROIDSIMILAR RENDERING RESULT ON IOS AND ANDROID SIZE OF TEXTURES FURTHER REDUCED SIZE OF TEXTURES FURTHER REDUCED ANDAND
  20. 20. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Demo 20
  21. 21. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Comparing The Two Applications 21 Size of APK with PNG files - 37.7 MB Size of APK with ATF Files - 21.2 MB App With PNG Images GPU Memory for textures– 73,738 KB App With Atf Files GPU Memory for textures– 9,216 KB GPU MEMORY
  22. 22. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Questions 22
  23. 23. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 64-bit Support & Parallel Compilation for iOS Abhinav Dhandh | AIR Engineering
  24. 24. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 64-bit support for iOS applications Work on supporting 64-bit binary feature for iOS applications Support for newer A7+ processor devices: Additionally, Apple issued new guidelines for app submission iPhone 5s iPhone 6 iPhone 6+ iPad Air Mini iPad Air iPad Air 2
  25. 25. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Universal binary was the way.. SWFs ABC Files 32-bit Compilation and Linking Executable File IPA Combine ADT  Additionally, stability of New compiler has been improved  Major bug fixes for real world applications 64-bit Compilation and Linking
  26. 26. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. But.. Average Packaging Time Increase : 93%
  27. 27. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Parallel Compilation for packaging time reduction: 27 SWFs ABC Files ABC Files 32-bit Compilation and Linking Executable File IPA Combine ADT Multi-threaded Compilation Executable File Combine 32-bit Compilation and Linking 32-bit Compilation and Linking 64-bit Compilation and Linking 64-bit Compilation and Linking 64-bit Compilation and Linking
  28. 28. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Packaging time comparison Average reduction in packaging time : 44%
  29. 29. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Questions 29
  30. 30. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Standard Extended Profile Mayank Bhagya | AIR Engineering
  31. 31. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Features  Enhanced register set  Shader size 31 AGAL v2 AGAL v3 Vertex Attributes 8 16 Fragment Constants 64 200 AGAL v2 AGAL v3 Tokens 1024 2048
  32. 32. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. A sample shader 32
  33. 33. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Usecases 33  Complex shaders © Jojo Nicado Water © Dom Crossley Fog
  34. 34. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Demo 34
  35. 35. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Adobe Graphics Assembly Language - v3  Standard Extended Profile  Mobile – AIR v17  Desktop – FP & AIR v18  Mini Assembler @ GitHub  https://github.com/adobe-flash/graphicscorelib 35
  36. 36. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Questions 36
  37. 37. © 2015 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

×