[FFmpeg-trac] #1087(avcodec:open): support decoding the CineForm codec
FFmpeg
trac at avcodec.org
Sun Jan 3 06:37:57 CET 2016
#1087: support decoding the CineForm codec
-------------------------------------+-------------------------------------
Reporter: dericed | Owner:
Type: enhancement | Status: open
Priority: wish | Component: avcodec
Version: git-master | Resolution:
Keywords: CFHD, | Blocked By:
CineForm | Reproduced by developer: 1
Blocking: |
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by rkromer):
The packet will be decoded to a 16 bit Bayer space image. A single 16 bit
ushort per pixel. Are you deriving the size based off of 4 components per
pixel RGBA (4 x 16 bit)? This may be be where you are miscalculating
resolution. Information from the CineForm SDK definitions:
'''Original to encoder'''
{{{
CFHD_PixelFormat = CFHD_PIXEL_FORMAT_BYR4 = FOUR_CHAR_CODE('BYR4')
}}}
«RAW» Bayer 16 bits per pixel received by the encoder should also be used
as the decoded interpretation.
'''Compressed'''
{{{
CFHD_PixelFormat = CFHD_PIXEL_FORMAT_CFHD = FOUR_CHAR_CODE('CFHD')
CFHD_EncodedFormat = CFHD_ENCODED_FORMAT_BAYER
}}}
'''CFHD_BayerFormat (Bayer phase) will be one of the following, but can
change every frame based on stabilisation'''
{{{
typedef enum CFHD_BayerFormat {
CFHD_BAYER_FORMAT_UNKNOWN = -1,
CFHD_BAYER_FORMAT_RED_GRN = 0,
CFHD_BAYER_FORMAT_GRN_RED = 1,
CFHD_BAYER_FORMAT_GRN_BLU = 2,
CFHD_BAYER_FORMAT_BLU_GRN = 3,
} CFHD_BayerFormat;
}}}
Hope this helps!
--
Ticket URL: <https://trac.ffmpeg.org/ticket/1087#comment:32>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list