1/* 2 * Copyright (C) 2014 Colin G��nther <coling@gmx.de>. 3 * 4 * All rights reserved. Distributed under the terms of the MIT License. 5 */ 6 7/****************************************************************************** 8/ 9/ File: gfx_util.h 10/ 11/ Description: utility functions for ffmpeg codec wrappers for BeOs R5. 12/ 13/ Disclaimer: This decoder is based on undocumented APIs. 14/ Therefore it is likely, if not certain, to break in future 15/ versions of BeOS. This piece of software is in no way 16/ connected to or even supported by Be, Inc. 17/ 18/ Copyright (C) 2001 Fran��ois Revol. All Rights Reserved. 19/ 20******************************************************************************/ 21 22#ifndef __FFUTILS_H__ 23#define __FFUTILS_H__ 24 25// BeOS and libavcodec bitmap formats 26#include <GraphicsDefs.h> 27extern "C" { 28 #include "libavcodec/avcodec.h" 29} 30 31 32// this function will be used by the wrapper to write into 33// the Media Kit provided buffer from the self-allocated ffmpeg codec buffer 34// it also will do some colorspace and planar/chunky conversions. 35// these functions should be optimized with overlay in mind. 36//typedef void (*gfx_convert_func) (AVPicture *in, AVPicture *out, long line_count, long size); 37// will become: 38typedef void (*gfx_convert_func) (AVFrame *in, AVFrame *out, int width, int height); 39 40// this function will try to find the best colorspaces for both the ff-codec and 41// the Media Kit sides. 42gfx_convert_func resolve_colorspace(color_space cs, AVPixelFormat pixelFormat, int width, int height); 43 44const char *pixfmt_to_string(int format); 45 46color_space pixfmt_to_colorspace(int format); 47AVPixelFormat colorspace_to_pixfmt(color_space format); 48 49void dump_ffframe_audio(AVFrame *frame, const char *name); 50void dump_ffframe_video(AVFrame *frame, const char *name); 51 52#endif 53