[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