diff --git a/src/capmt.c b/src/descrambler/capmt.c similarity index 100% rename from src/capmt.c rename to src/descrambler/capmt.c diff --git a/src/capmt.h b/src/descrambler/capmt.h similarity index 100% rename from src/capmt.h rename to src/descrambler/capmt.h diff --git a/src/cwc.c b/src/descrambler/cwc.c similarity index 100% rename from src/cwc.c rename to src/descrambler/cwc.c diff --git a/src/cwc.h b/src/descrambler/cwc.h similarity index 100% rename from src/cwc.h rename to src/descrambler/cwc.h diff --git a/src/ffdecsa/FFdecsa.c b/src/descrambler/ffdecsa/FFdecsa.c similarity index 100% rename from src/ffdecsa/FFdecsa.c rename to src/descrambler/ffdecsa/FFdecsa.c diff --git a/src/ffdecsa/FFdecsa.h b/src/descrambler/ffdecsa/FFdecsa.h similarity index 100% rename from src/ffdecsa/FFdecsa.h rename to src/descrambler/ffdecsa/FFdecsa.h diff --git a/src/ffdecsa/ffdecsa_int.c b/src/descrambler/ffdecsa/ffdecsa_int.c similarity index 100% rename from src/ffdecsa/ffdecsa_int.c rename to src/descrambler/ffdecsa/ffdecsa_int.c diff --git a/src/ffdecsa/ffdecsa_interface.c b/src/descrambler/ffdecsa/ffdecsa_interface.c similarity index 100% rename from src/ffdecsa/ffdecsa_interface.c rename to src/descrambler/ffdecsa/ffdecsa_interface.c diff --git a/src/ffdecsa/ffdecsa_mmx.c b/src/descrambler/ffdecsa/ffdecsa_mmx.c similarity index 100% rename from src/ffdecsa/ffdecsa_mmx.c rename to src/descrambler/ffdecsa/ffdecsa_mmx.c diff --git a/src/ffdecsa/ffdecsa_sse2.c b/src/descrambler/ffdecsa/ffdecsa_sse2.c similarity index 100% rename from src/ffdecsa/ffdecsa_sse2.c rename to src/descrambler/ffdecsa/ffdecsa_sse2.c diff --git a/src/ffdecsa/fftable.h b/src/descrambler/ffdecsa/fftable.h similarity index 100% rename from src/ffdecsa/fftable.h rename to src/descrambler/ffdecsa/fftable.h diff --git a/src/ffdecsa/parallel_032_int.h b/src/descrambler/ffdecsa/parallel_032_int.h similarity index 100% rename from src/ffdecsa/parallel_032_int.h rename to src/descrambler/ffdecsa/parallel_032_int.h diff --git a/src/ffdecsa/parallel_064_mmx.h b/src/descrambler/ffdecsa/parallel_064_mmx.h similarity index 100% rename from src/ffdecsa/parallel_064_mmx.h rename to src/descrambler/ffdecsa/parallel_064_mmx.h diff --git a/src/ffdecsa/parallel_128_sse2.h b/src/descrambler/ffdecsa/parallel_128_sse2.h similarity index 100% rename from src/ffdecsa/parallel_128_sse2.h rename to src/descrambler/ffdecsa/parallel_128_sse2.h diff --git a/src/ffdecsa/parallel_generic.h b/src/descrambler/ffdecsa/parallel_generic.h similarity index 100% rename from src/ffdecsa/parallel_generic.h rename to src/descrambler/ffdecsa/parallel_generic.h diff --git a/src/ffdecsa/parallel_std_def.h b/src/descrambler/ffdecsa/parallel_std_def.h similarity index 100% rename from src/ffdecsa/parallel_std_def.h rename to src/descrambler/ffdecsa/parallel_std_def.h diff --git a/src/ffdecsa/stream.c b/src/descrambler/ffdecsa/stream.c similarity index 100% rename from src/ffdecsa/stream.c rename to src/descrambler/ffdecsa/stream.c diff --git a/src/v4l.c b/src/input/mpegps/v4l/v4l.c similarity index 100% rename from src/v4l.c rename to src/input/mpegps/v4l/v4l.c diff --git a/src/v4l.h b/src/input/mpegps/v4l/v4l.h similarity index 100% rename from src/v4l.h rename to src/input/mpegps/v4l/v4l.h diff --git a/src/iptv_input.c b/src/input/mpegts/iptv/iptv_input.c similarity index 100% rename from src/iptv_input.c rename to src/input/mpegts/iptv/iptv_input.c diff --git a/src/iptv_input.h b/src/input/mpegts/iptv/iptv_input.h similarity index 100% rename from src/iptv_input.h rename to src/input/mpegts/iptv/iptv_input.h diff --git a/src/dvb/diseqc.c b/src/input/mpegts/linuxdvb/diseqc.c similarity index 100% rename from src/dvb/diseqc.c rename to src/input/mpegts/linuxdvb/diseqc.c diff --git a/src/dvb/diseqc.h b/src/input/mpegts/linuxdvb/diseqc.h similarity index 100% rename from src/dvb/diseqc.h rename to src/input/mpegts/linuxdvb/diseqc.h diff --git a/src/dvb/dvb.c b/src/input/mpegts/linuxdvb/dvb.c similarity index 100% rename from src/dvb/dvb.c rename to src/input/mpegts/linuxdvb/dvb.c diff --git a/src/dvb/dvb.h b/src/input/mpegts/linuxdvb/dvb.h similarity index 100% rename from src/dvb/dvb.h rename to src/input/mpegts/linuxdvb/dvb.h diff --git a/src/dvb/dvb_adapter.c b/src/input/mpegts/linuxdvb/dvb_adapter.c similarity index 100% rename from src/dvb/dvb_adapter.c rename to src/input/mpegts/linuxdvb/dvb_adapter.c diff --git a/src/dvb/dvb_charset.c b/src/input/mpegts/linuxdvb/dvb_charset.c similarity index 100% rename from src/dvb/dvb_charset.c rename to src/input/mpegts/linuxdvb/dvb_charset.c diff --git a/src/dvb/dvb_charset.h b/src/input/mpegts/linuxdvb/dvb_charset.h similarity index 100% rename from src/dvb/dvb_charset.h rename to src/input/mpegts/linuxdvb/dvb_charset.h diff --git a/src/dvb/dvb_charset_tables.h b/src/input/mpegts/linuxdvb/dvb_charset_tables.h similarity index 100% rename from src/dvb/dvb_charset_tables.h rename to src/input/mpegts/linuxdvb/dvb_charset_tables.h diff --git a/src/dvb/dvb_fe.c b/src/input/mpegts/linuxdvb/dvb_fe.c similarity index 100% rename from src/dvb/dvb_fe.c rename to src/input/mpegts/linuxdvb/dvb_fe.c diff --git a/src/dvb/dvb_hardware.c b/src/input/mpegts/linuxdvb/dvb_hardware.c similarity index 100% rename from src/dvb/dvb_hardware.c rename to src/input/mpegts/linuxdvb/dvb_hardware.c diff --git a/src/dvb/dvb_input_filtered.c b/src/input/mpegts/linuxdvb/dvb_input_filtered.c similarity index 100% rename from src/dvb/dvb_input_filtered.c rename to src/input/mpegts/linuxdvb/dvb_input_filtered.c diff --git a/src/dvb/dvb_input_raw.c b/src/input/mpegts/linuxdvb/dvb_input_raw.c similarity index 100% rename from src/dvb/dvb_input_raw.c rename to src/input/mpegts/linuxdvb/dvb_input_raw.c diff --git a/src/dvb/dvb_linux.c b/src/input/mpegts/linuxdvb/dvb_linux.c similarity index 100% rename from src/dvb/dvb_linux.c rename to src/input/mpegts/linuxdvb/dvb_linux.c diff --git a/src/dvb/dvb_multiplex.c b/src/input/mpegts/linuxdvb/dvb_multiplex.c similarity index 100% rename from src/dvb/dvb_multiplex.c rename to src/input/mpegts/linuxdvb/dvb_multiplex.c diff --git a/src/dvb/dvb_network.c b/src/input/mpegts/linuxdvb/dvb_network.c similarity index 100% rename from src/dvb/dvb_network.c rename to src/input/mpegts/linuxdvb/dvb_network.c diff --git a/src/dvb/dvb_preconf.c b/src/input/mpegts/linuxdvb/dvb_preconf.c similarity index 100% rename from src/dvb/dvb_preconf.c rename to src/input/mpegts/linuxdvb/dvb_preconf.c diff --git a/src/dvb/dvb_preconf.h b/src/input/mpegts/linuxdvb/dvb_preconf.h similarity index 100% rename from src/dvb/dvb_preconf.h rename to src/input/mpegts/linuxdvb/dvb_preconf.h diff --git a/src/dvb/dvb_satconf.c b/src/input/mpegts/linuxdvb/dvb_satconf.c similarity index 100% rename from src/dvb/dvb_satconf.c rename to src/input/mpegts/linuxdvb/dvb_satconf.c diff --git a/src/dvb/dvb_service.c b/src/input/mpegts/linuxdvb/dvb_service.c similarity index 100% rename from src/dvb/dvb_service.c rename to src/input/mpegts/linuxdvb/dvb_service.c diff --git a/src/dvb/dvb_support.c b/src/input/mpegts/linuxdvb/dvb_support.c similarity index 100% rename from src/dvb/dvb_support.c rename to src/input/mpegts/linuxdvb/dvb_support.c diff --git a/src/dvb/dvb_support.h b/src/input/mpegts/linuxdvb/dvb_support.h similarity index 100% rename from src/dvb/dvb_support.h rename to src/input/mpegts/linuxdvb/dvb_support.h diff --git a/src/dvb/dvb_tables.c b/src/input/mpegts/linuxdvb/dvb_tables.c similarity index 100% rename from src/dvb/dvb_tables.c rename to src/input/mpegts/linuxdvb/dvb_tables.c diff --git a/src/psi.c b/src/input/mpegts/psi.c similarity index 100% rename from src/psi.c rename to src/input/mpegts/psi.c diff --git a/src/psi.h b/src/input/mpegts/psi.h similarity index 100% rename from src/psi.h rename to src/input/mpegts/psi.h diff --git a/src/tsdemux.c b/src/input/mpegts/tsdemux.c similarity index 100% rename from src/tsdemux.c rename to src/input/mpegts/tsdemux.c diff --git a/src/tsdemux.h b/src/input/mpegts/tsdemux.h similarity index 100% rename from src/tsdemux.h rename to src/input/mpegts/tsdemux.h diff --git a/src/rawtsinput.c b/src/input/mpegts/tsfile/rawtsinput.c similarity index 100% rename from src/rawtsinput.c rename to src/input/mpegts/tsfile/rawtsinput.c diff --git a/src/rawtsinput.h b/src/input/mpegts/tsfile/rawtsinput.h similarity index 100% rename from src/rawtsinput.h rename to src/input/mpegts/tsfile/rawtsinput.h diff --git a/src/bitstream.c b/src/parsers/bitstream.c similarity index 100% rename from src/bitstream.c rename to src/parsers/bitstream.c diff --git a/src/bitstream.h b/src/parsers/bitstream.h similarity index 100% rename from src/bitstream.h rename to src/parsers/bitstream.h diff --git a/src/avc.c b/src/parsers/parser_avc.c similarity index 100% rename from src/avc.c rename to src/parsers/parser_avc.c diff --git a/src/avc.h b/src/parsers/parser_avc.h similarity index 100% rename from src/avc.h rename to src/parsers/parser_avc.h diff --git a/src/parser_h264.c b/src/parsers/parser_h264.c similarity index 100% rename from src/parser_h264.c rename to src/parsers/parser_h264.c diff --git a/src/parser_h264.h b/src/parsers/parser_h264.h similarity index 100% rename from src/parser_h264.h rename to src/parsers/parser_h264.h diff --git a/src/parser_latm.c b/src/parsers/parser_latm.c similarity index 100% rename from src/parser_latm.c rename to src/parsers/parser_latm.c diff --git a/src/parser_latm.h b/src/parsers/parser_latm.h similarity index 100% rename from src/parser_latm.h rename to src/parsers/parser_latm.h diff --git a/src/teletext.c b/src/parsers/parser_teletext.c similarity index 100% rename from src/teletext.c rename to src/parsers/parser_teletext.c diff --git a/src/teletext.h b/src/parsers/parser_teletext.h similarity index 100% rename from src/teletext.h rename to src/parsers/parser_teletext.h diff --git a/src/parsers.c b/src/parsers/parsers.c similarity index 100% rename from src/parsers.c rename to src/parsers/parsers.c