Commit Graph

23 Commits

Author SHA1 Message Date
charles bloom
578f1d4048 Add TSF_R32F single channel float texture source format
#preflight 6272ecc3e73769b67fe88db9
#rb dan.thompson,fabian.giesen

[CL 20064522 by charles bloom in ue5-main branch]
2022-05-05 16:58:24 -04:00
charles bloom
bbc36d4e36 ImageWrapper clean up duplicate variables
remove unsupported row stride and check it is tight packed as expected

#preflight 6241c305a67e4e1ab71ea308
#rb none
#fyi julien.stjean

[CL 19527833 by charles bloom in ue5-main branch]
2022-03-28 11:20:27 -04:00
charles bloom
04ffabc485 ImageWrapper and import/export refactor
FImage is now the standard preferred type for a bag of pixels
FImageView can point at pixels without owning an allocation
ERawImageFormat (FImage) converts to ETextureSourceFormat
FImageUtils provides generic load/save and get/set from FImage
major cleanup in the ImageWrappers
new preferred API is through ImageWrapperModule Compress/Decompress
SetRaw/GetRaw functions cleaned up to not have undefined behavior on unexpected formats
ImageWrapper output added for HDR,BMP,TGA
RGBA32F format added and supported throughout import/export
EditorFactories import/export made more generic, most image types handled the same way using FImage now
Deprecate old TSF RGBA order pixel formats
Fix many crashes or bad handling of unusual pixel formats
Pixel access functions should be used instead of switches on pixel type

#preflight 6230ade7e65a7e65d68a187c
#rb julien.stjean,martins.mozeiko,dan.thompson,fabian.giesen

[CL 19397199 by charles bloom in ue5-main branch]
2022-03-15 18:29:37 -04:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
alexander suvorov
9283f3f96e Add full support for 32-bit float EXR image channels.
#rb Julien.StJean, charles.bloom

[CL 16454318 by alexander suvorov in ue5-main branch]
2021-05-25 15:01:03 -04:00
alexander suvorov
9ae202b0ca Implement image dump functionality for Oodle texture compression.
#rb charles.bloom

[CL 16319306 by alexander suvorov in ue5-main branch]
2021-05-13 17:19:11 -04:00
Julien StJean
547c7f160d Optimisation to the legacy texture import and improvement to texture wrapper
Minor change to FImageWrapperBase. GetRaw and GetCompressed now consume the array with the same name instead of having to do a copy of it.
I changed the api IImageWrapper::GetCompressed to return a TArray64<uint8> instead of returning a const TArray64<uint8>&.
Added the format RGBAF to the struct ERGBFormat. Changed the engine code using the EXR image wrapper to reflect that.
The EXR image wrapper now avoid doing an unessary copy of the compressed image when calling compress.

Improvement to the performence of the function UTextureFactory::ImportImage. We now use the magic bytes of the file for certains format to skip some tests.

Here is some performance metrics I captured on my desktop (6 core, 12 threads XEON)

Importing a folder of tiff files (22 files, 4.16 GB Total)
Before: 66.152738 seconds
After: 43.609245 seconds

#jira UEENT-3822
#rb Alexis.Matte

[CL 16128765 by Julien StJean in ue5-main branch]
2021-04-27 11:59:02 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
Juan Canada
2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00
Rolando Caloca
c2d62c0ecc Copying //UE4/Dev-Rendering@10763356 to //UE4/Dev-RenderPlat-Staging
#rb none
#rnx

[CL 10769097 by Rolando Caloca in Dev-RenderPlat-Staging branch]
2019-12-17 14:14:23 -05:00
steve robb
14cab21e0c Deprecating ARRAY_COUNT and changing it to UE_ARRAY_COUNT.
Replicated from CL# 7924370.

#rb none


#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 9279060 via CL 9279063
#ROBOMERGE-BOT: (v443-9013191)

[CL 9279836 by steve robb in Main branch]
2019-09-28 08:19:35 -04:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
Rolando Caloca
aa0d2303d6 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) @ 6944469
#rb none
#rnx

[CL 6944849 by Rolando Caloca in Main branch]
2019-06-11 18:27:07 -04:00
Marcus Wassmer
cbfcbbb93b Merging //UE4/Dev-Main@4662404 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none
Should be just copyright updates

[CL 4680440 by Marcus Wassmer in Dev-Rendering branch]
2019-01-03 19:16:26 -05:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
JeanMichel Dignard
ca8f2a2c24 Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600)
#rb none
#lockdown Nick.Penwarden

============================
  MAJOR FEATURES & CHANGES
============================

Change 4073383 by Patrick.Boutot

	[AJA] Set base timecode for AJA TimecodeProvider

Change 4075631 by Patrick.Boutot

	Change icon for TimecodeSynchronizer.
	Update TimecodeSynchronizer with the new AJA delayed open sources.
	Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master.
	Make sure the source are ready before viewing them.
	Remove PreRoll command.

Change 4077328 by JeanMichel.Dignard

	Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package.

	#jira UEENT-1423

Change 4077338 by Rex.Hill

	USD plugin updated to v8.4 with python support

Change 4079063 by Rex.Hill

	USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin

Change 4079911 by Rex.Hill

	USD pyd files recompiled

Change 4080058 by Rex.Hill

	Fix usd plugin loading, added missing libtrace.dll

Change 4080376 by Matt.Hoffman

	Improvements to Sequence Recorder's public API to expose more functionality for third parties.

Change 4084984 by Matt.Hoffman

	Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end.

	#jira UESP-670

Change 4086688 by Matt.Hoffman

	Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file.

	#jira UESP-547

Change 4088904 by Max.Chen

	Sequence Recorder: Set actor tags as unique

Change 4089176 by Max.Chen

	Sequence Recorder: Add option to record to the target level sequence playback range length.

Change 4089180 by Max.Chen

	Sequence Recorder: Add protection agains null movie scene sections

Change 4089205 by Max.Chen

	Sequence Recorder: Save recorded audio files if auto save is on.

	#jira UESP-660

Change 4089206 by Max.Chen

	Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera.

	#jira UE-59347

Change 4089214 by Max.Chen

	Sequence Recorder: Add support for looping/rolling takes

	#jira UESP-658

Change 4089280 by Max.Chen

	Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail)

Change 4093824 by Andrew.Rodham

	Editor: Added option to class pickers to force use of class Display Names

Change 4093826 by Andrew.Rodham

	Removed implicit gamma to linear conversion from EXR writer

	  - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in.
	  - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification

	#jira UESP-545

Change 4093830 by Andrew.Rodham

	Fixed shutdown crash when destroying a media player that was still playing

Change 4093831 by Andrew.Rodham

	Fixed exception handling in png image wrapper

Change 4093833 by Andrew.Rodham

	Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set

Change 4093841 by Andrew.Rodham

	Added a utility struct for dealing with editor actor layers from within Blueprints

