54 #define CFA_TLGRAY 0x80000000U
55 #define CFA_TRGRAY 0x40000000U
56 #define CFA_BLGRAY 0x20000000U
57 #define CFA_BRGRAY 0x10000000U
62 if (p->
buf[0] ==
'C' && p->
buf[1] ==
'I' &&
76 if (value || allow_zero) {
84 if (value != 0 || allow_zero) {
86 snprintf(tmp,
sizeof(tmp),
"%f", value);
96 unsigned int version, compression, offImageHeader, offSetup, offImageOffsets, biBitCount,
length, CFA;
137 if (biBitCount != 8 && biBitCount != 16 && biBitCount != 24 && biBitCount != 48) {
163 if (length < 0x163C) {
198 if (compression ==
CC_RGB) {
199 if (biBitCount == 8) {
201 }
else if (biBitCount == 16) {
203 }
else if (biBitCount == 24) {
205 }
else if (biBitCount == 48) {
211 }
else if (compression ==
CC_UNINT) {
212 switch (CFA & 0xFFFFFF) {
214 if (biBitCount == 8) {
216 }
else if (biBitCount == 16) {
224 if (biBitCount == 8) {
226 }
else if (biBitCount == 16) {
248 #define DESCRIPTION_SIZE 4096
269 avio_seek(pb, offImageOffsets, SEEK_SET);
313 cine->
pts = timestamp;
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
static int set_metadata_int(AVDictionary **dict, const char *key, int value, int allow_zero)
int av_add_index_entry(AVStream *st, int64_t pos, int64_t timestamp, int size, int distance, int flags)
Add an index entry into a sorted list.
static av_always_inline float av_int2float(uint32_t i)
Reinterpret a 32-bit integer as a float.
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples */
int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
fseek() equivalent for AVIOContext.
AVIndexEntry * index_entries
Only used if the format does not support seeking natively.
enum AVPixelFormat pix_fmt
Pixel format, see AV_PIX_FMT_xxx.
int64_t avio_skip(AVIOContext *s, int64_t offset)
Skip given number of bytes forward.
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_RL16
void void avpriv_request_sample(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message about a missing feature.
bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, little-endian */
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file.
AVStream ** streams
A list of all streams in the file.
#define AVERROR_EOF
End of file.
int bits_per_coded_sample
bits per sample/pixel from the demuxer (needed for huffyuv).
Uninterpolated color image (CFA field indicates color ordering)
#define AV_PKT_FLAG_KEY
The packet contains a keyframe.
static int cine_read_probe(AVProbeData *p)
static int cine_read_header(AVFormatContext *avctx)
AVInputFormat ff_cine_demuxer
unsigned int avio_rl32(AVIOContext *s)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as lit...
int flags
A combination of AV_PKT_FLAG values.
AVCodecContext * codec
Codec context associated with this stream.
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
int seekable
A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable.
static int set_metadata_float(AVDictionary **dict, const char *key, float value, int allow_zero)
#define AV_DICT_DONT_STRDUP_VAL
Take ownership of a value that's been allocated with av_malloc() or another memory allocation functio...
int width
picture width / height.
GLsizei GLboolean const GLfloat * value
static int cine_read_packet(AVFormatContext *avctx, AVPacket *pkt)
packed RGB 8:8:8, 24bpp, BGRBGR...
static int read_header(FFV1Context *f)
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
enum AVMediaType codec_type
char * av_strdup(const char *s)
Duplicate the string s.
AVIOContext * pb
I/O context.
unsigned int codec_tag
fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A').
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
Set the given entry in *pm, overwriting an existing entry.
This structure contains the data a format has to probe a file.
bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, little-endian */
int64_t duration
Decoding: duration of the stream, in stream time base.
unsigned int avio_rl16(AVIOContext *s)
int av_dict_set_int(AVDictionary **pm, const char *key, int64_t value, int flags)
Convenience wrapper for av_dict_set that converts the value to a string and stores it...
bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples */
void * priv_data
Format private data.
Y , 16bpp, little-endian.
static int cine_read_seek(AVFormatContext *avctx, int stream_index, int64_t timestamp, int flags)
int avio_get_str(AVIOContext *pb, int maxlen, char *buf, int buflen)
Read a string from pb into buf.
#define MKTAG(a, b, c, d)
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_RL32
This structure stores compressed data.
uint64_t avio_rl64(AVIOContext *s)
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...