Go to the documentation of this file.
22 #include "config_components.h"
40 #define GET_PACKET_SIZE(w, h) (((w + 47) / 48) * 48 * h * 8 / 3)
99 packet_size =
s->width *
s->height * pgroup / xinc;
111 if (packet_size == 0)
136 #define OFFSET(x) offsetof(RawVideoDemuxerContext, x)
137 #define DEC AV_OPT_FLAG_DECODING_PARAM
154 .
p.
name =
"rawvideo",
157 .p.extensions =
"yuv,cif,qcif,rgb",
172 #if CONFIG_BITPACKED_DEMUXER
174 .
p.
name =
"bitpacked",
177 .p.extensions =
"bitpacked",
184 #endif // CONFIG_BITPACKED_DEMUXER
193 #if CONFIG_V210_DEMUXER
198 .p.extensions =
"v210",
205 #endif // CONFIG_V210_DEMUXER
207 #if CONFIG_V210X_DEMUXER
212 .p.extensions =
"yuv10",
219 #endif // CONFIG_V210X_DEMUXER
AVPixelFormat
Pixel format.
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later. That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another. Frame references ownership and permissions
enum AVMediaType codec_type
General type of the encoded data.
AVStream * avformat_new_stream(AVFormatContext *s, const struct AVCodec *c)
Add a new stream to a media file.
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
@ AV_OPT_TYPE_VIDEO_RATE
Underlying C type is AVRational.
int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc)
Return the number of bits per pixel used by the pixel format described by pixdesc.
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC).
AVRational framerate
AVRational describing framerate, set by a private option.
static const AVOption rawvideo_options[]
const FFInputFormat ff_rawvideo_demuxer
static int rawvideo_read_header(AVFormatContext *ctx)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
#define AV_PIX_FMT_YUV422P16
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
const struct AVInputFormat * iformat
The input container format.
static enum AVPixelFormat pix_fmt
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq)
Rescale a 64-bit integer by 2 rational numbers.
AVCodecParameters * codecpar
Codec parameters associated with this stream.
#define LIBAVUTIL_VERSION_INT
static int read_header(FFV1Context *f)
Describe the class of an AVClass context structure.
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented.
Rational number (pair of numerator and denominator).
@ AV_OPT_TYPE_IMAGE_SIZE
Underlying C type is two consecutive integers.
const char * av_default_item_name(void *ptr)
Return the context name.
#define AV_PIX_FMT_YUV422P10
#define GET_PACKET_SIZE(w, h)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
char * pixel_format
Set by a private option.
int height
Integers describing video size, set by a private option.
static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt)
int64_t dts
Decompression timestamp in AVStream->time_base units; the time at which the packet is decompressed.
int av_image_get_buffer_size(enum AVPixelFormat pix_fmt, int width, int height, int align)
Return the size in bytes of the amount of data required to store an image with the given parameters.
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
static const AVClass v210_demuxer_class
@ AV_PIX_FMT_UYVY422
packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
enum AVPixelFormat av_get_pix_fmt(const char *name)
Return the pixel format corresponding to name.
static const FFInputFormat * ffifmt(const AVInputFormat *fmt)
int bits_per_coded_sample
The number of bits per sample in the codedwords.
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
This structure stores compressed data.
int64_t pos
byte position in stream, -1 if unknown
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
static const AVClass bitpacked_demuxer_class
#define MKTAG(a, b, c, d)
static const AVClass rawvideo_demuxer_class
int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx)
Check if the given dimension of an image is valid, meaning that all bytes of the image can be address...
@ AV_OPT_TYPE_STRING
Underlying C type is a uint8_t* that is either NULL or points to a C string allocated with the av_mal...
void * priv_data
Format private data.