Change 4093867 by Andrew.Rodham

	Sequencer: Added the ability to implement custom capture protocols for movie scene captures

	  - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations.
	  - Removed capture protocol registry since it is no longer required.
	  - Removed FCaptureProtocolID in favor of class discovery at runtime.
	  - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations.
	  - Added new capture protocol for capturing final pixels to EXR (including burn-ins)
	  - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files
	  - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol
	  - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary.

	#jira UESP-545

Change 4094239 by Rex.Hill

	Export sequence to usd
	#jira UESP-563

Change 4094393 by Andrew.Rodham

	Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols

Change 4094622 by Patrick.Boutot

	Add MediaFrameworkUtilitites plugin.
	Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance.
	Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport.
	Add the Media category in placement mode.
	Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed.

Change 4094673 by Anousack.Kitisa

	Created widget to display metadata as list view of tags/values.

	#jira UEENT-1296

Change 4094795 by Simon.Therriault

	MediaFrameworkUtilities

	- Adding default media texture for default media bundle material
	- Changed default material to unlit

Change 4094867 by Rex.Hill

	Usd sequence exporter camera rotation corrected

Change 4096426 by JeanLuc.Corenthin

	- Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description.
	- Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays
	- Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles.
	- Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices
	- Changed version of static mesh and mesh description
	- Fixed issue with mismatching attribute set when generating LOD meshes

	#jira UEENT-887, UE-59474, UE-59471

Change 4097101 by Patrick.Boutot

	Remove warning in PropertyEditorClass when trying to load the "None" class.

Change 4097443 by Rex.Hill

	USD export bake keys

Change 4097468 by Patrick.Boutot

	Edit and initialize the timecode provider of the editor.

Change 4097479 by Anousack.Kitisa

	Added support for commandlet and unattended script modes to Plugin Warden.

	#jira UE-57333

Change 4097578 by Rex.Hill

	USD export tweaks

Change 4098257 by Simon.Therriault

	GarbageMatteCaptureComponent

	- Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor.

Change 4100072 by Jamie.Dale

	Updated wrapped enums to be more consistent with native Python enums

	 - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums).
	 - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown).
	 - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python).
	 - Wrapped enums may now be iterated (like native Python enums).
	 - Wrapped enums now return a length based on their number of entries (like native Python enums).
	 - ScriptName meta-data can now be used with enum entries.

Change 4100255 by Patrick.Boutot

	[MediaBundle] Modify the base shader to support "failed texture"

Change 4103838 by Simon.Therriault

	MR Garbage Matte Component

	- Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven.

Change 4115616 by Rex.Hill

	USD Exporter now exposed to UI

Change 4116333 by Simon.Therriault

	MediaBundle

	- Updated default media bundle to include lens distortion and chromakeying
	- Added possibility to spawn material editor for MediaBundle inner material
	- Fix for inner objects flags preventing asset deletion
	- Fix for CloseMedia not being called when changing map

	Lens Distortion
	- Fix for not being able to generate a Identity lens displacement map

Change 4117952 by Rex.Hill

	Expose OpenEditorForAssets to python

Change 4118498 by Rex.Hill

	Sequencer USD export can now export properties of actors in levels

Change 4118515 by Rex.Hill

	Update sequencer export task comment

Change 4118706 by Rex.Hill

	Sequencer USD updates

Change 4118968 by Rex.Hill

	Sequencer USD export now supports visibility

Change 4119702 by Simon.Therriault

	MediaBundle

	- Fix crash when changing MediaBundle on Actor multiple times.
	- Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo.
	- Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor
	- Added PostEditChange after setting MaterialProperty to fix potential propagation.

Change 4120060 by Patrick.Boutot

	Fix typo for TimecodeProviderClassName.
	Add "Config required restart"
	Add a button to reapply the CustomTimeStep or TimecodeProvider

Change 4122062 by Krzysztof.Narkowicz

	Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug:
	1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize.
	2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize().
	3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step.
	4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations.

	#jira none

Change 4122236 by Anousack.Kitisa

	Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory.

	#jira UE-57612
	#jira UEENT-762

Change 4122588 by Rex.Hill

	Sequencer Export USD lights now supported

Change 4122822 by JeanMichel.Dignard

	Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY.

	#jira UE-56664

Change 4123009 by JeanMichel.Dignard

	Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV

Change 4123517 by JeanLuc.Corenthin

	Fixed crash when running cooked game crash with asset imported from datasmith

	#jira UE-60173

Change 4124569 by Patrick.Boutot

	[AJA]
	When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second.

Change 4126421 by Max.Chen

	Sequencer: Add the ability to switch the takes of all the selected shots/subsections.

	#jira UESP-761

Change 4133010 by Simon.Therriault

	MediaBundle

	- Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly
	- Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared.
	- Added looping option on the bundle

	Keyer and lens materials

	- Renamed some parameter groups to Keyer_XX

Change 4135728 by Rex.Hill

	MovieSceneCapture crash fix when iteration on classes defined in python

Change 4135732 by Rex.Hill

	Sequencer scripting: expose get playback range, sub sequence get sequence

Change 4135734 by Rex.Hill

	USD python code refactored

Change 4136017 by Matt.Hoffman

	Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP.

	#jira UE-60188

Change 4147959 by Patrick.Boutot

	Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size.

Change 4147962 by Patrick.Boutot

	Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl.
	Refactor AjaMediaOutput to extend MediaOutput.
	Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture.
	Create AjaMediaCapture.

Change 4148395 by Rex.Hill

	USD python code cleanup

Change 4152901 by Rex.Hill

	Fix crash when recompiling blueprint or script class that serializes an object reference manually

Change 4152906 by Rex.Hill

	USD level import/export exposed to UI

Change 4152956 by Rex.Hill

	Rename unreal_usd to usd_unreal to avoid future module name conflicts

Change 4153331 by Rex.Hill

	Simplify USD attribute definitions

Change 4155472 by Rex.Hill

	USD level import now handles cameras and lights

Change 4155832 by Patrick.Boutot

	Fix Packaging for MediaFrameworkUtilities
	Fix MediaPlayer that crash on close when the engine is closing.

Change 4156020 by Mike.Zyracki

	LIVE LINK Sequencer Recording and Playback

	#jira UESP-714
	#jira UESP-715
	Support for Live Link Recording/Playback with Sequencer.
	Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record.
	For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random,

	Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches.

	Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records.

	In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents.  Not sure of any drawbacks with this but it seems to work well.  Had to make sure we stll keeped attach/parent/child logic when recording.

Change 4158488 by Rex.Hill

	USD scene import/export now uses UsdLux lights

Change 4158742 by Rex.Hill

	USD: Add test for level export and import

Change 4161645 by Patrick.Boutot

	Update MediaRecorder to use the ImageWriteQueue.
	Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full.

Change 4161651 by Patrick.Boutot

	Modify MediaCompositing to use an existing MediaPlayer

Change 4161657 by Patrick.Boutot

	Extend the SequenceRecorder to support additional object to record from other plugins.
	Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce.

