X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcodec%2Fffmpeg%2Fffmpeg.h;h=451c4d11117cc30fdaa351542667c154516a92dd;hb=8723242733a0bf6823c2a00504db088d0b809db2;hp=dfdd86ecc30f09a37659981c956e217178ed1a9c;hpb=2cb472dba008f7d877ffe6bae9c5575253365282;p=vlc diff --git a/modules/codec/ffmpeg/ffmpeg.h b/modules/codec/ffmpeg/ffmpeg.h index dfdd86ecc3..451c4d1111 100644 --- a/modules/codec/ffmpeg/ffmpeg.h +++ b/modules/codec/ffmpeg/ffmpeg.h @@ -21,13 +21,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#include "codecs.h" /* BITMAPINFOHEADER */ - -#if LIBAVCODEC_BUILD >= 4663 -# define LIBAVCODEC_PP -#else -# undef LIBAVCODEC_PP -#endif +#include /* BITMAPINFOHEADER */ struct picture_t; struct AVFrame; @@ -35,20 +29,22 @@ struct AVCodecContext; struct AVCodec; void E_(InitLibavcodec)( vlc_object_t * ); -int E_(GetFfmpegCodec) ( vlc_fourcc_t, int *, int *, char ** ); -int E_(GetVlcFourcc) ( int, int *, vlc_fourcc_t *, char ** ); +void E_(LibavcodecCallback)( void *p_opaque, int i_level, + const char *psz_format, va_list va ); +int E_(GetFfmpegCodec) ( vlc_fourcc_t, int *, int *, const char ** ); +int E_(GetVlcFourcc) ( int, int *, vlc_fourcc_t *, const char ** ); int E_(GetFfmpegChroma)( vlc_fourcc_t ); vlc_fourcc_t E_(GetVlcChroma)( int ); /* Video decoder module */ -int E_( InitVideoDec )( decoder_t *, AVCodecContext *, AVCodec *, - int, char * ); +int E_( InitVideoDec )( decoder_t *, struct AVCodecContext *, struct AVCodec *, + int, const char * ); void E_( EndVideoDec ) ( decoder_t * ); picture_t *E_( DecodeVideo ) ( decoder_t *, block_t ** ); /* Audio decoder module */ -int E_( InitAudioDec )( decoder_t *, AVCodecContext *, AVCodec *, - int, char * ); +int E_( InitAudioDec )( decoder_t *, struct AVCodecContext *, struct AVCodec *, + int, const char * ); void E_( EndAudioDec ) ( decoder_t * ); aout_buffer_t *E_( DecodeAudio ) ( decoder_t *, block_t ** ); @@ -68,47 +64,68 @@ void E_(CloseAudioEncoder)( vlc_object_t * ); int E_(OpenDemux) ( vlc_object_t * ); void E_(CloseDemux)( vlc_object_t * ); +/* Mux module */ +int E_(OpenMux) ( vlc_object_t * ); +void E_(CloseMux)( vlc_object_t * ); + /* Video filter module */ int E_(OpenFilter)( vlc_object_t * ); +int E_(OpenCropPadd)( vlc_object_t * ); void E_(CloseFilter)( vlc_object_t * ); int E_(OpenDeinterlace)( vlc_object_t * ); void E_(CloseDeinterlace)( vlc_object_t * ); +int E_(OpenScaler)( vlc_object_t * ); +void E_(CloseScaler)( vlc_object_t * ); /* Postprocessing module */ void *E_(OpenPostproc)( decoder_t *, vlc_bool_t * ); int E_(InitPostproc)( decoder_t *, void *, int, int, int ); -int E_(PostprocPict)( decoder_t *, void *, picture_t *, AVFrame * ); +int E_(PostprocPict)( decoder_t *, void *, picture_t *, struct AVFrame * ); void E_(ClosePostproc)( decoder_t *, void * ); /***************************************************************************** * Module descriptor help strings *****************************************************************************/ #define DR_TEXT N_("Direct rendering") +/* FIXME Does somebody who knows what it does, explain */ +#define DR_LONGTEXT N_("Direct rendering") #define ERROR_TEXT N_("Error resilience") #define ERROR_LONGTEXT N_( \ - "ffmpeg can do error resilience.\n" \ + "Ffmpeg can do error resilience.\n" \ "However, with a buggy encoder (such as the ISO MPEG-4 encoder from M$) " \ "this can produce a lot of errors.\n" \ "Valid values range from 0 to 4 (0 disables all errors resilience).") #define BUGS_TEXT N_("Workaround bugs") #define BUGS_LONGTEXT N_( \ - "Try to fix some bugs\n" \ + "Try to fix some bugs:\n" \ "1 autodetect\n" \ "2 old msmpeg4\n" \ "4 xvid interlaced\n" \ "8 ump4 \n" \ "16 no padding\n" \ "32 ac vlc\n" \ - "64 Qpel chroma") + "64 Qpel chroma.\n" \ + "This must be the sum of the values. For example, to fix \"ac vlc\" and " \ + "\"ump4\", enter 40.") #define HURRYUP_TEXT N_("Hurry up") #define HURRYUP_LONGTEXT N_( \ - "Allow the decoder to partially decode or skip frame(s) " \ + "The decoder can partially decode or skip frame(s) " \ "when there is not enough time. It's useful with low CPU power " \ "but it can produce distorted pictures.") +#define SKIP_FRAME_TEXT N_("Skip frame (default=0)") +#define SKIP_FRAME_LONGTEXT N_( \ + "Force skipping of frames to speed up decoding " \ + "(-1=None, 0=Default, 1=B-frames, 2=P-frames, 3=B+P frames, 4=all frames)." ) + +#define SKIP_IDCT_TEXT N_("Skip idct (default=0)") +#define SKIP_IDCT_LONGTEXT N_( \ + "Force skipping of idct to speed up decoding for frame types" \ + "(-1=None, 0=Default, 1=B-frames, 2=P-frames, 3=B+P frames, 4=all frames)." ) + #define PP_Q_TEXT N_("Post processing quality") #define PP_Q_LONGTEXT N_( \ "Quality of post processing. Valid range is 0 to 6\n" \ @@ -118,25 +135,29 @@ void E_(ClosePostproc)( decoder_t *, void * ); #define DEBUG_TEXT N_( "Debug mask" ) #define DEBUG_LONGTEXT N_( "Set ffmpeg debug mask" ) +/* TODO: Use a predefined list, with 0,1,2,4,7 */ #define VISMV_TEXT N_( "Visualize motion vectors" ) -#define VISMV_LONGTEXT N_( "Set motion vectors visualization mask.\n" \ +#define VISMV_LONGTEXT N_( \ + "You can overlay the motion vectors (arrows showing how the images move) "\ + "on the image. This value is a mask, based on these values:\n"\ "1 - visualize forward predicted MVs of P frames\n" \ "2 - visualize forward predicted MVs of B frames\n" \ - "4 - visualize backward predicted MVs of B frames" ) + "4 - visualize backward predicted MVs of B frames\n" \ + "To visualize all vectors, the value should be 7." ) #define LOWRES_TEXT N_( "Low resolution decoding" ) -#define LOWRES_LONGTEXT N_( "Will only decode a low resolution version of " \ - "the video." ) +#define LOWRES_LONGTEXT N_( "Only decode a low resolution version of " \ + "the video. This requires less processing power" ) #define SKIPLOOPF_TEXT N_( "Skip the loop filter for H.264 decoding" ) #define SKIPLOOPF_LONGTEXT N_( "Skipping the loop filter (aka deblocking) " \ - "usually has a detrimental effect on quality. However for HDTV streams " \ - "this provides a big speedup." ) + "usually has a detrimental effect on quality. However it provides a big " \ + "speedup for high definition streams." ) -#define LIBAVCODEC_PP_TEXT N_("ffmpeg post processing filter chains") +#define LIBAVCODEC_PP_TEXT N_("FFmpeg post processing filter chains") /* FIXME (cut/past from ffmpeg */ #define LIBAVCODEC_PP_LONGTEXT \ -"[: