I found that different Iphone hardware encoders have different matrices for converting input RGB to YUV.That is, in the function OSStatus VTCompressionSessionEncodeFrame(VTCompressionSessionRef session, CVImageBufferRef imageBuffer, CMTime presentationTimeStamp, CMTime duration, CFDictionaryRef frameProperties, void *sourceFrameRefcon, VTEncodeInfoFlags *infoFlagsOut); the imageBuffer format is RGB.Before encoding, VideoToolBox will convert RGB to YUV and send it to the encoder.I want to know what kind of matrix VideoToolBox uses for RGB conversion to YUV, and how to control the selection of the conversion matrix. Among the input parameters of the hardware encoder VideoToolbox, only kVTCompressionPropertyKey_YCbCrMatrix is related to color conversion.But this parameter does not control the input RGB to YUV matrix. Because I tried to enter a different value, it didn't change.This leads to the inability to match the matrix during decoding, which causes chromatic aberration.I am searching for a long time on net. But no use. Please help or try to give some ideas how to achieve this.
Is it possible to control the conversion of RGB to YUV matrix in VideoToolBox?
632 Views Asked by 马学睿 At
2
There are 2 best solutions below
Related Questions in IOS
- Overlapping UICollectionView in storyboard
- Cannot pod spec lint because of undeclared type errors
- Is the transactionReceipt data present in dataWithContentsOfURL?
- UIWebView Screen Fitting Issue
- ZXingObjC encoding issues
- iOS: None of the valid provisioning profiles allowed the specific entitlements
- How to hide "Now playing url" in control center
- CloudKit: Preventing Duplicate Records
- Slow performance on ipad erasing image
- Swift code with multiple NSDateFormatter - optimization
- iOS 8.3 Safari crashes on input type=file
- TTTTimeIntervalFormatter always returns strings in English
- How do I add multiple in app purchases in Swift Spritekit?
- Setup code for xibs in iOS. -awakFromNb:
- iOS Voice Over only reads out the title of any alert views
Related Questions in OBJECTIVE-C
- How do I customize NSOutlineView to have border color?
- UIWebView Screen Fitting Issue
- How to hide "Now playing url" in control center
- CloudKit: Preventing Duplicate Records
- Image and Text locations in UIButton
- setting OpenGL version in objective-C
- Setup code for xibs in iOS. -awakFromNb:
- realm db, get parent link of object
- CFBundleDocumentType is not working in myproject-Info.plist file
- UIPopoverPresentationController not rendering properly
- Using Storyboard Reference
- Pass Data between two view controllers using 'Delegation' : Objective-C
- Unexpected CALayer Vertical Flipping on 3D Rotation 'Bounce'
- Setting View orientation to portrait is ignored
- UITextField append / between dates while enforcing character limit
Related Questions in RGB
- How in vb.net can I insert a value on a read only property?
- Store all RGB values in a database
- Convert a 0-1 value to a hex colour?
- Unexpected behavior in my RGB-strip driver code
- Fragment shader does not show any colour when compiled with vs2013
- Matching Xcode color space with Digital Color Meter
- How can I know if the image is in RGB or BGR format?
- How i can set rgb color?
- Read in Bufferedimage pixel values then manipulate each one and write to file
- assign RGB values in java with nested for function
- Why does windows GDI use RGBA format for `COLORREF` instead of BGRA?
- Python skimage.feature.match_template() RGB image
- Why don't images use functions to store rgb values?
- Does RGB supports decimal values?
- Java BufferedImage
Related Questions in COLOR-SPACE
- How to plot colors on CIE 1931 Color Space in Matlab?
- Which YCbCr matrix to use? BT.709 or BT.601
- Cannot get foreground color of NSTextView
- Build a Lab color model in opencv
- Convert colorspace of image in PHP (RGB to CMYK) without php-extensions like Imagick
- Three dimensional colour map in python
- PhantomJS doesn't respect SVG color-interpolation-filters
- Munsell color space, CIE, and the mysterious 1.0257
- Set default Color space in Xcode Interface Builder
- Convert from linear RGB to XYZ
- How to generate different colors of same luminance for line chart in Java?
- Preserving colors during CMYK to RGB transformation in PIL
- BGRA on iPhone glTexImage2D and glReadPixels
- Randomizing a color with fixed lightness
- How to set the value of the V-channel of the HSV color space to a constant value
Related Questions in VIDEO-TOOLBOX
- How do you Apply H.264 Compression to a CMSampleBuffer
- How to fix 'OSStatus' is ambiguous without more context when using VTCompressionSessionEncodeFrame
- Instance member x cannot be used on type y
- Is it possible to control the conversion of RGB to YUV matrix in VideoToolBox?
- H.265 (HEVC) Decoding on iOS - what is the correct NALU order before frames can be decoded
- H.264 : VTDecompressionSessionDecodeFrame fails with code 12909
- FFmpeg enable videotoolbox on iOS
- Copying Image Buffer Output From Video Frame Decompression Callback
- Error Code -8969 Decoding, and AVCC Contents
- ffmpeg transparent HVEC video from alpha matte and color video
- IOS VideoToolbox insert pic_timing sei message?
- AddressSanitizer: heap-use-after-free only on Release archive
- Memory leak creating a CVPixelBuffer in Swift using VTPixelTransferSessionTransferImage
- H264 Decoding with Apple Video Toolkit
- VideoToolbox HEVC decoding failing for iOS14 on device
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?