Change 4162699 by Rex.Hill

	USD export sequence updates

Change 4163138 by Rex.Hill

	USD sequence export test added

Change 4163426 by Mike.Zyracki

	Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording

Change 4165714 by Patrick.Boutot

	[MediaCapture]
	Remove color box that tell the status of the MediaCapture.
	Add MediaCapture's name and use an image to represent the status.
	Use a ScrollBox around the "preview" output.
	Can select any actors.
	Only show the selectable camera grid when there is more than one camera.

Change 4166652 by Rex.Hill

	Expose SetMobility to scripting

Change 4167292 by Mike.Zyracki

	Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly.

	Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI.

Change 4170578 by Rex.Hill

	PackageTools exposed to scripting

Change 4170619 by Rex.Hill

	Fix ReversePolygonFacing crash

Change 4170621 by Rex.Hill

	USD mesh import can now be given list of individual meshes

Change 4172495 by Matt.Hoffman

	Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected.
	Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better.

	#jira None

Change 4173387 by Jon.Nabozny

	Bookmark usability and extensibility improvements

Change 4173755 by Rex.Hill

	PackageTools namespace deprecation

Change 4181799 by Patrick.Boutot

	Fix precesion error when importing a camera switcher in sequencer
	#jira UE-61212

Change 4184435 by Patrick.Boutot

	Only show the MediaCapture tab spawner in the level editor.
	Make sure the Material used to draw the render target is GCed.

Change 4195803 by Patrick.Boutot

	Warn user if the AJA CustomTimeStep is used with VSync enabled.

Change 4195866 by Patrick.Boutot

	Remove mention of CharBGR10A2 in AJA. The feature is not yet ready.

Change 4196059 by Rex.Hill

	Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h

Change 4196380 by Patrick.Boutot

	MediaCapture capture the backbuffer when the Viewport don't use an internal texture.
	#jira UE-61601

Change 4199378 by Patrick.Boutot

	For MediaFramework, add support for 10bits RGB texture

Change 4199380 by Patrick.Boutot

	[AJA] Add support for 10bits RGB texture in input
	Fix interlaced format that wasn't using the proper Stride value.

Change 4200359 by Jamie.Dale

	Renamed some "K2_" prefixed functions for Python

Change 4203016 by Max.Chen

	Sequencer: Add movie scene locking/read only.

	Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections

	#jira UESP-867

Change 4203018 by Max.Chen

	Sequencer: Test for movie scene read only before calling modify/transactions.

	#jira UESP-867

Change 4203622 by Simon.Therriault

	Bringing Aja MediaOutput MediaMode fix from Release 4.20

Change 4204895 by Rex.Hill

	Expose several file path functions to scripting

Change 4206747 by Rex.Hill

	USD level import and export updates

Change 4206783 by Rex.Hill

	USD updates

Change 4207021 by Rex.Hill

	USD, fix rotation on level import when there is non-uniform scale

Change 4207414 by Rex.Hill

	USD import static mesh material improvements

Change 4209733 by Patrick.Boutot

	Change the log time to use the current frame Timecode

	#jira UEENT-1107

Change 4209738 by Patrick.Boutot

	Option to automatically try to reopen the MediaSource again if an error is detected

Change 4210385 by Max.Chen

	Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time.

	Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime.

	This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number.

	#jira UE-61728


Change 4219824 by Patrick.Boutot

	Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe

Change 4220706 by Louise.Rasmussen

	Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section

	#JIRA UESP-826

Change 4220708 by Louise.Rasmussen

	Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In

	#JIRA UESP-826

Change 4226970 by Patrick.Boutot

	Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab

Change 4227333 by Rex.Hill

	USD Sequencer export now supports deltas

Change 4227455 by Matt.Hoffman

	Adds support to the Audio Mixer Submix to pause and resume a recording.

	#jira UESEQ-77

Change 4230963 by Patrick.Boutot

	Make the namespace an import option

Change 4234208 by Jon.Nabozny

	Fixed crash when 5 or more LiveLink sources were connected at the same time

Change 4234273 by Jon.Nabozny

	Add methods in FApp to get the current Timecode FrameRate.

Change 4237170 by Simon.Therriault

	MediaCapture

	Fix for MediaCapture panel not working in PIE

Change 4243758 by Andrew.Rodham

	It's now possible to resolve pixel data from a render target whose texture resource is still pending creation

Change 4244790 by Matt.Hoffman

	This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass.
	This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer).

	Current Limitations:
	Requires the new audio mixer ("-audiomixer")
	The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video).
	The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor.
	Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance.

	#jira UESEQ-77, UESP-669

Change 4246443 by Simon.Tourangeau

	Remove Beta flag from nDisplay plugin

	#jira UEENT-1716

Change 4246480 by Simon.Tourangeau

	Fix nDisplay plugin icon

	#jira UEENT-1715

Change 4246571 by Simon.Tourangeau

	Merging Lauren's VR Editor fixes

	4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews
	4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range
	4089914 Adding set start/end range buttons to radial menu
	4090502 Fixing sequencer looping not being set correctly
	4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely
	4095161 Fix for opening a sequence blocking level editor tab drag and drop
	4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct.
	4097286 Placing cameras now only summons the preview panel once you release
	4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand)
	4102732 Hiding VR editor elements from camera preview
	4103378 Added camera burnin text on preview windows as well.
	4103466 Fixes for camera text
	4103779 Fix for the actor previews not unpinning when entering VR mode.
	4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it.
	4106982 Any dockable window can now be placed in the world.
	4107298 Fix for crash when closing multiple camera previews
	4107426 Fix for crash when connecting node with no texture set
	4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at.
	4136345 Settings for tweaking VR mode movement
	4147473 Fix for controllers not showing up
	4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad
	4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI
	4186392 Second fix for sequencer scrubbing on the radial menu

Change 4247984 by Jamie.Dale

	Fixed potential memory corruption caused by Python glue code generation

	#jira UE-62397

Change 4255471 by Anousack.Kitisa

	Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting.

	#jira UEENT-1592
	#jira UEENT-1597
	#jira UEENT-1660

Change 4256323 by Anousack.Kitisa

	Added Polygon Selection Mode by smoothing group in the MeshEditor.

	#jira UEENT-1594

Change 4258012 by Homam.Bahnassi

	Extending UVEdit material function to support mirroring. #jira UE-57306

Change 4258231 by Jamie.Dale

	Fixed GetHostName failing to convert UTF-8 data correctly

Change 4258579 by Jamie.Dale

	Ensure that packages re-created after deleting their only asset are marked as fully loaded

Change 4258652 by Jamie.Dale

	Added script exposed method to convert an Unreal relative path to absolute

Change 4259124 by Patrick.Boutot

	For MediaBundle, show or hide the failed texture on console.

	#jira UE-61672

Change 4259264 by Jamie.Dale

	Show an error if trying to use ExecutePythonScript without Python enabled

	#jira UE-62318

