void ADriverMenu::create_objects()
{
+#ifdef HAVE_OSS
add_item(new ADriverItem(this, AUDIO_OSS_TITLE, AUDIO_OSS));
add_item(new ADriverItem(this, AUDIO_OSS_ENVY24_TITLE, AUDIO_OSS_ENVY24));
+#endif
#ifdef HAVE_ALSA
add_item(new ADriverItem(this, AUDIO_ALSA_TITLE, AUDIO_ALSA));
#endif
+#ifdef HAVE_ESOUND
if(!do_input) add_item(new ADriverItem(this, AUDIO_ESOUND_TITLE, AUDIO_ESOUND));
-// add_item(new ADriverItem(this, AUDIO_NAS_TITLE, AUDIO_NAS));
+#endif
+
#ifdef HAVE_FIREWIRE
if(!do_input) add_item(new ADriverItem(this, AUDIO_1394_TITLE, AUDIO_1394));
add_item(new ADriverItem(this, AUDIO_DV1394_TITLE, AUDIO_DV1394));
add_item(new ADriverItem(this, AUDIO_IEC61883_TITLE, AUDIO_IEC61883));
#endif
+
+#ifdef HAVE_DVB
if(do_input) add_item(new ADriverItem(this, AUDIO_DVB_TITLE, AUDIO_DVB));
+#endif
+
+#ifdef HAVE_VIDEO4LINUX2
if(do_input) add_item(new ADriverItem(this, AUDIO_V4L2MPEG_TITLE, AUDIO_V4L2MPEG));
+#endif
}
char* ADriverMenu::adriver_to_string(int driver)
#define COLOR_SRC_OVER(mx, Sc, Sa, Dc, Da) (Sc + Dc * (mx - Sa) / mx)
#define CHROMA_SRC_OVER COLOR_SRC_OVER
-// AND [Sa + Da - Sa * Da, Sc * Dc]
+// AND [Sa * Da, Sc * Dc]
#define ALPHA_AND(mx, Sa, Da) ((Sa * Da) / mx)
#define COLOR_AND(mx, Sc, Sa, Dc, Da) ((Sc * Dc) / mx)
#define CHROMA_AND COLOR_AND
#define COLOR_OR(mx, Sc, Sa, Dc, Da) (Sc + Dc - (Sc * Dc) / mx)
#define CHROMA_OR COLOR_OR
-// XOR [Sa * (1 - Da) + Da * (1 - Sa), Sa + Da - 2 * Sa * Da]
+// XOR [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + Dc * (1 - Sa)]
#define ALPHA_XOR(mx, Sa, Da) (Sa + Da - (TWO * Sa * Da / mx))
#define COLOR_XOR(mx, Sc, Sa, Dc, Da) ((Sc * (mx - Da) + Dc * (mx - Sa)) / mx)
#define CHROMA_XOR COLOR_XOR
#define CHROMA_SOFTLIGHT COLOR_SOFTLIGHT
// DIFFERENCE [Sa + Da - Sa * Da, Sc*(1 - Da) + Dc*(1 - Sa) +
-// abs(Sc * Da - Sc * Sa)]
+// abs(Sc * Da - Dc * Sa)]
#define ALPHA_DIFFERENCE STD_ALPHA
#define COLOR_DIFFERENCE(mx, Sc, Sa, Dc, Da) (STD_BLEND(mx,Sc,Sa,Dc,Da) + \
(mabs(Sc * Da - Dc * Sa) / mx))