Files
FFmpeg/libavformat/framecrcenc.c
T

49 lines
1.8 KiB
C
Raw Normal View History

2007-10-28 22:08:09 +00:00
/*
* frame CRC encoder (for codec/format testing)
* Copyright (c) 2002 Fabrice Bellard
2007-10-28 22:08:09 +00:00
*
* This file is part of Libav.
2007-10-28 22:08:09 +00:00
*
* Libav is free software; you can redistribute it and/or
2007-10-28 22:08:09 +00:00
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
2007-10-28 22:08:09 +00:00
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
2007-10-28 22:08:09 +00:00
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "libavutil/adler32.h"
2007-10-28 22:08:09 +00:00
#include "avformat.h"
#include "internal.h"
2007-10-28 22:08:09 +00:00
static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
{
uint32_t crc = av_adler32_update(0, pkt->data, pkt->size);
char buf[256];
snprintf(buf, sizeof(buf), "%d, %10"PRId64", %10"PRId64", %8d, %8d, 0x%08x\n",
pkt->stream_index, pkt->dts, pkt->pts, pkt->duration, pkt->size, crc);
avio_write(s->pb, buf, strlen(buf));
2011-03-14 20:39:06 +01:00
avio_flush(s->pb);
2007-10-28 22:08:09 +00:00
return 0;
}
AVOutputFormat ff_framecrc_muxer = {
.name = "framecrc",
.long_name = NULL_IF_CONFIG_SMALL("framecrc testing"),
.extensions = "",
2012-08-05 11:11:04 +02:00
.audio_codec = AV_CODEC_ID_PCM_S16LE,
.video_codec = AV_CODEC_ID_RAWVIDEO,
.write_header = ff_framehash_write_header,
.write_packet = framecrc_write_packet,
2013-04-03 14:11:10 +02:00
.flags = AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT |
AVFMT_TS_NEGATIVE,
2007-10-28 22:08:09 +00:00
};