Change 4259451 by Jamie.Dale

	No longer use stale subtitles in dialogue waves

	#jira UE-61500

Change 4259511 by Jamie.Dale

	Fix crash when passing None as the class for find/load_asset

	#jira UE-62130

Change 4259542 by Patrick.Boutot

	Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine.

Change 4259582 by Patrick.Boutot

	Hide Edit & Paste from PropertyMenuAssetPicker

Change 4260760 by Max.Chen

	Sequencer: Fix dereferencing null pointer - CameraNode

Change 4260895 by Jamie.Dale

	Changing localization target settings now updates the gather INI files immediately

Change 4262166 by Patrick.Boutot

	Add support for MediaSourceProxy and MediaOutputProxy.

Change 4262535 by Andrew.Rodham

	Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler

	Originating source CL#4261391

Change 4262669 by Patrick.Boutot

	Add MediaProfile. It let the user select their media sources and media outputs by machine by user.

Change 4264577 by Patrick.Boutot

	Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference.
	#jira UE-62438

	Include dependence to settings

Change 4265750 by JeanLuc.Corenthin

	Fix array's size issues with MeshDescription utility functions

	#jira UEENT-1574

Change 4268181 by Patrick.Boutot

	Mark LockedCameraActors as deprecated.

[CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Max Chen
569ae6bcb9 Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642)
#lockdown nick.penwarden
#rb none

Change 3235667 on 2016/12/14 by Max.Preussner

	Media: Moved enums into separate header file, so they can be shared

Change 3259266 on 2017/01/16 by Max.Preussner

	Core: Added timespan ratio

Change 3267229 on 2017/01/21 by Max.Preussner

	Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed

Change 3274773 on 2017/01/27 by Max.Preussner

	Core: Added TLruCache template

Change 3281579 on 2017/02/01 by Max.Preussner

	Core: Added scalar division to FTimespan

Change 3289522 on 2017/02/07 by Max.Preussner

	MediaAssets: Added looping for play lists

Change 3290664 on 2017/02/07 by Max.Preussner

	Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes.

Change 3290688 on 2017/02/07 by Max.Preussner

	MediaAssets: Notifying materials when media texture properties changed.

Change 3291171 on 2017/02/07 by Max.Preussner

	MediaAssets: Filtering unused UTexture properties

Change 3291229 on 2017/02/07 by Max.Preussner

	ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0

Change 3298520 on 2017/02/11 by Max.Preussner

	Sequencer: Fixed skylight and reflection components off by one frame in PIE

Change 3298778 on 2017/02/12 by Max.Preussner

	MediaUtils: Experimenting with dynamic pitch adjustment

Change 3298987 on 2017/02/13 by Max.Chen

	Editor: Add matrix and transform properties to property editor test object

Change 3298997 on 2017/02/13 by Max.Chen

	Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties
	  - Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified)
	  - Added percentage unit type
	  - Multiplier unit types can now be converted between

Change 3298998 on 2017/02/13 by Max.Chen

	Editor: Conversion between multiplier (1.5x)  and percentage (150%) units is now possible

Change 3348678 on 2017/03/15 by Max.Preussner

	Media: Added Buffering media event

Change 3355268 on 2017/03/20 by Max.Preussner

	Core: TQueue documentation updates

Change 3359055 on 2017/03/22 by Max.Preussner

	Portal: Removed dependency to Messaging.h

Change 3359060 on 2017/03/22 by Max.Preussner

	Messaging: Modernization pass

	- added missing includes & forward declarations
	- include what you use
	- deprecated shared pointer typedefs
	- replaced some delegates with callback interfaces
	- documentation fixes

Change 3359189 on 2017/03/22 by Max.Preussner

	Automation: Modernization pass

	- include what you use
	- removed molothic header
	- documentation fixes

	#upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory

Change 3359718 on 2017/03/22 by Max.Preussner

	Messaging: Moved common helper classes into MessagingCommon module

	#upgradenotes:  If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually
include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon").

Change 3359793 on 2017/03/23 by Max.Preussner

	TargetDeviceServices: Modernization pass

	- include what you use
	- removed boilerplate header
	- deprecated selected shared pointer typedefs
	- reorganized files
	- documentation fixes

Change 3361028 on 2017/03/23 by Max.Preussner

	DeviceManager: Modernization pass

	- include what you use
	- reduced shared pointer typedef usage
	- documentation fixes

Change 3361197 on 2017/03/23 by Max.Preussner

	Messaging: Waking up message router thread on shutdown

Change 3361246 on 2017/03/23 by Max.Preussner

	AutomationWindow: Removed boilerplate header

	#upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h

Change 3361428 on 2017/03/23 by Max.Preussner

	AutomationController: Removed boilerplate header

	#upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions.

Change 3363206 on 2017/03/24 by Max.Preussner

	ProfileLauncher: Modernization pass

	- include what you use (selected files)
	- reduced shared pointer typedef usages
	- removed dead code
	- cleaned up file organization
	- documentation fixes

Change 3363290 on 2017/03/24 by Max.Preussner

	LauncherServices: Removed boilerplate header

	#upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes

Change 3363305 on 2017/03/24 by Max.Preussner

	LauncherCheck: Removed boilerplate header

	#upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions

Change 3363708 on 2017/03/24 by Max.Preussner

	ImageWrapper: Removed boilerplate header

	#upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes

Change 3363966 on 2017/03/24 by Max.Preussner

	ImageWrapper: Modernization pass

	- include what you use
	- reorganized internal files
	- documentation fixes

Change 3364579 on 2017/03/24 by Max.Preussner

	ImageWrapper: Deprecated shared pointer typedef and removed usages

	#upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr

Change 3364582 on 2017/03/24 by Max.Preussner

	NetworkFileSystem: Removed monolithic boilerplate header

	#upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes

Change 3381440 on 2017/04/05 by Max.Preussner

	Oculus: Removed illegal pragmas

Change 3391731 on 2017/04/12 by Max.Preussner

	ImgMedia: Added support for BMP, JPG and PNG image sequences

Change 3401146 on 2017/04/19 by Max.Preussner

	Core: Cleanup pass for FTimespan usages; updated documentation

	When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make
your code easier to read and understand.

Change 3401504 on 2017/04/20 by Max.Preussner

	MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds

Change 3401833 on 2017/04/20 by Max.Preussner

	Core: Various improvements to FTimespan

	- added proper serialization
	- updated documentation
	- access fractions as milli-, micro- or nanoseconds
	- removed the following string formatters as they were not useful: %D %H %M %S %F
	- updated documentation

	#upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign.

	#jira UE-43990
	#jira UE-44163

Change 3437543 on 2017/05/12 by Max.Preussner

	PS4Media: Added audio error codes conversion

Change 3446564 on 2017/05/18 by Max.Preussner

	Networking: Fixed nullpointer crash if socket initialization fails

