Advances in iOS Photography - Apple Inc. ... Camera Capture Manual Controls (iOS 8 / Yosemite) WWDC

download Advances in iOS Photography - Apple Inc. ... Camera Capture Manual Controls (iOS 8 / Yosemite) WWDC

If you can't read please download the document

  • date post

    22-Jul-2020
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of Advances in iOS Photography - Apple Inc. ... Camera Capture Manual Controls (iOS 8 / Yosemite) WWDC

  • © 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

    Live Photo, RAW, and Wide Color Capture with AV Foundation

    Media #WWDC16

    Session 501

    Advances in iOS Photography

    Brad Ford Apple

  • developer.apple.com Past Sessions

    What’s New In Camera Capture (iOS 6) WWDC 2012

    What’s New In Camera Capture (iOS 7) WWDC 2013

    Camera Capture Manual Controls (iOS 8 / Yosemite) WWDC 2014

  • Agenda

  • Agenda

    New AVCaptureOutput

  • Agenda

    New AVCaptureOutput New photography-driven features in iOS 10!

  • Agenda

    New AVCaptureOutput New photography-driven features in iOS 10! • Live Photos

  • Agenda

    New AVCaptureOutput New photography-driven features in iOS 10! • Live Photos • RAW and DNG

  • Agenda

    New AVCaptureOutput New photography-driven features in iOS 10! • Live Photos • RAW and DNG • Preview (Thumbnail) images

  • Agenda

    New AVCaptureOutput New photography-driven features in iOS 10! • Live Photos • RAW and DNG • Preview (Thumbnail) images • Wide Color

  • Review: AV Foundation Capture Objects

  • Review: AV Foundation Capture Objects

    AVCaptureSession

  • Review: AV Foundation Capture Objects

    AVCaptureDeviceInput

    AVCaptureDevice (Camera)

    AVCaptureSession

  • Review: AV Foundation Capture Objects

    AVCaptureDeviceInput

    AVCaptureDevice (Camera)

    AVCaptureMovieFileOutput

    AVCaptureSession

    AVCaptureStillImageOutput

  • Review: AV Foundation Capture Objects

    AVCaptureDeviceInput

    AVCaptureDevice (Camera)

    AVCaptureMovieFileOutput

    AVCaptureConnection AVCaptureConnection

    AVCaptureSession

    AVCaptureStillImageOutput

  • Review: AV Foundation Capture Objects

    AVCaptureDeviceInput

    AVCaptureDevice (Camera)

    AVCaptureMovieFileOutput

    AVCaptureConnection AVCaptureConnection

    AVCaptureSession

    AVCaptureStillImageOutput

  • Review: AV Foundation Capture Objects

    AVCaptureDeviceInput

    AVCaptureDevice (Camera)

    AVCaptureMovieFileOutput

    AVCaptureConnection AVCaptureConnection

    AVCaptureSession

  • Review: AV Foundation Capture Objects

    AVCaptureDeviceInput

    AVCaptureDevice (Camera)

    AVCaptureConnection AVCaptureConnection

    AVCaptureMovieFileOutput

    AVCaptureSession

  • Review: AV Foundation Capture Objects

    AVCaptureDeviceInput

    AVCaptureDevice (Camera)

    AVCaptureConnection AVCaptureConnection

    AVCaptureMovieFileOutput

    AVCaptureSession

    AVCapturePhotoOutput

    NEW

  • NEWAVCapturePhotoOutput Design Features

  • NEWAVCapturePhotoOutput Design Features

    Functional programming model

  • NEWAVCapturePhotoOutput Design Features

    Functional programming model Photo settings encapsulation

  • NEWAVCapturePhotoOutput Design Features

    Functional programming model Photo settings encapsulation A delegate-style interface for tracking the progress of photo capture requests

  • NEWAVCapturePhotoOutput Design Features

    Functional programming model Photo settings encapsulation A delegate-style interface for tracking the progress of photo capture requests Resolving of photo settings to an immutable object

  • Using AVCapturePhotoOutput

    AVCapturePhotoOutput

    Read-only properties

    Feature opt-in properties

    Methods

    NEW

  • Using AVCapturePhotoOutput

    AVCapturePhotoOutput

    Read-only properties

    Feature opt-in properties

    Methods

    isLivePhotoCaptureSupported availablePhotoPixelFormatTypes

    availablePhotoCodecTypes

    NEW

  • Using AVCapturePhotoOutput

    AVCapturePhotoOutput

    Read-only properties

    Feature opt-in properties

    Methods

    isLivePhotoCaptureSupported availablePhotoPixelFormatTypes

    availablePhotoCodecTypes

    isHighResolutionCaptureEnabled isLivePhotoCaptureEnabled

    NEW

  • Using AVCapturePhotoOutput

    AVCapturePhotoOutput

    Read-only properties

    Feature opt-in properties

    Methods

    isLivePhotoCaptureSupported availablePhotoPixelFormatTypes

    availablePhotoCodecTypes

    isHighResolutionCaptureEnabled isLivePhotoCaptureEnabled

    capturePhoto(with:, delegate:)

    NEW

  • AVCapturePhotoOutput

    Using AVCapturePhotoOutput NEW

  • AVCapturePhotoOutput

    Using AVCapturePhotoOutput NEW

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoOutput

    Using AVCapturePhotoOutput NEW

    -capturePhoto(with:, AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoOutput

    Using AVCapturePhotoOutput NEW

    -capturePhoto(with:,

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoOutput

    Using AVCapturePhotoOutput NEW

    -capturePhoto(with:,

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

    delegate:)

  • AVCapturePhotoSettings

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoSettings

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoSettings

    Atomic

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoSettings

    Atomic Unique

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoSettings

    Atomic Unique Your order form copy

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoSettings

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoSettings

    Single set of callbacks per photo settings AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoSettings

    Single set of callbacks per photo settings Ordering is documented

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoSettings

    Single set of callbacks per photo settings Ordering is documented Vehicle for resolving indeterminate settings

    AVCapturePhotoCaptureDelegate photoEventAHappened photoEventBHappened photoEventCHappened

    AVCapturePhotoSettings FeatureX FeatureY FeatureZ

  • AVCapturePhotoCaptureDelegate Usage

    Time

  • AVCapturePhotoCaptureDelegate Usage

    Time

    capturePhoto(with: delegate:

    flashMode = .auto, autoSIS = true AVCapturePhotoCaptureDelegate

  • AVCapturePhotoCaptureDelegate Usage

    Time

    flashMode = .auto, autoSIS = true

    AVCapturePhotoCaptureDelegate

  • AVCaptureResolvedPhotoSettings flash = On, SIS = Off

    AVCapturePhotoCaptureDelegate Usage

    Time

    flashMode = .auto, autoSIS = true

    AVCapturePhotoCaptureDelegate

    willBeginCaptureForResolvedSettings

  • AVCaptureResolvedPhotoSettings flash = On, SIS = Off

    AVCaptureResolvedPhotoSettings flash = On, SIS = Off

    AVCapturePhotoCaptureDelegate Usage

    Time

    flashMode = .auto, autoSIS = true

    AVCapturePhotoCaptureDelegate

    willBeginCaptureForResolvedSettings

    flashMode = .auto, autoSIS = true

  • AVCapturePhotoCaptureDelegate Usage

    Time

    flashMode = .auto, autoSIS = true

    AVCapturePhotoCaptureDelegate

    willCapturePhotoForResolvedSettings

  • AVCapturePhotoCaptureDelegate Usage

    Time

    flashMode = .auto, autoSIS = true

    AVCapturePhotoCaptureDelegate

    didCapturePhotoForResolvedSettings

  • CMSampleBuffer

    AVCapturePhotoCaptureDelegate Usage

    Time

    flashMode = .auto, autoSIS = true

    AVCapturePhotoCaptureDelegate

    didFinishProcessingPhotoSampleBuffer

  • AVCapturePhotoCaptureDelegate Usage

    Time

    flashMode = .auto, autoSIS = true

    AVCapturePhotoC