Go to the documentation of this file.
32 static void error(
const char *err)
34 fprintf(stderr,
"%s", err);
40 static const uint64_t
FUZZ_TAG = 0x4741542D5A5A5546ULL;
44 const uint8_t *last =
data;
48 uint64_t keyframes = 0;
49 uint64_t flushpattern = -1;
54 #define BSF_SYMBOL0(BSF) ff_##BSF##_bsf
55 #define BSF_SYMBOL(BSF) BSF_SYMBOL0(BSF)
57 f = &BSF_SYMBOL(FFMPEG_BSF);
64 error(
"Failed memory allocation");
86 extradata_size = bytestream2_get_le32(&gbc);
91 keyframes = bytestream2_get_le64(&gbc);
92 flushpattern = bytestream2_get_le64(&gbc);
93 flags = bytestream2_get_byte(&gbc);
96 if (!strcmp(
f->
name,
"av1_metadata"))
98 else if (!strcmp(
f->
name,
"h264_metadata") || !strcmp(
f->
name,
"hevc_metadata") ||
99 !strcmp(
f->
name,
"vvc_metadata"))
101 else if (!strcmp(
f->
name,
"extract_extradata"))
105 if (extradata_size <
size) {
125 error(
"Failed memory allocation");
129 while (
data +
sizeof(fuzz_tag) < end) {
134 if (
data +
sizeof(fuzz_tag) > end)
139 error(
"Failed memory allocation");
142 keyframes = (keyframes >> 2) + (keyframes<<62);
143 data +=
sizeof(fuzz_tag);
146 if (!(flushpattern & 7))
148 flushpattern = (flushpattern >> 3) + (flushpattern << 61);
static void error(const char *err)
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
AVCodecParameters * par_in
Parameters of the input stream.
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
#define AV_LOG_PANIC
Something went really wrong and we will crash now.
#define AV_PKT_FLAG_DISCARD
Flag is used to discard packets which are required to maintain valid decoder state but are not requir...
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC).
int nb_channels
Number of channels in this layout.
void av_bsf_free(AVBSFContext **pctx)
Free a bitstream filter context and everything associated with it; write NULL into the supplied point...
#define AV_PKT_FLAG_KEY
The packet contains a keyframe.
void av_packet_free(AVPacket **pkt)
Free the packet, if the packet is reference counted, it will be unreferenced first.
The bitstream filter state.
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
int av_new_packet(AVPacket *pkt, int size)
Allocate the payload of a packet and initialize its fields with default values.
void av_bsf_flush(AVBSFContext *ctx)
Reset the internal bitstream filter state.
static const uint64_t FUZZ_TAG
static const AVBitStreamFilter * f
int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **pctx)
Allocate a context for a given bitstream filter.
enum AVCodecID * codec_ids
A list of codec ids supported by the filter, terminated by AV_CODEC_ID_NONE.
int av_bsf_init(AVBSFContext *ctx)
Prepare the filter for use, after all the parameters and options have been set.
FFmpeg hosted at Telepoint in bulgaria ns2 avcodec org Replica Name hosted at Prometeus Cdlan in italy instead several VMs run on it ffmpeg org and public facing also website git fftrac this part is build by a cronjob So is the doxygen stuff as well as the FFmpeg git snapshot These scripts are under the ffcron user https
int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt)
Retrieve a filtered packet.
AVChannelLayout ch_layout
Audio only.
int sample_rate
Audio only.
int av_opt_set_int(void *obj, const char *name, int64_t val, int search_flags)
int extradata_size
Size of the extradata content in bytes.
int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
Submit a packet for filtering.
int flags
A combination of AV_PKT_FLAG values.
AVPacket * av_packet_alloc(void)
Allocate an AVPacket and set its fields to default values.
void av_log_set_level(int level)
Set the log level.
#define i(width, name, range_min, range_max)
int block_align
Audio only.
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
void * priv_data
Opaque filter-specific private data.
int av_bsf_get_null_filter(AVBSFContext **bsf)
Get null/pass-through bitstream filter.
#define AV_INPUT_BUFFER_PADDING_SIZE
const struct AVBitStreamFilter * filter
The bitstream filter this context is an instance of.
int bits_per_coded_sample
The number of bits per sample in the codedwords.
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
This structure stores compressed data.
static av_always_inline void bytestream2_init(GetByteContext *g, const uint8_t *buf, int buf_size)
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
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...
#define FF_SANE_NB_CHANNELS