Change 3459978 on 2017/05/25 by Max.Preussner

	ImgMedia: Renamed frame cache to frame loader

Change 3463311 on 2017/05/26 by Max.Preussner

	Core: Added iterators & predicate based methods to LRU Cache

Change 3464452 on 2017/05/29 by Max.Preussner

	ImgMedia: Added video sample output

Change 3464468 on 2017/05/29 by Max.Preussner

	Media: Added separate cache visualization for loaded and cached samples

Change 3464592 on 2017/05/29 by Max.Preussner

	Core: Added TLruCache::FindAndTouch

Change 3464607 on 2017/05/29 by Max.Preussner

	Core: Added TRange::Inclusive / ::Exclusive

Change 3464608 on 2017/05/29 by Max.Preussner

	Media: Fixed incorrect upper bound in support play rates of various players

Change 3466732 on 2017/05/30 by Max.Preussner

	ImgMedia: Added image compression type to info string

Change 3466871 on 2017/05/31 by Max.Preussner

	WmfMedia: Fixed session capabilities not showing up; added initialization logging

Change 3467785 on 2017/05/31 by Max.Preussner

	MfMedia: Fixed sample stride calculated from media input instead of output


Change 3467963 on 2017/05/31 by Max.Preussner

	WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly

Change 3468110 on 2017/05/31 by Max.Preussner

	WmfMedia: Added MPEG-2 media sub types to utils

Change 3468516 on 2017/05/31 by Max.Preussner

	AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570)

Change 3468554 on 2017/05/31 by Max.Preussner

	MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded

Change 3468627 on 2017/05/31 by Max.Preussner

	ImgMedia: Allowing for auto-selection of EXR decoder thread count

Change 3468648 on 2017/05/31 by Max.Preussner

	ImgMedia: Reorganized OpenExrWrapper files

Change 3471789 on 2017/06/02 by Max.Preussner

	WmfMedia: Fixed potential concurrency issue in session state management

Change 3472918 on 2017/06/03 by Max.Preussner

	Core: Allowing zero sized LRU cache; added default constructor

Change 3472919 on 2017/06/03 by Max.Preussner

	Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching

Change 3473704 on 2017/06/05 by Max.Preussner

	AndroidMedia: Added settings class

Change 3474407 on 2017/06/05 by Max.Preussner

	AndroidMedia: Implemented video sample processing

Change 3474934 on 2017/06/05 by Max.Preussner

	ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705)

	#jira UE-45705

Change 3476925 on 2017/06/06 by Max.Preussner

	Media: Added return values to media view interface; documentation fixes

Change 3477158 on 2017/06/06 by Max.Preussner

	SwitchMedia: Implemented sample pooling

Change 3477201 on 2017/06/07 by Max.Preussner

	PS4Media: Implemented video sample pooling

Change 3481470 on 2017/06/08 by Max.Preussner

	Media: Fixed time stamps not set in recycled texture samples

Change 3481472 on 2017/06/08 by Max.Preussner

	MediaAssets: Fixed no video samples fetched while player is in buffering state

Change 3481473 on 2017/06/08 by Max.Preussner

	MediaUtils: Added default constructor to MediaSampleQueue

Change 3481584 on 2017/06/08 by Max.Preussner

	MediaUtils: Paused state is considered forward for sample lookup as this is the common case.

Change 3481588 on 2017/06/08 by Max.Preussner

	PS4Media: Redesigned the PS4 media player to support async file loading & track switching

Change 3481627 on 2017/06/08 by Max.Preussner

	PS4Media: Opening media sources in thread pool if not precaching

Change 3481666 on 2017/06/08 by Max.Preussner

	ImgMedia: Fixed SequencePath property file picker always opening default path

Change 3481669 on 2017/06/08 by Max.Preussner

	ImgMedia: Fixed crash when quering cache state of empty image sequence

Change 3481685 on 2017/06/08 by Max.Preussner

	ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719)

	#jira UE-45719

Change 3483623 on 2017/06/10 by Max.Preussner

	Media: Added getters for 360 view settings; added support for relative view updates

Change 3483624 on 2017/06/10 by Max.Preussner

	Media: Added Blueprint support for 360 videos

Change 3483626 on 2017/06/10 by Max.Preussner

	MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class.

Change 3483627 on 2017/06/10 by Max.Preussner

	Core: Using system start time instead of current time for renamed log file names

Change 3483630 on 2017/06/10 by Max.Preussner

	Core: Grouping log files by log name and processing each group separately when deleting old log files

Change 3483816 on 2017/06/10 by Max.Preussner

	WmfMedia: Detecting audio device availability to prevent lockup of audio tracks

Change 3483939 on 2017/06/11 by Max.Preussner

	AvfMedia: Finished Media Framework 3.0 upgrade

	- overhauled track switching
	- removed render thread flushes
	- reduced nesting
	- code cleanup pass

Change 3483940 on 2017/06/11 by Max.Preussner

	Media: Consistent track switching behavior across platforms

Change 3484172 on 2017/06/11 by Max.Preussner

	MediaPlayerEditor: Removed obsolete asset type actions

Change 3484180 on 2017/06/11 by Max.Preussner

	MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture

Change 3484248 on 2017/06/11 by Max.Preussner

	MediaAssets: Media players now always have a playlist

Change 3484249 on 2017/06/11 by Max.Preussner

	MediaPlayerEditor: Added UI controls to Playlist tab

Change 3484250 on 2017/06/11 by Max.Preussner

	Media: Implemented overlay sample caching

Change 3484252 on 2017/06/11 by Max.Preussner

	WmfMedia: Enabled support for .smi and .sami subtitle files

Change 3485433 on 2017/06/12 by Max.Preussner

	ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it

Change 3485720 on 2017/06/12 by Max.Preussner

	MediaPlayerEditor: Added ability to save playlists

Change 3485828 on 2017/06/12 by Max.Preussner

	AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread

Change 3485926 on 2017/06/12 by Max.Preussner

	MediaUtils: Draining all unconsumed samples at the end of a frame

Change 3486043 on 2017/06/12 by Max.Preussner

	Media: Consistent behavior for playlist navigation (UE-45964)

	#jira UE-45964

Change 3486104 on 2017/06/12 by Max.Preussner

	MediaPlayerEditor: Implemented simple overlay text positioning

Change 3486145 on 2017/06/12 by Max.Preussner

	AndroidMediaPlayer: Moved video sample handling into render thread

Change 3486147 on 2017/06/12 by Max.Preussner

	MediaPlayerEditor: Moved overlay texts into separate layer

Change 3486188 on 2017/06/12 by Max.Preussner

	Media: Enabling media factory modules in Editor for all players

Change 3486223 on 2017/06/12 by Max.Preussner

	Media: Defaulting players to select first audio and video tracks by default

Change 3486473 on 2017/06/13 by Max.Preussner

	Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing)

Change 3486475 on 2017/06/13 by Max.Preussner

	MediaPlayerEditor: Showing busy bar when buffering or preparing

