1/* 2 * This file is part of FFmpeg. 3 * 4 * FFmpeg is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * FFmpeg is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with FFmpeg; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 */ 18 19/** 20 * @file libavcodec/internal.h 21 * common internal api header. 22 */ 23 24#ifndef AVCODEC_INTERNAL_H 25#define AVCODEC_INTERNAL_H 26 27#include <stdint.h> 28#include "avcodec.h" 29 30/** 31 * Logs a generic warning message about a missing feature. 32 * @param[in] avc a pointer to an arbitrary struct of which the first field is 33 * a pointer to an AVClass struct 34 * @param[in] feature string containing the name of the missing feature 35 * @param[in] want_sample indicates if samples are wanted which exhibit this feature. 36 * If \p want_sample is non-zero, additional verbage will be added to the log 37 * message which tells the user how to report samples to the development 38 * mailing list. 39 */ 40void ff_log_missing_feature(void *avc, const char *feature, int want_sample); 41 42/** 43 * Logs a generic warning message asking for a sample. 44 * @param[in] avc a pointer to an arbitrary struct of which the first field is 45 * a pointer to an AVClass struct 46 * @param[in] msg string containing an optional message, or NULL if no message 47 */ 48void ff_log_ask_for_sample(void *avc, const char *msg); 49 50/** 51 * Determines whether \p pix_fmt is a hardware accelerated format. 52 */ 53int ff_is_hwaccel_pix_fmt(enum PixelFormat pix_fmt); 54 55/** 56 * Returns the hardware accelerated codec for codec \p codec_id and 57 * pixel format \p pix_fmt. 58 * 59 * @param codec_id the codec to match 60 * @param pix_fmt the pixel format to match 61 * @return the hardware accelerated codec, or NULL if none was found. 62 */ 63AVHWAccel *ff_find_hwaccel(enum CodecID codec_id, enum PixelFormat pix_fmt); 64 65#endif /* AVCODEC_INTERNAL_H */ 66