struct AVCodec;
void E_(InitLibavcodec)( vlc_object_t * );
+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 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 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 ** );
/* 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 * );
/*****************************************************************************
"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" \
#define MUX_TEXT N_("Ffmpeg mux")
#define MUX_LONGTEXT N_("Force use of ffmpeg muxer.")
+#define FFMPEG_COMMON_MEMBERS \
+ int i_cat; \
+ int i_codec_id; \
+ const char *psz_namecodec; \
+ AVCodecContext *p_context; \
+ AVCodec *p_codec;
+