Change 3487237 on 2017/06/13 by Max.Preussner

	AndroidMedia: Fixed video sample not getting processed on render thread

Change 3487507 on 2017/06/13 by Michael.Trepka

	AvfMedia - small cleanup of the code for passing video frame rate to the video sampler

Change 3487719 on 2017/06/13 by Michael.Trepka

	Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH

Change 3487842 on 2017/06/13 by Max.Preussner

	AndroidMedia: Fixed texture swizzle disabled on non-Engine builds

Change 3488006 on 2017/06/13 by Michael.Trepka

	AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a
file

Change 3488308 on 2017/06/13 by Chris.Babcock

	AndroidMedia: Fixed flicker issue
	#jira UE-45736

Change 3488335 on 2017/06/13 by Max.Preussner

	MediaAssets: Made UFileMediaSource::GetFullPath public

Change 3488338 on 2017/06/13 by Max.Preussner

	MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources

Change 3488339 on 2017/06/13 by Max.Preussner

	MediaPlayerEditor: Showing a throbber when buffering player

Change 3488768 on 2017/06/14 by Max.Preussner

	Core: Inlined FTimespan static functions

hange 3490203 on 2017/06/14 by Max.Preussner

	Core: Force inlined TComPtr operators

Change 3494083 on 2017/06/15 by Chris.Babcock

	AndroidMedia: Fix playlist looping (send PlaybackEndReached event)
	#jira UE-46086

Change 3497017 on 2017/06/16 by Max.Preussner

	MediaAssets: Playlists now auto advance with PlayOnOpen off

Change 3497075 on 2017/06/17 by Chris.Babcock

	MediaPlayer Sampler node and external texture support for Android MediaPlayer
	- enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL)
	- supports MediaSample node in material editor with scale/bias handled if above flag enabled
	- fixed looping problems, including eventual crashes
	- track switching fixed (lockups and missing video)
	- corrected resource leaks and crash switching maps
	#jira UE-46055
	#jira UE-45744
	#jira UE-46086

Change 3497163 on 2017/06/17 by Max.Preussner

	MediaUtils: Processing media events immediately if on game thread

Change 3497170 on 2017/06/17 by Max.Preussner

	Media: All Media Framework interfaces are pure virtual

Change 3498603 on 2017/06/19 by Ben.Marsh

	UBT: Prevent plugins which list modules multiple times from adding them twice.

Change 3500870 on 2017/06/20 by Max.Preussner

	WmfMedia: Rewrote WMF state machine; now with track switching

	#jira UE-20209
	#jira UE-35385
	#jira UE-38337
	#jira UE-45676

Change 3502181 on 2017/06/20 by Chris.Babcock

	MediaSampler node updates
	- fixed issue with ExternalTexture singleton for DLL compatiblity
	- now works for all players (registers texture samples with ExternalTexture by player GUID)
	- enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler

Change 3503182 on 2017/06/21 by Max.Preussner

	Media: Refactored status flags into an enum; exposed connecting status

Change 3503724 on 2017/06/21 by Chris.Babcock

	Improvement in MediaPlayer Sampler node
	- RGB, R, G, B, A output pins like normal texture sampler
	- allow preview in material editor
	- fix OES detection for Android

Change 3509088 on 2017/06/26 by Max.Preussner

	MediaAssets: Added AddFile and AddUrl to UMediaPlaylist

Change 3510256 on 2017/06/26 by Max.Preussner

	WmfMedia: Fixed play rate not set to zero when end reached

Change 3510273 on 2017/06/26 by Max.Preussner

	MediaPlayerEditor: Removed obsolete Slate culling rectangle code

Change 3510413 on 2017/06/26 by Max.Preussner

	MediaPlayerEditor: Showing frame rate if available

Change 3510533 on 2017/06/26 by Max.Preussner

	MediaUtils: Preventing media cache filling up when scrubbing

Change 3510859 on 2017/06/26 by Max.Preussner

	PS4Media: Fixed track switching crashes (UE-45960)

	#jira UE-45960

Change 3514173 on 2017/06/28 by Max.Preussner

	WmfMedia: Optimized player capabilities check

Change 3514174 on 2017/06/28 by Max.Preussner

	WmfMedia: Moved media source resolver code into utility class

Change 3514714 on 2017/06/28 by Max.Preussner

	Core: Added TComPointer.IsValid; code cleanup pass

Change 3517912 on 2017/06/30 by Max.Preussner

	MediaUtils: Added GetVideoAspectRatio to player facade

Change 3524957 on 2017/07/06 by Max.Preussner

	ImgMedia: Decoding image frames only when video track is selected

Change 3525252 on 2017/07/06 by Max.Preussner

	ImgMedia: Async image sequence initialization

Change 3525266 on 2017/07/06 by Max.Preussner

	ImgMedia: Enabled reverse playback

Change 3525722 on 2017/07/06 by Max.Preussner

	WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport

Change 3525800 on 2017/07/07 by Max.Preussner

	WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging.

Change 3525801 on 2017/07/07 by Max.Preussner

	MediaPlayerEditor: Made scrubbing more responsive

Change 3526500 on 2017/07/07 by Max.Preussner

	WmfMedia: Using NULL for Windows pointers

Change 3527323 on 2017/07/07 by Max.Preussner

	WmfMedia: Added support for audio and video capture media sources

Change 3530197 on 2017/07/10 by Max.Preussner

	WmfMedia: Added utility functions for enumerating audio and video capture devices

Change 3533465 on 2017/07/12 by Max.Preussner

	Media: Added media capture device support API & implementation for WMF

Change 3533469 on 2017/07/12 by Max.Preussner

	MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar

Change 3533540 on 2017/07/12 by Max.Preussner

	MediaAssets: Blueprint support for media capture device discovery

Change 3533574 on 2017/07/12 by Max.Preussner

	WmfMedia: Using cached supported play rates; more strict pausing support check

Change 3533924 on 2017/07/12 by Max.Preussner

	WmfMedia: Added global LowLatency setting (UEVR-859)

	Note that this setting is only supported when compiling for Windows 8 or newer.

Change 3534027 on 2017/07/12 by Max.Preussner

	WmfMedia: Compile time support for low latency session attribute on < Windows8

	#jira UEVR-859

Change 3538744 on 2017/07/14 by Max.Preussner

	MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource

Change 3542818 on 2017/07/18 by Max.Preussner

	WmfMedia: Fixed race condition on session shutdown

Change 3543082 on 2017/07/18 by Max.Preussner

	WmfMedia: Fixed track selection in media that doesn't support seeking

Change 3543092 on 2017/07/18 by Max.Preussner

	Media: Implemented media track format API

	Enables multiple formats per media track. By default, the first usable format is selected.
	This feature is currently only implemented for WmfMedia. All other players assume a single format per track.

Change 3543794 on 2017/07/19 by Max.Preussner

	WmfMedia: Added string conversion for null GUIDs

