Commit | Line | Data |
---|---|---|
f7cd9eed AS |
1 | /* |
2 | * Copyright (c) 2008 BBC, Anuradha Suraparaju <asuraparaju at gmail dot com > | |
3 | * | |
4 | * This file is part of FFmpeg. | |
5 | * | |
6 | * FFmpeg is free software; you can redistribute it and/or | |
7 | * modify it under the terms of the GNU Lesser General Public | |
8 | * License as published by the Free Software Foundation; either | |
9 | * version 2.1 of the License, or (at your option) any later version. | |
10 | * | |
11 | * FFmpeg is distributed in the hope that it will be useful, | |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 | * Lesser General Public License for more details. | |
15 | * | |
16 | * You should have received a copy of the GNU Lesser General Public | |
17 | * License along with FFmpeg; if not, write to the Free Software | |
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
19 | */ | |
20 | ||
21 | /** | |
bad5537e | 22 | * @file libavcodec/libschroedinger.h |
f7cd9eed AS |
23 | * data structures common to libschroedingerdec.c and libschroedingerenc.c |
24 | */ | |
25 | ||
98790382 SS |
26 | #ifndef AVCODEC_LIBSCHROEDINGER_H |
27 | #define AVCODEC_LIBSCHROEDINGER_H | |
f7cd9eed | 28 | |
f7cd9eed AS |
29 | #include <schroedinger/schrobitstream.h> |
30 | #include <schroedinger/schroframe.h> | |
31 | #include "avcodec.h" | |
32 | ||
33 | static const struct { | |
34 | enum PixelFormat ff_pix_fmt; | |
35 | SchroChromaFormat schro_pix_fmt; | |
36 | SchroFrameFormat schro_frame_fmt; | |
37 | } ffmpeg_schro_pixel_format_map[] = { | |
38 | { PIX_FMT_YUV420P, SCHRO_CHROMA_420, SCHRO_FRAME_FORMAT_U8_420 }, | |
39 | { PIX_FMT_YUV422P, SCHRO_CHROMA_422, SCHRO_FRAME_FORMAT_U8_422 }, | |
40 | { PIX_FMT_YUV444P, SCHRO_CHROMA_444, SCHRO_FRAME_FORMAT_U8_444 }, | |
41 | }; | |
42 | ||
43 | /** | |
44 | * Returns the video format preset matching the input video dimensions and | |
45 | * time base. | |
46 | */ | |
47 | SchroVideoFormatEnum ff_get_schro_video_format_preset (AVCodecContext *avccontext); | |
48 | ||
49 | /** | |
50 | * Sets the Schroedinger frame format corresponding to the Schro chroma format | |
51 | * passed. Returns 0 on success, -1 on failure. | |
52 | */ | |
53 | int ff_get_schro_frame_format (SchroChromaFormat schro_chroma_fmt, | |
54 | SchroFrameFormat *schro_frame_fmt); | |
55 | ||
98790382 | 56 | #endif /* AVCODEC_LIBSCHROEDINGER_H */ |