1 /*
2 * frame CRC encoder (for codec/format testing)
3 * Copyright (c) 2002 Fabrice Bellard
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22 #include <inttypes.h>
23
28
30 {
31 int i;
39 }
40 }
41
43 }
44
46 {
49
50 snprintf(buf,
sizeof(buf),
"%d, %10"PRId64
", %10"PRId64
", %8"PRId64
", %8d, 0x%08"PRIx32,
55 int i, j;
57
59 uint32_t side_data_crc = 0;
64 1);
65 }
66 } else {
70 }
72 }
73 }
76 return 0;
77 }
78
88 };
static int framecrc_write_header(struct AVFormatContext *s)
This struct describes the properties of an encoded stream.
static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
int64_t duration
Duration of this packet in AVStream->time_base units, 0 if unknown.
unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf, unsigned int len)
Calculate the Adler32 checksum of a buffer.
AVStream ** streams
A list of all streams in the file.
void avio_write(AVIOContext *s, const unsigned char *buf, int size)
#define AV_PKT_FLAG_KEY
The packet contains a keyframe.
An AV_PKT_DATA_PALETTE side data packet contains exactly AVPALETTE_SIZE bytes worth of palette...
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
enum AVPacketSideDataType type
int flags
A combination of AV_PKT_FLAG values.
int extradata_size
Size of the extradata content in bytes.
unsigned int nb_streams
Number of elements in AVFormatContext.streams.
int ff_framehash_write_header(AVFormatContext *s)
Set the timebase for each stream from the corresponding codec timebase and print it.
Public header for Adler-32 hash function implementation.
AVIOContext * pb
I/O context.
size_t av_strlcatf(char *dst, size_t size, const char *fmt,...)
AVPacketSideData * side_data
Additional packet data that can be provided by the container.
AVOutputFormat ff_framecrc_muxer
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
int64_t dts
Decompression timestamp in AVStream->time_base units; the time at which the packet is decompressed...
AVCodecParameters * codecpar
Codec parameters associated with this stream.
This structure stores compressed data.
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...
int avio_printf(AVIOContext *s, const char *fmt,...) av_printf_format(2