Change 3543796 on 2017/07/19 by Max.Preussner

	MfMedia: Copied GUID string conversion updates from WmfMedia

Change 3543797 on 2017/07/19 by Max.Preussner

	WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support

Change 3544390 on 2017/07/19 by Max.Preussner

	Media: Allowing INDEX_NONE as 'current selection' index in track format related functions

Change 3545368 on 2017/07/19 by Max.Preussner

	WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting

Change 3545388 on 2017/07/19 by Max.Preussner

	MediaAssets: Fixed RGB input sources rendered upside down

Change 3545430 on 2017/07/19 by Max.Preussner

	MediaAssets: Fixed incorrect sRGB conversion on BMP inputs

Change 3547362 on 2017/07/20 by Max.Preussner

	Core: Added IsGraph and IsPrint to TCHAR utilities

Change 3547376 on 2017/07/20 by Max.Preussner

	WmfMedia: Better log messages for non-standard video types (UE-47533)

	#jira UE-47533

Change 3547404 on 2017/07/20 by Max.Preussner

	QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542)

	#jira UE-47542

Change 3547466 on 2017/07/20 by Max.Preussner

	WmfMedia: Fixed edge case for detecting whether pause is available

Change 3548742 on 2017/07/21 by Max.Preussner

	Media: Added API for changing the input frame rate

Change 3548743 on 2017/07/21 by Max.Preussner

	WmfMedia: Implemented ability to change input frame rate

Change 3554411 on 2017/07/25 by Max.Preussner

	AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property

Change 3554818 on 2017/07/25 by Max.Preussner

	Media: Added per track-type cache queries

Change 3557284 on 2017/07/26 by Max.Preussner

	WmfMedia: Added buffer size check in texture sample as well

Change 3560530 on 2017/07/27 by Max.Preussner

	WmfMedia: Made COM object destructors private and added assertions

Change 3560580 on 2017/07/27 by Max.Preussner

	MediaUtils: Added method for querying number of objects in pool

Change 3562572 on 2017/07/28 by Max.Preussner

	WmfMedia: Properly handling topology status errors when opening media

Change 3576710 on 2017/08/08 by Chris.Babcock

	bug fixes for mediaplayer
	- rare cases in Android media tracks
	- make FMediaCaptureDevice members available in blueprints

Change 3577736 on 2017/08/08 by Chris.Babcock

	Extend ExternalTexture to support 2x3 transform (scale/rotation + offset)

Change 3578831 on 2017/08/09 by Max.Preussner

	MediaAssets: Made media sound component BP spawnable

Change 3579210 on 2017/08/09 by Max.Preussner

	UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults

Change 3579547 on 2017/08/09 by Chris.Babcock

	Better support for Android external texture detection

Change 3579567 on 2017/08/09 by Chris.Babcock

	Android camera plugin
	#jira UEMOB-215

Change 3580035 on 2017/08/10 by Andrew.Rodham

	Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials.
	  - Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported.
	  - Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator
	  - Made UTexture::GetMaterialType const-correct

	#tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external),
and on desktop PC.

Change 3581552 on 2017/08/10 by Chris.Babcock

	Use bilinear sampling instead of point for external texture (Android media and camera)

Change 3581628 on 2017/08/10 by Max.Preussner

	Core: Fixed FTimespan import/export/copypaste (UE-43990)

	#jira UE-43990
	#jira UE-44163

Change 3581909 on 2017/08/11 by Andrew.Rodham

	Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release)
	  - This prevents destroyed proxies from remaining in the texture registry

	#jira UE-48307

Change 3582451 on 2017/08/11 by Max.Preussner

	AudioMixer: Fixed initialization order of synth components

	This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr.

	#jira UE-48055

Change 3582453 on 2017/08/11 by Max.Preussner

	MediaAssets: Enabling ticking in media sound component (UE-48055)

	#jira UE-48055

Change 3583101 on 2017/08/11 by Chris.Babcock

	Android camera improvements
	- return correct capture device type (webcamfront/rear)
	- remove seek (not supported)
	- support track formats
	- better framerate selection

Change 3590109 on 2017/08/16 by Chris.Babcock

	Move external texture coordinate update to improve accuracy and save a uniform in final shader

Change 3590530 on 2017/08/16 by Max.Preussner

	MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks

	#jira UE-48166

Change 3590547 on 2017/08/16 by Max.Preussner

	MediaPlayerEditor: Ticking sound component directly

Change 3590628 on 2017/08/16 by Max.Preussner

	Switch: Fixed media decoder asserting when attempting to pause without having started

Change 3591816 on 2017/08/16 by Aaron.McLeran

	#jira UE-48470 Disabling async processing for procedural sound waves on mac.

Change 3592266 on 2017/08/16 by Max.Preussner

	Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia

	This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames
or out of memory assertions depending on the platform. This will be addressed in an upcoming change.

	#jira UE-48474
	#jira UE-45677

Change 3592355 on 2017/08/17 by Max.Preussner

	MediaUtils: Added sample sink collection to remove code duplication

Change 3592739 on 2017/08/17 by Max.Preussner

	ImgMedia: Fetching only one video sample per frame

Change 3592741 on 2017/08/17 by Max.Preussner

	MediaUtils: Better sample fetching when paused

Change 3592761 on 2017/08/17 by Max.Preussner

	MediaUtils: Fixed overflow detection in sample sinks

Change 3592762 on 2017/08/17 by Max.Preussner

	ImgMedia: Sending end reached event when looping

Change 3592885 on 2017/08/17 by Max.Preussner

	ImgMedia: Fixed reverse play

Change 3592887 on 2017/08/17 by Max.Preussner

	MediaUtils: Better sample range calculation for audio samples

Change 3593010 on 2017/08/17 by Max.Preussner

	ImgMedia: Fixed async loading of non-EXR image sequences

Change 3593193 on 2017/08/17 by Max.Preussner

	AndroidMedia: Fixed typo

Change 3593230 on 2017/08/17 by Max.Preussner

	Media: Implemented flushing for player sample queues

Change 3593346 on 2017/08/17 by Max.Preussner

	Media: Proper sample processing for reverse playback

Change 3593482 on 2017/08/17 by Max.Preussner

	Switch: Fixed sample range check for reverse playback

Change 3594428 on 2017/08/17 by Max.Preussner

	PS4Media: Fixed video not playing/crashing

	#jira UE-48547
	#jira UE-48549

Change 3595404 on 2017/08/17 by Max.Preussner

	MediaAssets: Not requesting audio samples if not playing

	#jira UE-48557

Change 3595624 on 2017/08/17 by Max.Preussner

	PS4Media: Fixed no looping after track switching

	#jira UE-46524
	#jira UE-48557

Change 3595704 on 2017/08/17 by Max.Preussner

	MediaUtils: Improved sample queue flushing

	Eventually this needs to be event-driven.

	#jira UE-48557

