Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
[ffmpeg.git] / libavcodec / rawenc.c
1 /*
2  * Raw Video Encoder
3  * Copyright (c) 2001 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 /**
23  * @file rawenc.c
24  * Raw Video Encoder
25  */
26
27 #include "avcodec.h"
28 #include "raw.h"
29
30 static av_cold int raw_init_encoder(AVCodecContext *avctx)
31 {
32     avctx->coded_frame = (AVFrame *)avctx->priv_data;
33     avctx->coded_frame->pict_type = FF_I_TYPE;
34     avctx->coded_frame->key_frame = 1;
35     if(!avctx->codec_tag)
36         avctx->codec_tag = avcodec_pix_fmt_to_codec_tag(avctx->pix_fmt);
37     return 0;
38 }
39
40 static int raw_encode(AVCodecContext *avctx,
41                             unsigned char *frame, int buf_size, void *data)
42 {
43     return avpicture_layout((AVPicture *)data, avctx->pix_fmt, avctx->width,
44                                                avctx->height, frame, buf_size);
45 }
46
47 AVCodec rawvideo_encoder = {
48     "rawvideo",
49     CODEC_TYPE_VIDEO,
50     CODEC_ID_RAWVIDEO,
51     sizeof(AVFrame),
52     raw_init_encoder,
53     raw_encode,
54     .long_name = NULL_IF_CONFIG_SMALL("raw video"),
55 };