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/** 22* @file libavcodec/libschroedinger.h 23* data structures common to libschroedingerdec.c and libschroedingerenc.c 24*/ 25 26#ifndef AVCODEC_LIBSCHROEDINGER_H 27#define AVCODEC_LIBSCHROEDINGER_H 28 29#include "config.h" 30 31#if CONFIG_LIBSCHROEDINGER 32 33#include <schroedinger/schrobitstream.h> 34#include <schroedinger/schroframe.h> 35#include "avcodec.h" 36 37static const struct { 38 enum PixelFormat ff_pix_fmt; 39 SchroChromaFormat schro_pix_fmt; 40 SchroFrameFormat schro_frame_fmt; 41} ffmpeg_schro_pixel_format_map[] = { 42 { PIX_FMT_YUV420P, SCHRO_CHROMA_420, SCHRO_FRAME_FORMAT_U8_420 }, 43 { PIX_FMT_YUV422P, SCHRO_CHROMA_422, SCHRO_FRAME_FORMAT_U8_422 }, 44 { PIX_FMT_YUV444P, SCHRO_CHROMA_444, SCHRO_FRAME_FORMAT_U8_444 }, 45}; 46 47/** 48* Returns the video format preset matching the input video dimensions and 49* time base. 50*/ 51SchroVideoFormatEnum ff_get_schro_video_format_preset (AVCodecContext *avccontext); 52 53/** 54* Sets the Schroedinger frame format corresponding to the Schro chroma format 55* passed. Returns 0 on success, -1 on failure. 56*/ 57int ff_get_schro_frame_format (SchroChromaFormat schro_chroma_fmt, 58 SchroFrameFormat *schro_frame_fmt); 59 60#endif /* CONFIG_LIBSCHROEDINGER */ 61#endif /* AVCODEC_LIBSCHROEDINGER_H */ 62