Change 3595706 on 2017/08/17 by Max.Preussner

	PS4Media: Flushing queues when track switching

	#jira UE-48557

Change 3595909 on 2017/08/17 by Max.Preussner

	Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)

	https://github.com/EpicGames/UnrealEngine/pull/3382

	#jira UE-42906
	#rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)

Change 3597480 on 2017/08/18 by Max.Preussner

	ImgMediaPlayer: Fixed presentation time calculation for very large delta times

Change 3597669 on 2017/08/18 by Max.Preussner

	ImgMedia: Setting player stopped instead of paused when end reached

Change 3597709 on 2017/08/18 by Max.Preussner

	SwitchMedia: Fixed audio sample duration calculation

Change 3598479 on 2017/08/18 by Max.Preussner

	ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging

Change 3598629 on 2017/08/18 by Max.Preussner

	MediaUtils: Properly handling pending flushes when peeking sample queues

Change 3598633 on 2017/08/18 by Max.Preussner

	WmfMedia: Fixed occasional WMF deadlock when scrubbing

Change 3598653 on 2017/08/18 by Max.Preussner

	MediaUtils: Fixed audio resampling in reverse playback

Change 3598659 on 2017/08/18 by Max.Preussner

	MediaPlayerEditor: Creating sound output only if audio device available

Change 3598688 on 2017/08/18 by Max.Preussner

	MediaUtils: Flushing sample queues on direction change regardless of paused state

Change 3599444 on 2017/08/20 by Max.Preussner

	WmfMedia: Added missing check for rate control when quering supported rates

Change 3603661 on 2017/08/22 by Max.Preussner

	WmfMedia: Fixed NV12 output

Change 3604345 on 2017/08/23 by Max.Preussner

	MediaUtils: Added subtitle samples to media sample collection; fixed documentation

Change 3604987 on 2017/08/23 by Max.Preussner

	PS4Media: Setting correct track format types

Change 3605117 on 2017/08/23 by Joe.Barnes

	Fix issue where presentation time was being treated as milliseconds instead of microseconds.

Change 3605128 on 2017/08/23 by Joe.Barnes

	Fix potential issue calculating total (looped) play time after seek or reset.
	Track last video presentation time

Change 3605139 on 2017/08/23 by Joe.Barnes

	Support audio type DType_Setup.
	Fix issue with procedural sounds popping. Consume more samples if necessary.

	#jira ue-48544

Change 3605197 on 2017/08/23 by Max.Preussner

	Media: Fixed track display name formatting (UE-48767)

	#jira UE-48767

Change 3605817 on 2017/08/23 by Max.Chen

	Auto set sampler type on drop on actor.

	#jira UE-48769

Change 3605999 on 2017/08/23 by Max.Preussner

	MfMedia: Restarting source reader when switching tracks

	#jira UE-48766

Change 3606416 on 2017/08/23 by Max.Preussner

	PS4Media: Various player improvements

	#jira UE-48586

Change 3607656 on 2017/08/24 by Max.Preussner

	WmfMedia: Improved logging for Seek and SetRate

Change 3607855 on 2017/08/24 by Max.Preussner

	MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\

	#jira UE-48766

Change 3608029 on 2017/08/24 by Max.Preussner

	PS4Media: Fixed streaming media not playing; improved result checks & logging

	#jira UE-48610

Change 3608473 on 2017/08/24 by Max.Preussner

	MfMedia: Fixed audio sample duration calculation

	#jira UE-48756

Change 3609316 on 2017/08/24 by Chris.Babcock

	Provide external texture RotationScale and Offset from sample

Change 3610067 on 2017/08/25 by Richard.Wallis

	Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player.

	- Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects.
	- Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker
- this sets the current time and is then just returned in the getter when on game main.
	- Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track.  Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be
working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in.

	#jira UE-48590, UE-48604

Change 3610267 on 2017/08/25 by Max.Preussner

	PS4Media: Added missing track selection validation

	#jira UE-48765

Change 3610399 on 2017/08/25 by Max.Preussner

	PS4Media: Fixed infinite player re-initialization loop if track selection failed

Change 3610809 on 2017/08/25 by Chris.Babcock

	Fixes for Android media player and camera player
	- buffer samples copy proper bytecount
	- realloc sets new buffer ptr
	- refcount of Java buffers fixed

Change 3610953 on 2017/08/25 by Chris.Babcock

	Fix audio disable before play on Android media player

Change 3611405 on 2017/08/25 by Max.Preussner

	WmfMedia: Resetting supported rates if RateSupport unavailable

Change 3611406 on 2017/08/25 by Max.Preussner

	MfMedia: Resetting supported rates if RateSupport unavailable

Change 3611453 on 2017/08/25 by Chris.Babcock

	Android external texture extension updates for compatibility

Change 3611719 on 2017/08/26 by Max.Preussner

	Media: Added media event for completed seek operations; flushing sinks on seek

Change 3611764 on 2017/08/26 by Max.Preussner

	AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously

Change 3611802 on 2017/08/26 by Max.Preussner

	Media: Exposed error state in media player

Change 3611803 on 2017/08/26 by Max.Preussner

	MediaPlayerEditor: Showing error state in UI

Change 3611887 on 2017/08/26 by Max.Preussner

	MediaUtils: Corrected media sample sink overflow check

Change 3611892 on 2017/08/27 by Max.Preussner

	WmfMedia: Leaving session in error state after error

Change 3611929 on 2017/08/27 by Max.Preussner

	MediaPlayerEditor: Fixed sound stopping on looping

Change 3611930 on 2017/08/27 by Max.Preussner

	MfMedia: Rewrote async sample processing to fix various playback issues

Change 3611942 on 2017/08/27 by Max.Preussner

	Media: Sending suspension event when playback ended

Change 3611957 on 2017/08/27 by Max.Preussner

	UnrealEd: Allowed transient assets to be resaved to disk

Change 3611981 on 2017/08/27 by Max.Preussner

	PS4Media: Rewrote sample processing to fix various playback issues

	#jira UE-48596
	#jira UE-48793

Change 3612035 on 2017/08/27 by Max.Preussner

	UnrealEd: Picking standard default names when resaving transient packages

Change 3612045 on 2017/08/27 by Max.Preussner

	Media: Fixed playlists not getting saved correctly from Editor (UE-35382)

	#jira UE-35382

Change 3612212 on 2017/08/28 by Richard.Wallis

	Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off.  Current Rate was not getting reset back to 0.0 on media close.

	#jira UE-47602

Change 3613531 on 2017/08/28 by Max.Preussner

	MediaAssets: Fixed external texture related crash on shutdown (UE-48918)

	Also no longer creating clock sink for media player CDO

	#jira UE-48918

Change 3613677 on 2017/08/28 by Andrew.Porter

	Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object

	#jira UE-48937

Change 3615917 on 2017/08/29 by Max.Preussner

	MfMedia: Added compile options for DXVA and falling back to synchronous sample reading

[CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00