Giter Club home page Giter Club logo

hacktv's Introduction

 -[ HackTV - Analogue TV transmitter for the HackRF ]-

https://sanslogic.co.uk/hacktv

WHAT'S IT DO

Generates a PAL, NTSC, SECAM, D/D2-MAC video signal from a video file, stream
or test pattern. Also supports older 819, 405, 240 and 30 line standards, as
well as the NASA Apollo video standards, both colour and mono.

Input is any file type or URL supported by ffmpeg.

Output can be to a file, HackRF, fl2k-supported VGA adaptors or any SDR
supported by SoapySDR.

It also supports:

+ Teletext (625-line only)
+ NICAM stereo audio
+ Videocrypt I/II/S hardware support
+ Partial Nagravision Syster hardware support
+ Analogue Copy Protection system, similar to Macrovision


WHAT'S IT NOT DO (yet)

+ An optional notch filter for the colour subcarrier would be nice


WHAT IT WON'T DO

+ DVB or other pure digital signals
+ Bring back Firefly :(


REQUIREMENTS

Depends on libhackrf and various ffmpeg libraries.

* For Fedora (with rpmfusion)
yum install hackrf-devel osmo-fl2k-devel SoapySDR-devel ffmpeg-devel

* For Debian and related
apt-get update
apt-get install libhackrf-dev libavutil-dev libavdevice-dev libswresample-dev libswscale-dev libavformat-dev libavcodec-dev

* On Debian (sid)
apt-get install hacktv


WARNING

The hackrf is not designed to be connected directly to AV equipment and could
be damaged by, or cause damage to, your receiver. Please ensure no DC voltages
or control signals are sent back into the hackrf, and that the RF power levels
out of the hackrf are not too high for your receiver.


INSTALL

cd src
make
make install


EXAMPLES

# Generate a file containing a PAL baseband signal from a video
$ hacktv -o baseband.bin -m pal example.mkv

# Transmit a test pattern on UHF channel 31 (PAL System I), 47dB TX gain
$ hacktv -f 551250000 -m i -g 47 test

# Transmit a test pattern with teletext
$ hacktv -f 551250000 -m i -g 47 --teletext demo.tti test

# Download and transmit teletext pages from the Teefax service
$ svn checkout http://teastop.plus.com/svn/teletext/ teefax
$ hacktv -f 551250000 -m i -g 47 --teletext teefax test

# Transmit two channels simultaneously on UHF channel 68 and 69 (PAL I)
$ hacktv -s 20000000 --offset -6.75e6 --level 0.5 --filter -o - test | hacktv -s 20000000 -f 854e6 --offset 1.25e6 --level 0.5 --passthru /dev/stdin -g 47 --filter test

# Grab and transmit the local display (X11)
$ hacktv -f 551.25e6 -m i -g 47 -ffmt x11grab --fopts framerate=25 ffmpeg::0

LINKS

https://github.com/captainjack64/hacktv - Fork of hacktv with support for additional scrambling systems
https://github.com/steeviebops/jhacktv-gui - A cross platform GUI for hacktv written in Java


-Philip Heron <[email protected]>

hacktv's People

Contributors

alexmyczko avatar atsampson avatar captainjack64 avatar dforsi avatar fsphil avatar philpem avatar shenglin00 avatar zcooger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hacktv's Issues

solution ffmpeg.c:1019:73: error: ‘AVStream {aka struct AVStream}’ has no member

I had a problem and I put the same and the solution

problem
ffmpeg.c: In function ‘av_ffmpeg_open’:
ffmpeg.c:921:60: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
if(av->video_stream == NULL && av->format_ctx->streams[i]->codecpar->codec_ty
^
ffmpeg.c:926:72: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
f(s->audio && av->audio_stream == NULL && av->format_ctx->streams[i]->codecpar-
^
ffmpeg.c:928:33: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
if(av->format_ctx->streams[i]->codecpar->channels <= 0) continue;
^
ffmpeg.c:960:6: warning: implicit declaration of function ‘avcodec_parameters_to_context’ [-Wimplicit-function-declaration]
if(avcodec_parameters_to_context(av->video_codec_ctx, av->video_stream->codec
^
ffmpeg.c:960:73: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
(avcodec_parameters_to_context(av->video_codec_ctx, av->video_stream->codecpar)
^
ffmpeg.c:1019:73: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
(avcodec_parameters_to_context(av->audio_codec_ctx, av->audio_stream->codecpar)
^
Makefile:32: fallo en las instrucciones para el objetivo 'ffmpeg.o'
make: *** [ffmpeg.o] Error 1

solution

1 sudo add-apt-repository ppa:jonathonf/ffmpeg-3
2 sudo apt update
3 sudo apt-get install ffmpeg
4 sudo apt-get install libavcodec-dev
5 sudo apt-get install libavformat-dev
6 sudo apt-get install libswscale-dev
7 sudo apt-get install libavutil-dev

Show full options of hacktv when typing hacktv --help

Hello,

I notice that when we type "hacktv --help" then the output will not show the full features of hacktv,

for example if the user has not yet bought or connected a fl2k device then the "--help" command will not show the fl2k options, it's because Fsphill has restricted the information by adding a "#ifdef HAVE_FL2K" statement in hacktv.c file (line 123) :

https://github.com/fsphil/hacktv/blob/master/hacktv.c

I think it's a mistake, because usually a help file must by default show all options/features of the software, there is no need to restrict the information, a user must know all features of the software, especially if there is no PDF/html documentation,

I notice also that the readme file on github page doesn't mention the fl2k feature.

Here is in attached file what the user can read if he types the help command hacktv-help.txt

Bring back Firefly

I know the readme says it won't. But please reconsider this! I really need this feature!
I totally trust in in your coding skills! You can do it! And if not, maybe someone in the
community is able to issue a pull request to resolve this?!

Prbs won't work in Windows version

Hi, i compiled the Version for Windows. It seems that the prbs for cutpoint calculation won't work right. I got an encrypted video, the Decoder locks in but the picture stays scrambled. The Linux compilation works very well.

Macrovision

To satisfy meticulousness I enclose here samples with macrovision signal - just for the sake of completeness. I embed some samples:

  • Digital MV Remake of Panasonic DVD Recorder in Pass-Thru TBC mode:
    TV2019091206031900

  • Original MV pulses on protected VHS tape:
    TV2019091206014800

  • Video:
    mv.7z.zip

Autoplay feature?

Could an autoplay feature be added? Would like it to play all the videos in my directory.
Or even an EPG styled kind of editor to play a video/clip at a certain time.
Thanks

Add Support To Decode The Raw

Hello My Name Is Sick, I Never Found To Read The Raw Output From hacktv, And I See Zcooger To Decode The Raw From HackTV In The Comment On Youtube But Only On Windows

So, Is Possible To Add Option For Example -d , To Decode The Raw Input (Output From HackTV) And The Output Is A Format Readable To Any Players?

Thanks, Sick

Livestreaming

I'm not sure how I would go about buffering the video in a livestream

can't compile it for windows on linux

Hi after getting hacktv working on linux I decided to try and compile it for windows since I have a hard time compiling c on windows I decided to try to compile hacktv for windows on linux using mingw cross-compiler

I followed this tutorial: https://arrayfire.com/cross-compile-to-windows-from-linux/

and changed makefile from this

CC=gcc
CFLAGS=-g -Wall -pthread -O3
LDFLAGS=-g -lm -pthread

CFLAGS+=`pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil`
LDFLAGS+=`pkg-config --libs libavcodec libavformat libswscale libswresample libavutil`

CFLAGS+=`pkg-config --cflags libhackrf`
LDFLAGS+=`pkg-config --libs libhackrf`

OBJS=hacktv.o video.o videocrypt.o nicam728.o test.o ffmpeg.o hackrf.o

all: hacktv

hacktv: $(OBJS)
	$(CC) -o hacktv $(OBJS) $(LDFLAGS)

.c.o:
	$(CC) $(CFLAGS) -c $< -o $@

install:
	cp -f hacktv /usr/local/bin/

clean:
	rm -f *.o hacktv

to this:

CC=x86_64-w64-mingw32-gcc
CFLAGS=-g -Wall -pthread -O3
LDFLAGS=-g -lm -pthread

CFLAGS+=`pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil`
LDFLAGS+=`pkg-config --libs libavcodec libavformat libswscale libswresample libavutil`

CFLAGS+=`pkg-config --cflags libhackrf`
LDFLAGS+=`pkg-config --libs libhackrf`

OBJS=hacktv.o video.o videocrypt.o nicam728.o test.o ffmpeg.o hackrf.o

all: hacktv

hacktv: $(OBJS)
	$(CC) -o hacktv $(OBJS) $(LDFLAGS)

.c.o:
	$(CC) $(CFLAGS) -c $< -o $@

install:
	cp -f hacktv /usr/local/bin/

clean:
	rm -f *.o hacktv

but when running make I get a weird error (it didn't complain about libraries which I assumed):

mitja@ubuntu:~/analog-tv/hacktv$ make
x86_64-w64-mingw32-gcc -g -Wall -pthread -O3 `pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil` `pkg-config --cflags libhackrf` -c hacktv.c -o hacktv.o
In file included from hacktv.c:18:0:
/usr/include/stdio.h:102:19: error: conflicting types for ‘ssize_t’
typedef __ssize_t ssize_t;
                  ^
In file included from /usr/share/mingw-w64/include/stddef.h:7:0,
                from /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/include/stddef.h:1,
                from /usr/include/stdio.h:33,
                from hacktv.c:18:
/usr/share/mingw-w64/include/crtdefs.h:45:35: note: previous declaration of ‘ssize_t’ was here
__MINGW_EXTENSION typedef __int64 ssize_t;
                                  ^
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:132:0,
                from /usr/include/stdlib.h:314,
                from hacktv.c:19:
/usr/include/time.h:75:18: error: conflicting types for ‘time_t’
typedef __time_t time_t;
                 ^
In file included from /usr/share/mingw-w64/include/stddef.h:7:0,
                from /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/include/stddef.h:1,
                from /usr/include/stdio.h:33,
                from hacktv.c:18:
/usr/share/mingw-w64/include/crtdefs.h:138:20: note: previous declaration of ‘time_t’ was here
typedef __time64_t time_t;
                   ^
In file included from hacktv.h:21:0,
                from hacktv.c:23:
/usr/include/stdint.h:122:27: error: conflicting types for ‘uintptr_t’
typedef unsigned long int uintptr_t;
                          ^
In file included from /usr/share/mingw-w64/include/stddef.h:7:0,
                from /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/include/stddef.h:1,
                from /usr/include/stdio.h:33,
                from hacktv.c:18:
/usr/share/mingw-w64/include/crtdefs.h:75:44: note: previous declaration of ‘uintptr_t’ was here
__MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
                                           ^
In file included from hacktv.h:21:0,
                from hacktv.c:23:
/usr/include/stdint.h:145:0: warning: "__INT64_C" redefined
#  define __INT64_C(c) c ## L
^
<built-in>: note: this is the location of the previous definition
In file included from hacktv.h:21:0,
                from hacktv.c:23:
/usr/include/stdint.h:146:0: warning: "__UINT64_C" redefined
#  define __UINT64_C(c) c ## UL
^
<built-in>: note: this is the location of the previous definition
Makefile:20: recipe for target 'hacktv.o' failed
make: *** [hacktv.o] Error 1

I would realy like to compile this for windows because I can't use my HackRF in a VM and its unpractical to boot to linux just to have a play with an awesome project I dream about when I got my HackRF One

Thanks for Anwsering and Best Regards

/dev/stdin on windows

also I tried to use it with vbit2 on windows like this: vbit2 --dir teefax | hacktv -f 855250000 -g 47 --teletext raw:/dev/stdin test

but windows does not have /dev/stdin so I modified teletext.c from this s->raw = fopen(path + 4, "rb"); into s->raw = fopen(stdin + 4, "rb"); but for some reason hacktv still complains: Unable to initialise video encoder.

and I got some warnings when compiling

teletext.c: In function 'tt_init':
teletext.c:1081:18: warning: passing argument 1 of 'fopen' from incompatible pointer type [-Wincompatible-pointer-types]
   s->raw = fopen(stdin + 4, "rb");
                  ^~~~~
In file included from teletext.c:33:0:
C:/msys64/mingw64/x86_64-w64-mingw32/include/stdio.h:600:17: note: expected 'const char * restrict' but argument is of type 'FILE * {aka struct _iobuf *}'
   FILE *__cdecl fopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;

not sure what I am doing wrong here

Originally posted by @veso266 in #14 (comment)

Use multiple threads to better spread CPU workload

I've been trying to run HackTV on a Raspberry Pi 4 B+ (4GB RAM).

This setup works fine when showing a test card at an 11MHz or 14MHz sample rate, but when Videocrypt is enabled the Pi can't keep up (HackRF suffers underruns).

It appears that all the processing work is being done in a single thread - one of the Pi's CPU cores is fully saturated while the other three aren't doing anything.

Could HackTV be enhanced to do its processing across multiple threads?

how to use NICAM stereo

Hi was wondering since you added NICAM stereo :), how would I use that?, I found nothing in hacktv.c only experimental VSB modulator option (is that nicam)

also was wondering if you will support NICAM dual audio? (I was in indonesia, although they are switching ananlog off Bali still has it and instead of teletext they have Nicam there also in multi-language mode)

also here are the instructions I wrote for myself (because I forget stuff) on how to compile hacktv with Mysys2 (MinGW) on windows

  1. Install FFMpeg-Dev

    1. Download FFMpeg Dev-Libs: https://ffmpeg.zeranoe.com/builds/win64/dev/ffmpeg-20180608-2bd26de-win64-dev.zip
    2. Copy *.pc files found in hacktv/pkg-config-files to msys64/mingw64/lib/pkgconfig
    3. Copy *.dll.a files found in ffmpeg-20180608-2bd26de-win64-dev/lib to msys64/mingw64/lib
    4. Copy . found in ffmpeg-20180608-2bd26de-win64-dev/include to msys64/mingw64/include
  2. Install LibHackRF

    1. Find Precompiled libHackRF somewhere (or compiie it yourselif: http://hellmund.blogspot.com/2015/05/hackrf-on-windows-8.html)
    2. Copy *.pc files found in hacktv/pkg-config-files to msys64/mingw64/lib/pkgconfig
  3. Compiling LibHackRF

    1. Download Precompiled FFTW: http://fftw.org/install/windows.html

    2. Download libusb1.0: https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.7z
      MinGW64/dll (where we need our dll)

    3. git clone https://github.com/mossmann/hackrf.git

    4. Compiling
      mkdir host/build
      cd host/build
      cmake ../ -G "MSYS Makefiles" -DLIBUSB_INCLUDE_DIR=/home/Mitja/libs/libusb/include/libusb-1.0 -DLIBUSB_LIBRARIES=/home/Mitja/libs/libusb/MinGW64/dll/libusb-1.0.dll -DFFTW_LIBRARIES=/home/Mitja/libs/libfftw/fftw
      NO cmake ../ -G "MSYS Makefiles" -DLIBUSB_INCLUDE_DIR=../../../../libusb/include/libusb-1.0 -DLIBUSB_LIBRARIES=../../../../libusb/MinGW64/dll/libusb-1.0.dll -DFFTW_LIBRARIES=../../../../libfftw/fftw
      make
      make install

  4. Compiling HackTV
    Modify hackrf.c
    rename _close and _write to _closeRF and _writeRF
    Modify teletext.c
    rename gmtime_r to gmtime_s

NF:-1,CMC California (720p)
http://cmctv.ios.internapcdn.net:80/cmctv_vitalstream_com/live_1/CMC-TV/CCURstream.m3u8
#EXTINF:-1,CMC Country California (480p)
http://cmctv.ios.internapcdn.net:80/cmctv_vitalstream_com/live_1/CMCUSA/CCURstream.m3u8

Example Command to play CMC Country Television on Channel 31 with teletext
hacktv -f 551250000 -m b -G 1 -a -g 47 --teletext teefax http://cmctv.ios.internapcdn.net:80/cmctv_vitalstream_com/live_1/CMCUSA/CCURstream.m3u8

Test card and Teletext from vbit2: vbit2 --dir teefax | hacktv -f 855250000 -g 47 --teletext raw:/dev/stdin test

hope someone will find them usable

SECAM

Does this support SECAM?

It would be more interesting if it did, as the standard is quite obscure and I still don't have any idea how the color is modulated...

Vertical Interval Test Signal (VITS)

This ticket is made to suggest adding vertical blanking test signal (VITS) used to calibrate the image brightness, color, setting proper gain and troubleshot transmission problems.

Some docs here:
https://www.semanticscholar.org/paper/Current-Usage-of-Vertical-Interval-Test-Signals-in-O'Connor/bc793d1eac9efbc02faf1596bde664c5c5d6d426
https://www.tek.com/datasheet/vm700t-option-11
Interlaced snapshots captured from my VHS tapes:
RTL7 example:
obraz
obraz Zoomed lines - 37, 38, 39, 40
Canal+ example (with nagravision signals too):
obraz
obraz Zoomed lines - 37, 38, 39, 40
TVP2 example:
obraz
obraz Zoomed lines - 40, 41, 42, 43
obraz
obraz Zoomed lines - 40, 41, 42, 43
TVP1 example:
obraz
obraz Zoomed lines - 41, 42, 43, 44
Discovery Channel example (with videocrypt signals too):
obraz
obraz Zoomed lines - 41, 42, 43, 44

EIA-608 closed captioning for NTSC

Hello. This ticket is made to suggest adding closed captioning signal (EIA-608) used to broadcast subtitles for the transmission in NTSC system.

LD-Decode guys announce support for decoding the CC data: https://www.facebook.com/groups/2070493199906024/permalink/2345606389061369/
Example capture of NTSC subtitles in the picture: https://www.youtube.com/watch?v=I0y_BjqE26A
Technology Connections CC history video: https://www.youtube.com/watch?v=6SL6zs2bDks
Technical data: https://en.wikipedia.org/wiki/EIA-608

How to use?

After testing the program using this example: $ hacktv -f 551250000 -m i -g 47 test, i tried to transmit an image like this $ hacktv -f 551250000 -m i -g 47 image.jpg, but it failed, telling me that i was using a depreciated pixel format. and told me that it could not find an audio stream.

Then i tried to test with a video, $ hacktv -f 551250000 -m i -g 47 video.webm but that failed too, the issue seemed to be the video codec.

I also converted the video into a signal using the example $ hacktv -o baseband.bin -m pal video.webm and then tried to transmit it like this $ hacktv -f 551250000 -m i -g 47 baseband.bin but that also failed.

If you could please add an example on how to transmit a video/image and what the requirements are for said video/image, i would be very grateful, my final goal is to be able to use this to stream a video from my webcam, but first a gotta be able to send at least a picture lol

Bitmap/Vector files in arguments for pattern generation are going in endless loop

I created/collected some images of pattern generators I tried to use with HackTV.
But I have to compose for each of them a single AVI file (in VirtualDub for example) and have to deal with "seeking video" flashing screen.
Formats I tried are BMP, JPG, PNG, SVG and TIFF.
About SVG I will not complain but I see even that format is handled by FFMpeg. That's the native format for my patterns :P

For the files with -r switch command line opens the file with endless loop (capture card sees only flashing VBI pulse), without it it is never displayed and the program ends.

Example CL:

./hacktv -o fl2k '/home/zcooger/Desktop/rca.jpg' -r -m pal
Video: 832x576 25.00 fps (full frame 1024x625)
Sample rate: 16000000
Allocating 6 zero-copy buffers
libusb: error [op_dev_mem_alloc] alloc dev mem failed errno 12
Failed to allocate zero-copy buffer for transfer 4
Falling back to buffers in userspace
UUURequested sample rate 16000000 not possible, using 15999998.000000, error is -2.000000
Opening '/home/zcooger/Desktop/rca.jpg'...
Input #0, image2, from '/home/zcooger/Desktop/rca.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 49958 kb/s
Stream #0:0: Video: mjpeg, gray(bt470bg/unknown/unknown), 768x576 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Using video stream 0.
No audio streams found.
Opening '/home/zcooger/Desktop/rca.jpg'...
Input #0, image2, from '/home/zcooger/Desktop/rca.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 49958 kb/s
Stream #0:0: Video: mjpeg, gray(bt470bg/unknown/unknown), 768x576 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Using video stream 0.
No audio streams found.
Opening '/home/zcooger/Desktop/rca.jpg'...
Input #0, image2, from '/home/zcooger/Desktop/rca.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 49958 kb/s
Stream #0:0: Video: mjpeg, gray(bt470bg/unknown/unknown), 768x576 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Using video stream 0.
No audio streams found.

SVG:

./hacktv -o fl2k '/media/zcooger/TOSHIBA 750/KATALOG GLOWNY/Obrazy/Plansze Testowe/EBU 75 RGB/ORIGINAL/EBU 75 RGB.svg' -r -m pal
Video: 832x576 25.00 fps (full frame 1024x625)
Sample rate: 16000000
Allocating 6 zero-copy buffers
libusb: error [op_dev_mem_alloc] alloc dev mem failed errno 12
Failed to allocate zero-copy buffer for transfer 4
Falling back to buffers in userspace
UUURequested sample rate 16000000 not possible, using 15999998.000000, error is -2.000000
Opening '/media/zcooger/TOSHIBA 750/KATALOG GLOWNY/Obrazy/Plansze Testowe/EBU 75 RGB/ORIGINAL/EBU 75 RGB.svg'...
Input #0, svg_pipe, from '/media/zcooger/TOSHIBA 750/KATALOG GLOWNY/Obrazy/Plansze Testowe/EBU 75 RGB/ORIGINAL/EBU 75 RGB.svg':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: svg, bgra, 768x576, 25 tbr, 25 tbn, 25 tbc
Using video stream 0.
No audio streams found.
Opening '/media/zcooger/TOSHIBA 750/KATALOG GLOWNY/Obrazy/Plansze Testowe/EBU 75 RGB/ORIGINAL/EBU 75 RGB.svg'...
Input #0, svg_pipe, from '/media/zcooger/TOSHIBA 750/KATALOG GLOWNY/Obrazy/Plansze Testowe/EBU 75 RGB/ORIGINAL/EBU 75 RGB.svg':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: svg, bgra, 768x576, 25 tbr, 25 tbn, 25 tbc
Using video stream 0.
No audio streams found.
Opening '/media/zcooger/TOSHIBA 750/KATALOG GLOWNY/Obrazy/Plansze Testowe/EBU 75 RGB/ORIGINAL/EBU 75 RGB.svg'...
Input #0, svg_pipe, from '/media/zcooger/TOSHIBA 750/KATALOG GLOWNY/Obrazy/Plansze Testowe/EBU 75 RGB/ORIGINAL/EBU 75 RGB.svg':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: svg, bgra, 768x576, 25 tbr, 25 tbn, 25 tbc
Using video stream 0.
No audio streams found.

For interested: Test Patterns.7z.zip

WSS tag is erroneously overlayed over image scrambled with Videocrypt

WSS tag is stationary.
Additionaly it is placed on wrong line since single line buffer is applied and in result it should land higher.
I bet aspect ratio switch is working until the video is scrambled. After decoding WSS tag may be displaced and messed by the decoder so I suggest to:

  1. Overlay WSS tag first.
  2. Scramble the image.

Command I used:
hacktv -m pal -t uint8 -o ebu_vc.bin --videocrypt free --wss auto ebu75.avi

ebu_vc

Leitch and Nokia ls-256 simulation

Hi,

Can you add Leitch and Nokia line shuffle simulation Support? Leitch was designed for ntsc resolution. The visable lines are scrambled randomly and delayed by a quarter frame. (120 lines) so it should work for pal by incrase the number of lines. Nokia ls 256 is designed for pal, scrambles 256 lines per halfframe and uses the last 2 visable lines per halfframe for vbi signalling. The starting line and the algo for prbs is unknown but this is just a simulation, so who cares.

Thank you.

hacktv and ffmpeg

Is there any chance to make a videocrypt effect with a key to encrypt and decrypt a real time streaming with ffmpeg?
I also try to find a way to junkcrypt the audio too, thanks

AUDIO SYSTER does not encode audio

I'm happy with the software, but it encodes the video but the audio does not.
I have tried several mp2, mp4, acc, ac3, mp3 files
I have ubuntu and hackrf.
Can you help me?

vanhoteen@ubuntu:~$ hacktv -m g -f 583000000 -g 47 /home/vanhoteen/Vídeos/canalplus1990.mp4 -r --syster
Video: 832x576 25.00 fps (full frame 1024x625)
Sample rate: 16000000
UOpening '/home/vanhoteen/Vídeos/canalplus1990.mp4'...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/vanhoteen/Vídeos/canalplus1990.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2015-08-28T06:01:56.000000Z
Duration: 00:02:39.57, start: 0.000000, bitrate: 318 kb/s
U Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 480x360 [SAR 1:1 DAR 4:3], 219 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
Metadata:
creation_time : 2015-08-28T06:01:56.000000Z
handler_name : IsoMedia File Produced by Google, 5-11-2011
Using video stream 0.
Using audio stream 1.

Videocrypt conditional acsess mode

Hi I saw you addded Conditional acsess mode for Video Crypt

I am wondering do you need MTV Sample Data or can you generate your own Data

and this Sky Cards do they self destruct after a while or if you have one that was disabled by your SAT provider would it still work

What is inside this card, can I use a normal recent SAT Card or does it have to be Sky (does it need to be old or would a new one (something like this: http://sat-planet.ie/FREESAT-VIEWING-CARD work))

Can you plug SAT Cards into a normal Smart Card reader and write your own Key into it so you can then import into HackTV and have your own SAT Card 😄

Could you maybe explain how Conditional acsess mode works or do you have some links that explain it
In the past I read this: http://web.archive.org/web/20170618002818/http://www.bombshock.com/electronics/cable-descrambling/how-to-decode-pay-tv.html

but it lead to nowhere to be found software
Thanks for Anwsering and forgive my stupidity and Best Regards

Bug in Syster-Encoder?

Hi,
is there any bug in the syster encoder? In the decoded picture i have many stripes / Lines jumping arround on wrong positions... Have tested per live-view in MeuhMeuh-TV aswell the decoded baseband-file per offline descrambler (cryptimage). There all the same stripes in the top of the picture. I have tested my own encrypded videos, they didn't have any stripes in view.

Regards, Marco.

RAW Teletext Stream as Imput

I was wondering if it would be possible to add RAW Teletext imput into stdpipe like rasp-teletext is doing: https://github.com/ali1234/raspi-teletext
https://github.com/ali1234/raspi-teletext/blob/master/teletext.c#L154
https://github.com/ali1234/raspi-teletext/blob/master/buffer.c#L78 //read_packets() is here

so I could use https://github.com/peterkvt80/vbit2 to generate Teletext Data from tti files and then teletext.c to just modulate them

maybe you could also borrow some code from raspi-teletext to add Closed-Captions support for NTSC: https://en.wikipedia.org/wiki/EIA-608
https://github.com/ali1234/raspi-teletext/blob/master/cea608.c
also don't forget the RAW imput so I can use https://github.com/peterkvt80/newfor-subtitles to generate CC and your teletext.c to modulate them

PS: Maybe add PAL D/K and PAL L?

Vertical Interval Time Code (VITC)

This ticket is made to suggest adding vertical blanking time code (VITC).
Quick non-technical demonstration: https://www.youtube.com/watch?v=aU40YRBa6nk
I wondered how this feature would work but first simple idea I got is to place time information of media file played back at the current moment.
Such signal can "fake" any professional video cassette deck.

Problems when building HackTV for Windows (implicit declarations)

System Info:

System:    Host: MINT-PORTABLE Kernel: 4.15.0-36-generic x86_64 bits: 64 gcc: 7.3.0
           Desktop: Cinnamon 3.8.9 (Gtk 3.22.30-1ubuntu1) dm: lightdm Distro: Linux Mint 19 Tara
Machine:   Device: laptop System: LENOVO product: 24295XG v: ThinkPad T530 serial: N/A
           Mobo: LENOVO model: 24295XG serial: N/A
           UEFI [Legacy]: LENOVO v: G4ETB3WW (2.73 ) date: 06/11/2018
           Chassis: type: 10 serial: N/A
Battery    BAT0: charge: 44.5 Wh 99.9% condition: 44.5/85.9 Wh (52%) volts: 12.2/10.8
           model: SANYO 45N1173 serial: <filter>status: Full
CPU:       Dual core Intel Core i7-3520M (-MT-MCP-) arch: Ivy Bridge rev.9 cache: 4096 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 11574
           clock speeds: min/max: 1200/3600 MHz 1: 1197 MHz 2: 1197 MHz 3: 1197 MHz 4: 1198 MHz
Graphics:  Card-1: Intel 3rd Gen Core processor Graphics Controller bus-ID: 00:02.0 chip-ID: 8086:0166
           Card-2: NVIDIA GF108M [NVS 5400M] bus-ID: 01:00.0 chip-ID: 10de:0def
           Display Server: x11 (X.Org 1.19.6 )
           drivers: modesetting,nvidia (unloaded: fbdev,vesa,nouveau)
           Resolution: [email protected]
           OpenGL: renderer: N/A version: N/A Direct Render: N/A
Audio:     Card Intel 7 Series/C216 Family High Def. Audio Controller
           driver: snd_hda_intel bus-ID: 00:1b.0 chip-ID: 8086:1e20
           Sound: Advanced Linux Sound Architecture v: k4.15.0-36-generic
Network:   Card-1: Intel 82579LM Gigabit Network Connection
           driver: e1000e v: 3.2.6-k port: 7080 bus-ID: 00:19.0 chip-ID: 8086:1502
           IF: enp0s25 state: up speed: 100 Mbps duplex: full mac: <filter>
           Card-2: Intel Centrino Advanced-N 6205 [Taylor Peak]
           driver: iwlwifi bus-ID: 03:00.0 chip-ID: 8086:0085
           IF: wlp3s0 state: down mac: <filter>
Drives:    HDD Total Size: 870.2GB (32.5% used)
           ID-1: /dev/mmcblk0 model: N/A size: 1.0GB serial: <filter>
           ID-2: /dev/sda model: Corsair_Force_LE size: 120.0GB serial: <filter>
           ID-3: USB /dev/sdb model: MK7559GSM size: 750.2GB serial: <filter>
Partition: ID-1: / size: 19G used: 9.4G (54%) fs: ext4 dev: /dev/sdb5
           ID-2: /home size: 208G used: 11G (6%) fs: ext4 dev: /dev/sdb7
           ID-3: swap-1 size: 2.05GB used: 0.00GB (0%) fs: swap dev: /dev/sdb6
RAID:      System: supported: N/A
           No RAID devices: /proc/mdstat, md_mod kernel module present
           Unused Devices: none
Sensors:   System Temperatures: cpu: 54.0C mobo: N/A gpu: 0.0:53C
           Fan Speeds (in rpm): cpu: 2388
Repos:     Active apt sources in file: /etc/apt/sources.list.d/official-package-repositories.list
           deb http: //mirrors.evowise.com/linuxmint/packages tara main upstream import backport
           deb http: //ubuntu.mirror.true.nl/ubuntu bionic main restricted universe multiverse
           deb http: //ubuntu.mirror.true.nl/ubuntu bionic-updates main restricted universe multiverse
           deb http: //ubuntu.mirror.true.nl/ubuntu bionic-backports main restricted universe multiverse
           deb http: //security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
           deb http: //archive.canonical.com/ubuntu/ bionic partner
           Active apt sources in file: /etc/apt/sources.list.d/spotify.list
           deb http: //repository.spotify.com stable non-free
Info:      Processes: 239 Uptime: 54 min Memory: 1739.6/3645.5MB
           Init: systemd v: 237 runlevel: 5 Gcc sys: 7.3.0 Client: Unknown python3.6 client inxi: 2.3.56

Log:

zcooger@MINT-PORTABLE:~/Desktop/hacktv-master$ sudo ./build_win64.sh 
[sudo] password for zcooger:         
+ HOST=x86_64-w64-mingw32
++ pwd
+ PREFIX=/home/zcooger/Desktop/hacktv-master/build_win64/install_root
+ export PKG_CONFIG_PATH=/home/zcooger/Desktop/hacktv-master/build_win64/install_root/lib/pkgconfig
+ PKG_CONFIG_PATH=/home/zcooger/Desktop/hacktv-master/build_win64/install_root/lib/pkgconfig
+ mkdir -p /home/zcooger/Desktop/hacktv-master/build_win64/install_root
+ cd build_win64
+ [[ ! -f /home/zcooger/Desktop/hacktv-master/build_win64/install_root/lib/libusb-1.0.a ]]
+ [[ ! -f libusb-1.0.22.tar.bz2 ]]
+ wget https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.tar.bz2
--2019-02-12 15:33:24--  https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.tar.bz2
Resolving github.com (github.com)... 140.82.118.4, 140.82.118.3
Connecting to github.com (github.com)|140.82.118.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/15120676/52ad2e32-2f90-11e8-8b78-f2ee838f3d05?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190212%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190212T143324Z&X-Amz-Expires=300&X-Amz-Signature=ffac22754fdd53f445ae341ce720f84f61ea94bbd562429843f6bbeb6053722b&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dlibusb-1.0.22.tar.bz2&response-content-type=application%2Foctet-stream [following]
--2019-02-12 15:33:24--  https://github-production-release-asset-2e65be.s3.amazonaws.com/15120676/52ad2e32-2f90-11e8-8b78-f2ee838f3d05?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190212%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190212T143324Z&X-Amz-Expires=300&X-Amz-Signature=ffac22754fdd53f445ae341ce720f84f61ea94bbd562429843f6bbeb6053722b&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dlibusb-1.0.22.tar.bz2&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.163.59
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.163.59|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 598833 (585K) [application/octet-stream]
Saving to: ‘libusb-1.0.22.tar.bz2’

libusb-1.0.22.tar.b 100%[===================>] 584,80K   798KB/s    in 0,7s    

2019-02-12 15:33:25 (798 KB/s) - ‘libusb-1.0.22.tar.bz2’ saved [598833/598833]

+ tar -xvjf libusb-1.0.22.tar.bz2
libusb-1.0.22/
libusb-1.0.22/tests/
libusb-1.0.22/tests/Makefile.am
libusb-1.0.22/tests/testlib.c
libusb-1.0.22/tests/libusb_testlib.h
libusb-1.0.22/tests/stress.c
libusb-1.0.22/tests/Makefile.in
libusb-1.0.22/android/
libusb-1.0.22/android/README
libusb-1.0.22/android/config.h
libusb-1.0.22/android/jni/
libusb-1.0.22/android/jni/Android.mk
libusb-1.0.22/android/jni/examples.mk
libusb-1.0.22/android/jni/Application.mk
libusb-1.0.22/android/jni/libusb.mk
libusb-1.0.22/android/jni/tests.mk
libusb-1.0.22/Xcode/
libusb-1.0.22/Xcode/release.xcconfig
libusb-1.0.22/Xcode/libusb_debug.xcconfig
libusb-1.0.22/Xcode/libusb.xcconfig
libusb-1.0.22/Xcode/config.h
libusb-1.0.22/Xcode/libusb_release.xcconfig
libusb-1.0.22/Xcode/common.xcconfig
libusb-1.0.22/Xcode/debug.xcconfig
libusb-1.0.22/Xcode/libusb.xcodeproj/
libusb-1.0.22/Xcode/libusb.xcodeproj/project.pbxproj
libusb-1.0.22/README
libusb-1.0.22/depcomp
libusb-1.0.22/m4/
libusb-1.0.22/m4/libtool.m4
libusb-1.0.22/m4/ltsugar.m4
libusb-1.0.22/m4/ltoptions.m4
libusb-1.0.22/m4/ltversion.m4
libusb-1.0.22/m4/lt~obsolete.m4
libusb-1.0.22/msvc/
libusb-1.0.22/msvc/appveyor.bat
libusb-1.0.22/msvc/listdevs_2010.vcxproj
libusb-1.0.22/msvc/libusb_dll_2017.vcxproj
libusb-1.0.22/msvc/libusb_dll_2010.vcxproj
libusb-1.0.22/msvc/stress_2005.vcproj
libusb-1.0.22/msvc/libusb_dll_2012.vcxproj
libusb-1.0.22/msvc/xusb_2012.vcxproj
libusb-1.0.22/msvc/libusb_dll_2005.vcproj
libusb-1.0.22/msvc/ddk_build.cmd
libusb-1.0.22/msvc/libusb_2005.sln
libusb-1.0.22/msvc/libusb_2010.sln
libusb-1.0.22/msvc/fxload_2013.vcxproj
libusb-1.0.22/msvc/testlibusb_2017.vcxproj
libusb-1.0.22/msvc/getopt_2005.vcproj
libusb-1.0.22/msvc/listdevs_2013.vcxproj
libusb-1.0.22/msvc/getopt_2017.vcxproj
libusb-1.0.22/msvc/listdevs_wince.vcproj
libusb-1.0.22/msvc/testlibusb_2010.vcxproj
libusb-1.0.22/msvc/libusb_dll_wince.vcproj
libusb-1.0.22/msvc/missing.h
libusb-1.0.22/msvc/xusb_2005.vcproj
libusb-1.0.22/msvc/libusb_wince.sln
libusb-1.0.22/msvc/config.h
libusb-1.0.22/msvc/xusb.dsp
libusb-1.0.22/msvc/stress_2013.vcxproj
libusb-1.0.22/msvc/fxload_2012.vcxproj
libusb-1.0.22/msvc/libusb_static_2010.vcxproj
libusb-1.0.22/msvc/listdevs_2015.vcxproj
libusb-1.0.22/msvc/testlibusb_2015.vcxproj
libusb-1.0.22/msvc/libusb_dll.dsp
libusb-1.0.22/msvc/listdevs_sources
libusb-1.0.22/msvc/listdevs_2005.vcproj
libusb-1.0.22/msvc/libusb_static_2017.vcxproj
libusb-1.0.22/msvc/hotplugtest_2017.vcxproj
libusb-1.0.22/msvc/stress_2015.vcxproj
libusb-1.0.22/msvc/hotplugtest_2010.vcxproj
libusb-1.0.22/msvc/getopt_2010.vcxproj
libusb-1.0.22/msvc/listdevs_2017.vcxproj
libusb-1.0.22/msvc/stress_2010.vcxproj
libusb-1.0.22/msvc/fxload_sources
libusb-1.0.22/msvc/libusb_dll_2015.vcxproj
libusb-1.0.22/msvc/libusb_2012.sln
libusb-1.0.22/msvc/listdevs.dsp
libusb-1.0.22/msvc/errno.h
libusb-1.0.22/msvc/libusb_static_2012.vcxproj
libusb-1.0.22/msvc/stress_sources
libusb-1.0.22/msvc/xusb_2015.vcxproj
libusb-1.0.22/msvc/listdevs_2012.vcxproj
libusb-1.0.22/msvc/stress_2012.vcxproj
libusb-1.0.22/msvc/fxload_2010.vcxproj
libusb-1.0.22/msvc/libusb_2017.sln
libusb-1.0.22/msvc/xusb_2010.vcxproj
libusb-1.0.22/msvc/libusb_static_2013.vcxproj
libusb-1.0.22/msvc/inttypes.h
libusb-1.0.22/msvc/hotplugtest_2012.vcxproj
libusb-1.0.22/msvc/xusb_2017.vcxproj
libusb-1.0.22/msvc/stress_wince.vcproj
libusb-1.0.22/msvc/hotplugtest_sources
libusb-1.0.22/msvc/xusb_2013.vcxproj
libusb-1.0.22/msvc/hotplugtest_2013.vcxproj
libusb-1.0.22/msvc/libusb_dll_2013.vcxproj
libusb-1.0.22/msvc/libusb_static.dsp
libusb-1.0.22/msvc/libusb_static_2005.vcproj
libusb-1.0.22/msvc/xusb_wince.vcproj
libusb-1.0.22/msvc/hotplugtest_2015.vcxproj
libusb-1.0.22/msvc/testlibusb_2013.vcxproj
libusb-1.0.22/msvc/getopt_2013.vcxproj
libusb-1.0.22/msvc/stdint.h
libusb-1.0.22/msvc/testlibusb_2012.vcxproj
libusb-1.0.22/msvc/libusb_sources
libusb-1.0.22/msvc/xusb_sources
libusb-1.0.22/msvc/missing.c
libusb-1.0.22/msvc/libusb_2015.sln
libusb-1.0.22/msvc/libusb_static_2015.vcxproj
libusb-1.0.22/msvc/libusb_2013.sln
libusb-1.0.22/msvc/getopt_sources
libusb-1.0.22/msvc/fxload_2017.vcxproj
libusb-1.0.22/msvc/getopt_2015.vcxproj
libusb-1.0.22/msvc/fxload_2015.vcxproj
libusb-1.0.22/msvc/libusb_static_wince.vcproj
libusb-1.0.22/msvc/stress_2017.vcxproj
libusb-1.0.22/msvc/getopt_2012.vcxproj
libusb-1.0.22/msvc/testlibusb_sources
libusb-1.0.22/msvc/libusb.dsw
libusb-1.0.22/install-sh
libusb-1.0.22/Makefile.am
libusb-1.0.22/config.h.in
libusb-1.0.22/TODO
libusb-1.0.22/config.sub
libusb-1.0.22/aclocal.m4
libusb-1.0.22/config.guess
libusb-1.0.22/examples/
libusb-1.0.22/examples/dpfp.c
libusb-1.0.22/examples/fxload.c
libusb-1.0.22/examples/ezusb.h
libusb-1.0.22/examples/Makefile.am
libusb-1.0.22/examples/listdevs.c
libusb-1.0.22/examples/sam3u_benchmark.c
libusb-1.0.22/examples/dpfp_threaded.c
libusb-1.0.22/examples/getopt/
libusb-1.0.22/examples/getopt/getopt1.c
libusb-1.0.22/examples/getopt/getopt.c
libusb-1.0.22/examples/getopt/getopt.h
libusb-1.0.22/examples/hotplugtest.c
libusb-1.0.22/examples/testlibusb.c
libusb-1.0.22/examples/ezusb.c
libusb-1.0.22/examples/xusb.c
libusb-1.0.22/examples/Makefile.in
libusb-1.0.22/INSTALL
libusb-1.0.22/ChangeLog
libusb-1.0.22/NEWS
libusb-1.0.22/AUTHORS
libusb-1.0.22/missing
libusb-1.0.22/libusb-1.0.pc.in
libusb-1.0.22/ltmain.sh
libusb-1.0.22/configure.ac
libusb-1.0.22/PORTING
libusb-1.0.22/COPYING
libusb-1.0.22/libusb/
libusb-1.0.22/libusb/strerror.c
libusb-1.0.22/libusb/version.h
libusb-1.0.22/libusb/libusb-1.0.rc
libusb-1.0.22/libusb/libusb-1.0.def
libusb-1.0.22/libusb/os/
libusb-1.0.22/libusb/os/windows_winusb.h
libusb-1.0.22/libusb/os/windows_common.h
libusb-1.0.22/libusb/os/windows_nt_shared_types.h
libusb-1.0.22/libusb/os/wince_usb.c
libusb-1.0.22/libusb/os/threads_posix.c
libusb-1.0.22/libusb/os/haiku_pollfs.cpp
libusb-1.0.22/libusb/os/poll_windows.c
libusb-1.0.22/libusb/os/wince_usb.h
libusb-1.0.22/libusb/os/threads_windows.c
libusb-1.0.22/libusb/os/windows_usbdk.c
libusb-1.0.22/libusb/os/openbsd_usb.c
libusb-1.0.22/libusb/os/netbsd_usb.c
libusb-1.0.22/libusb/os/windows_usbdk.h
libusb-1.0.22/libusb/os/haiku_usb_raw.cpp
libusb-1.0.22/libusb/os/linux_netlink.c
libusb-1.0.22/libusb/os/threads_posix.h
libusb-1.0.22/libusb/os/haiku_usb.h
libusb-1.0.22/libusb/os/poll_posix.c
libusb-1.0.22/libusb/os/haiku_usb_raw.h
libusb-1.0.22/libusb/os/poll_posix.h
libusb-1.0.22/libusb/os/darwin_usb.c
libusb-1.0.22/libusb/os/haiku_usb_backend.cpp
libusb-1.0.22/libusb/os/windows_winusb.c
libusb-1.0.22/libusb/os/linux_usbfs.h
libusb-1.0.22/libusb/os/linux_usbfs.c
libusb-1.0.22/libusb/os/windows_nt_common.h
libusb-1.0.22/libusb/os/sunos_usb.c
libusb-1.0.22/libusb/os/darwin_usb.h
libusb-1.0.22/libusb/os/poll_windows.h
libusb-1.0.22/libusb/os/threads_windows.h
libusb-1.0.22/libusb/os/windows_nt_common.c
libusb-1.0.22/libusb/os/linux_udev.c
libusb-1.0.22/libusb/os/sunos_usb.h
libusb-1.0.22/libusb/hotplug.h
libusb-1.0.22/libusb/sync.c
libusb-1.0.22/libusb/Makefile.am
libusb-1.0.22/libusb/core.c
libusb-1.0.22/libusb/hotplug.c
libusb-1.0.22/libusb/libusbi.h
libusb-1.0.22/libusb/version_nano.h
libusb-1.0.22/libusb/descriptor.c
libusb-1.0.22/libusb/io.c
libusb-1.0.22/libusb/libusb.h
libusb-1.0.22/libusb/Makefile.in
libusb-1.0.22/compile
libusb-1.0.22/Makefile.in
libusb-1.0.22/configure
libusb-1.0.22/doc/
libusb-1.0.22/doc/Makefile.am
libusb-1.0.22/doc/doxygen.cfg.in
libusb-1.0.22/doc/Makefile.in
+ cd libusb-1.0.22
+ ./configure --host=x86_64-w64-mingw32 --prefix=/home/zcooger/Desktop/hacktv-master/build_win64/install_root --enable-static --disable-shared
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-w64-mingw32-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for x86_64-w64-mingw32-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for x86_64-w64-mingw32-g++... no
checking for x86_64-w64-mingw32-c++... no
checking for x86_64-w64-mingw32-gpp... no
checking for x86_64-w64-mingw32-aCC... no
checking for x86_64-w64-mingw32-CC... no
checking for x86_64-w64-mingw32-cxx... no
checking for x86_64-w64-mingw32-cc++... no
checking for x86_64-w64-mingw32-cl.exe... no
checking for x86_64-w64-mingw32-FCC... no
checking for x86_64-w64-mingw32-KCC... no
checking for x86_64-w64-mingw32-RCC... no
checking for x86_64-w64-mingw32-xlC_r... no
checking for x86_64-w64-mingw32-xlC... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-w64-mingw32
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... no
checking for x86_64-w64-mingw32-dumpbin... no
checking for x86_64-w64-mingw32-link... no
checking for dumpbin... no
checking for link... link -dump
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-w64-mingw32 format... func_convert_file_nix_to_w32
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for x86_64-w64-mingw32-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for x86_64-w64-mingw32-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... func_cygming_dll_for_implib_fallback
checking for x86_64-w64-mingw32-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for x86_64-w64-mingw32-strip... strip
checking for x86_64-w64-mingw32-ranlib... no
checking for ranlib... ranlib
checking command to parse nm output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for x86_64-w64-mingw32-mt... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking for x86_64-w64-mingw32-windres... no
checking for windres... no
checking for inline... inline
checking operating system... Windows
checking sys/timerfd.h usability... yes
checking sys/timerfd.h presence... yes
checking for sys/timerfd.h... yes
checking whether TFD_NONBLOCK is declared... yes
checking whether TFD_CLOEXEC is declared... yes
checking whether to use timerfd for timing... yes
checking for pipe2... yes
checking for struct timespec... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for sigaction... yes
checking whether CC supports -std=gnu99... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating libusb-1.0.pc
config.status: creating Makefile
config.status: creating libusb/Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating doc/Makefile
config.status: creating doc/doxygen.cfg
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
+ make -j4 install
Making install in libusb
make[1]: Entering directory '/home/zcooger/Desktop/hacktv-master/build_win64/libusb-1.0.22/libusb'
  CC       libusb_1_0_la-io.lo
  CC       libusb_1_0_la-hotplug.lo
  CC       libusb_1_0_la-core.lo
  CC       libusb_1_0_la-descriptor.lo
In file included from libusbi.h:284:0,
                 from hotplug.c:33:
os/threads_windows.h:28:18: error: unknown type name ‘LONG’
 typedef volatile LONG usbi_mutex_static_t;
                  ^~~~
os/threads_windows.h: In function ‘usbi_mutex_static_unlock’:
os/threads_windows.h:33:2: error: implicit declaration of function ‘InterlockedExchange’ [-Werror=implicit-function-declaration]
  InterlockedExchange(mutex, 0L);
  ^~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:36:9: error: unknown type name ‘CRITICAL_SECTION’
 typedef CRITICAL_SECTION usbi_mutex_t;
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_init’:
os/threads_windows.h:39:2: error: implicit declaration of function ‘InitializeCriticalSection’ [-Werror=implicit-function-declaration]
  InitializeCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from libusbi.h:284:0,
                 from io.c:37:
os/threads_windows.h:28:18: error: unknown type name ‘LONG’
 typedef volatile LONG usbi_mutex_static_t;
                  ^~~~
os/threads_windows.h: In function ‘usbi_mutex_lock’:
os/threads_windows.h:44:2: error: implicit declaration of function ‘EnterCriticalSection’ [-Werror=implicit-function-declaration]
  EnterCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_unlock’:
os/threads_windows.h:48:2: error: implicit declaration of function ‘LeaveCriticalSection’ [-Werror=implicit-function-declaration]
  LeaveCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
In file included from libusbi.h:284:0,
                 from descriptor.c:29:
os/threads_windows.h:28:18: error: unknown type name ‘LONG’
 typedef volatile LONG usbi_mutex_static_t;
                  ^~~~
os/threads_windows.h: In function ‘usbi_mutex_static_unlock’:
os/threads_windows.h:33:2: error: implicit declaration of function ‘InterlockedExchange’ [-Werror=implicit-function-declaration]
  InterlockedExchange(mutex, 0L);
  ^~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:36:9: error: unknown type name ‘CRITICAL_SECTION’
 typedef CRITICAL_SECTION usbi_mutex_t;
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_trylock’:
os/threads_windows.h:52:10: error: implicit declaration of function ‘TryEnterCriticalSection’ [-Werror=implicit-function-declaration]
  return !TryEnterCriticalSection(mutex);
          ^~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_init’:
os/threads_windows.h:39:2: error: implicit declaration of function ‘InitializeCriticalSection’ [-Werror=implicit-function-declaration]
  InitializeCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_destroy’:
os/threads_windows.h:56:2: error: implicit declaration of function ‘DeleteCriticalSection’ [-Werror=implicit-function-declaration]
  DeleteCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:88:9: error: unknown type name ‘DWORD’
 typedef DWORD usbi_tls_key_t;
         ^~~~~
os/threads_windows.h: In function ‘usbi_tls_key_create’:
os/threads_windows.h:91:9: error: implicit declaration of function ‘TlsAlloc’; did you mean ‘valloc’? [-Werror=implicit-function-declaration]
  *key = TlsAlloc();
         ^~~~~~~~
         valloc
os/threads_windows.h: In function ‘usbi_mutex_static_unlock’:
os/threads_windows.h:33:2: error: implicit declaration of function ‘InterlockedExchange’ [-Werror=implicit-function-declaration]
  InterlockedExchange(mutex, 0L);
  ^~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:36:9: error: unknown type name ‘CRITICAL_SECTION’
 typedef CRITICAL_SECTION usbi_mutex_t;
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_get’:
os/threads_windows.h:95:9: error: implicit declaration of function ‘TlsGetValue’ [-Werror=implicit-function-declaration]
  return TlsGetValue(key);
         ^~~~~~~~~~~
os/threads_windows.h:95:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  return TlsGetValue(key);
         ^~~~~~~~~~~~~~~~
In file included from libusbi.h:284:0,
                 from core.c:44:
os/threads_windows.h:28:18: error: unknown type name ‘LONG’
 typedef volatile LONG usbi_mutex_static_t;
                  ^~~~
os/threads_windows.h: In function ‘usbi_mutex_lock’:
os/threads_windows.h:44:2: error: implicit declaration of function ‘EnterCriticalSection’ [-Werror=implicit-function-declaration]
  EnterCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_static_unlock’:
os/threads_windows.h:33:2: error: implicit declaration of function ‘InterlockedExchange’ [-Werror=implicit-function-declaration]
  InterlockedExchange(mutex, 0L);
  ^~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:36:9: error: unknown type name ‘CRITICAL_SECTION’
 typedef CRITICAL_SECTION usbi_mutex_t;
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_set’:
os/threads_windows.h:99:8: error: implicit declaration of function ‘TlsSetValue’ [-Werror=implicit-function-declaration]
  (void)TlsSetValue(key, ptr);
        ^~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_delete’:
os/threads_windows.h:103:8: error: implicit declaration of function ‘TlsFree’ [-Werror=implicit-function-declaration]
  (void)TlsFree(key);
        ^~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_unlock’:
os/threads_windows.h:48:2: error: implicit declaration of function ‘LeaveCriticalSection’ [-Werror=implicit-function-declaration]
  LeaveCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_init’:
os/threads_windows.h:39:2: error: implicit declaration of function ‘InitializeCriticalSection’ [-Werror=implicit-function-declaration]
  InitializeCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_init’:
os/threads_windows.h:39:2: error: implicit declaration of function ‘InitializeCriticalSection’ [-Werror=implicit-function-declaration]
  InitializeCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_get_tid’:
os/threads_windows.h:108:14: error: implicit declaration of function ‘GetCurrentThreadId’ [-Werror=implicit-function-declaration]
  return (int)GetCurrentThreadId();
              ^~~~~~~~~~~~~~~~~~
In file included from libusbi.h:565:0,
                 from hotplug.c:33:
os/poll_windows.h: At top level:
os/poll_windows.h:61:2: error: unknown type name ‘OVERLAPPED’
  OVERLAPPED *overlapped;  // what will report our I/O status
  ^~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_trylock’:
os/threads_windows.h:52:10: error: implicit declaration of function ‘TryEnterCriticalSection’ [-Werror=implicit-function-declaration]
  return !TryEnterCriticalSection(mutex);
          ^~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_lock’:
os/threads_windows.h:44:2: error: implicit declaration of function ‘EnterCriticalSection’ [-Werror=implicit-function-declaration]
  EnterCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_destroy’:
os/threads_windows.h:56:2: error: implicit declaration of function ‘DeleteCriticalSection’ [-Werror=implicit-function-declaration]
  DeleteCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:88:9: error: unknown type name ‘DWORD’
 typedef DWORD usbi_tls_key_t;
         ^~~~~
os/threads_windows.h: In function ‘usbi_tls_key_create’:
os/threads_windows.h:91:9: error: implicit declaration of function ‘TlsAlloc’; did you mean ‘valloc’? [-Werror=implicit-function-declaration]
  *key = TlsAlloc();
         ^~~~~~~~
         valloc
os/threads_windows.h: In function ‘usbi_mutex_lock’:
os/threads_windows.h:44:2: error: implicit declaration of function ‘EnterCriticalSection’ [-Werror=implicit-function-declaration]
  EnterCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_get’:
os/threads_windows.h:95:9: error: implicit declaration of function ‘TlsGetValue’ [-Werror=implicit-function-declaration]
  return TlsGetValue(key);
         ^~~~~~~~~~~
os/threads_windows.h:95:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  return TlsGetValue(key);
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_set’:
os/threads_windows.h:99:8: error: implicit declaration of function ‘TlsSetValue’ [-Werror=implicit-function-declaration]
  (void)TlsSetValue(key, ptr);
        ^~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_delete’:
os/threads_windows.h:103:8: error: implicit declaration of function ‘TlsFree’ [-Werror=implicit-function-declaration]
  (void)TlsFree(key);
        ^~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_unlock’:
os/threads_windows.h:48:2: error: implicit declaration of function ‘LeaveCriticalSection’ [-Werror=implicit-function-declaration]
  LeaveCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_unlock’:
os/threads_windows.h:48:2: error: implicit declaration of function ‘LeaveCriticalSection’ [-Werror=implicit-function-declaration]
  LeaveCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
os/threads_windows.h: In function ‘usbi_get_tid’:
os/threads_windows.h:108:14: error: implicit declaration of function ‘GetCurrentThreadId’ [-Werror=implicit-function-declaration]
  return (int)GetCurrentThreadId();
              ^~~~~~~~~~~~~~~~~~
In file included from libusbi.h:565:0,
                 from io.c:37:
os/poll_windows.h: At top level:
os/poll_windows.h:61:2: error: unknown type name ‘OVERLAPPED’
  OVERLAPPED *overlapped;  // what will report our I/O status
  ^~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_trylock’:
os/threads_windows.h:52:10: error: implicit declaration of function ‘TryEnterCriticalSection’ [-Werror=implicit-function-declaration]
  return !TryEnterCriticalSection(mutex);
          ^~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_trylock’:
os/threads_windows.h:52:10: error: implicit declaration of function ‘TryEnterCriticalSection’ [-Werror=implicit-function-declaration]
  return !TryEnterCriticalSection(mutex);
          ^~~~~~~~~~~~~~~~~~~~~~~
io.c: In function ‘usbi_io_init’:
io.c:1164:2: error: implicit declaration of function ‘close’; did you mean ‘clock’? [-Werror=implicit-function-declaration]
  close(ctx->timerfd);
  ^~~~~
  clock
os/threads_windows.h: In function ‘usbi_mutex_destroy’:
os/threads_windows.h:56:2: error: implicit declaration of function ‘DeleteCriticalSection’ [-Werror=implicit-function-declaration]
  DeleteCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:88:9: error: unknown type name ‘DWORD’
 typedef DWORD usbi_tls_key_t;
         ^~~~~
os/threads_windows.h: In function ‘usbi_mutex_destroy’:
os/threads_windows.h:56:2: error: implicit declaration of function ‘DeleteCriticalSection’ [-Werror=implicit-function-declaration]
  DeleteCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:88:9: error: unknown type name ‘DWORD’
 typedef DWORD usbi_tls_key_t;
         ^~~~~
os/threads_windows.h: In function ‘usbi_tls_key_create’:
os/threads_windows.h:91:9: error: implicit declaration of function ‘TlsAlloc’; did you mean ‘valloc’? [-Werror=implicit-function-declaration]
  *key = TlsAlloc();
         ^~~~~~~~
         valloc
os/threads_windows.h: In function ‘usbi_tls_key_create’:
os/threads_windows.h:91:9: error: implicit declaration of function ‘TlsAlloc’; did you mean ‘valloc’? [-Werror=implicit-function-declaration]
  *key = TlsAlloc();
         ^~~~~~~~
         valloc
os/threads_windows.h: In function ‘usbi_tls_key_get’:
os/threads_windows.h:95:9: error: implicit declaration of function ‘TlsGetValue’ [-Werror=implicit-function-declaration]
  return TlsGetValue(key);
         ^~~~~~~~~~~
os/threads_windows.h:95:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  return TlsGetValue(key);
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_set’:
os/threads_windows.h:99:8: error: implicit declaration of function ‘TlsSetValue’ [-Werror=implicit-function-declaration]
  (void)TlsSetValue(key, ptr);
        ^~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_delete’:
os/threads_windows.h:103:8: error: implicit declaration of function ‘TlsFree’ [-Werror=implicit-function-declaration]
  (void)TlsFree(key);
        ^~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_get’:
os/threads_windows.h:95:9: error: implicit declaration of function ‘TlsGetValue’ [-Werror=implicit-function-declaration]
  return TlsGetValue(key);
         ^~~~~~~~~~~
os/threads_windows.h:95:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  return TlsGetValue(key);
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_set’:
os/threads_windows.h:99:8: error: implicit declaration of function ‘TlsSetValue’ [-Werror=implicit-function-declaration]
  (void)TlsSetValue(key, ptr);
        ^~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_delete’:
os/threads_windows.h:103:8: error: implicit declaration of function ‘TlsFree’ [-Werror=implicit-function-declaration]
  (void)TlsFree(key);
        ^~~~~~~
os/threads_windows.h: In function ‘usbi_get_tid’:
os/threads_windows.h:108:14: error: implicit declaration of function ‘GetCurrentThreadId’ [-Werror=implicit-function-declaration]
  return (int)GetCurrentThreadId();
              ^~~~~~~~~~~~~~~~~~
In file included from libusbi.h:565:0,
                 from core.c:44:
os/poll_windows.h: At top level:
os/poll_windows.h:61:2: error: unknown type name ‘OVERLAPPED’
  OVERLAPPED *overlapped;  // what will report our I/O status
  ^~~~~~~~~~
os/threads_windows.h: In function ‘usbi_get_tid’:
os/threads_windows.h:108:14: error: implicit declaration of function ‘GetCurrentThreadId’ [-Werror=implicit-function-declaration]
  return (int)GetCurrentThreadId();
              ^~~~~~~~~~~~~~~~~~
In file included from libusbi.h:565:0,
                 from descriptor.c:29:
os/poll_windows.h: At top level:
os/poll_windows.h:61:2: error: unknown type name ‘OVERLAPPED’
  OVERLAPPED *overlapped;  // what will report our I/O status
  ^~~~~~~~~~
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
Makefile:657: recipe for target 'libusb_1_0_la-hotplug.lo' failed
make[1]: *** [libusb_1_0_la-hotplug.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:650: recipe for target 'libusb_1_0_la-descriptor.lo' failed
make[1]: *** [libusb_1_0_la-descriptor.lo] Error 1
Makefile:664: recipe for target 'libusb_1_0_la-io.lo' failed
make[1]: *** [libusb_1_0_la-io.lo] Error 1
Makefile:643: recipe for target 'libusb_1_0_la-core.lo' failed
make[1]: *** [libusb_1_0_la-core.lo] Error 1
make[1]: Leaving directory '/home/zcooger/Desktop/hacktv-master/build_win64/libusb-1.0.22/libusb'
Makefile:476: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
zcooger@MINT-PORTABLE:~/Desktop/hacktv-master$ 

Second attempt:

zcooger@MINT-PORTABLE:~/Desktop/hacktv-master$ sudo ./build_win64.sh 
[sudo] password for zcooger:         
+ HOST=x86_64-w64-mingw32
++ pwd
+ PREFIX=/home/zcooger/Desktop/hacktv-master/build_win64/install_root
+ export PKG_CONFIG_PATH=/home/zcooger/Desktop/hacktv-master/build_win64/install_root/lib/pkgconfig
+ PKG_CONFIG_PATH=/home/zcooger/Desktop/hacktv-master/build_win64/install_root/lib/pkgconfig
+ mkdir -p /home/zcooger/Desktop/hacktv-master/build_win64/install_root
+ cd build_win64
+ [[ ! -f /home/zcooger/Desktop/hacktv-master/build_win64/install_root/lib/libusb-1.0.a ]]
+ [[ ! -f libusb-1.0.22.tar.bz2 ]]
+ cd libusb-1.0.22
+ ./configure --host=x86_64-w64-mingw32 --prefix=/home/zcooger/Desktop/hacktv-master/build_win64/install_root --enable-static --disable-shared
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-w64-mingw32-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for x86_64-w64-mingw32-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for x86_64-w64-mingw32-g++... no
checking for x86_64-w64-mingw32-c++... no
checking for x86_64-w64-mingw32-gpp... no
checking for x86_64-w64-mingw32-aCC... no
checking for x86_64-w64-mingw32-CC... no
checking for x86_64-w64-mingw32-cxx... no
checking for x86_64-w64-mingw32-cc++... no
checking for x86_64-w64-mingw32-cl.exe... no
checking for x86_64-w64-mingw32-FCC... no
checking for x86_64-w64-mingw32-KCC... no
checking for x86_64-w64-mingw32-RCC... no
checking for x86_64-w64-mingw32-xlC_r... no
checking for x86_64-w64-mingw32-xlC... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-w64-mingw32
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... no
checking for x86_64-w64-mingw32-dumpbin... no
checking for x86_64-w64-mingw32-link... no
checking for dumpbin... no
checking for link... link -dump
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-w64-mingw32 format... func_convert_file_nix_to_w32
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for x86_64-w64-mingw32-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for x86_64-w64-mingw32-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... func_cygming_dll_for_implib_fallback
checking for x86_64-w64-mingw32-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for x86_64-w64-mingw32-strip... strip
checking for x86_64-w64-mingw32-ranlib... no
checking for ranlib... ranlib
checking command to parse nm output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for x86_64-w64-mingw32-mt... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking for x86_64-w64-mingw32-windres... no
checking for windres... no
checking for inline... inline
checking operating system... Windows
checking sys/timerfd.h usability... yes
checking sys/timerfd.h presence... yes
checking for sys/timerfd.h... yes
checking whether TFD_NONBLOCK is declared... yes
checking whether TFD_CLOEXEC is declared... yes
checking whether to use timerfd for timing... yes
checking for pipe2... yes
checking for struct timespec... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for sigaction... yes
checking whether CC supports -std=gnu99... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating libusb-1.0.pc
config.status: creating Makefile
config.status: creating libusb/Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating doc/Makefile
config.status: creating doc/doxygen.cfg
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
+ make -j4 install
Making install in libusb
make[1]: Entering directory '/home/zcooger/Desktop/hacktv-master/build_win64/libusb-1.0.22/libusb'
  CC       libusb_1_0_la-core.lo
  CC       libusb_1_0_la-io.lo
  CC       libusb_1_0_la-hotplug.lo
  CC       libusb_1_0_la-descriptor.lo
In file included from libusbi.h:284:0,
                 from descriptor.c:29:
os/threads_windows.h:28:18: error: unknown type name ‘LONG’
 typedef volatile LONG usbi_mutex_static_t;
                  ^~~~
In file included from libusbi.h:284:0,
                 from io.c:37:
os/threads_windows.h:28:18: error: unknown type name ‘LONG’
 typedef volatile LONG usbi_mutex_static_t;
                  ^~~~
os/threads_windows.h: In function ‘usbi_mutex_static_unlock’:
os/threads_windows.h:33:2: error: implicit declaration of function ‘InterlockedExchange’ [-Werror=implicit-function-declaration]
  InterlockedExchange(mutex, 0L);
  ^~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:36:9: error: unknown type name ‘CRITICAL_SECTION’
 typedef CRITICAL_SECTION usbi_mutex_t;
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_static_unlock’:
os/threads_windows.h:33:2: error: implicit declaration of function ‘InterlockedExchange’ [-Werror=implicit-function-declaration]
  InterlockedExchange(mutex, 0L);
  ^~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:36:9: error: unknown type name ‘CRITICAL_SECTION’
 typedef CRITICAL_SECTION usbi_mutex_t;
         ^~~~~~~~~~~~~~~~
In file included from libusbi.h:284:0,
                 from hotplug.c:33:
os/threads_windows.h:28:18: error: unknown type name ‘LONG’
 typedef volatile LONG usbi_mutex_static_t;
                  ^~~~
In file included from libusbi.h:284:0,
                 from core.c:44:
os/threads_windows.h:28:18: error: unknown type name ‘LONG’
 typedef volatile LONG usbi_mutex_static_t;
                  ^~~~
os/threads_windows.h: In function ‘usbi_mutex_init’:
os/threads_windows.h:39:2: error: implicit declaration of function ‘InitializeCriticalSection’ [-Werror=implicit-function-declaration]
  InitializeCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_static_unlock’:
os/threads_windows.h:33:2: error: implicit declaration of function ‘InterlockedExchange’ [-Werror=implicit-function-declaration]
  InterlockedExchange(mutex, 0L);
  ^~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:36:9: error: unknown type name ‘CRITICAL_SECTION’
 typedef CRITICAL_SECTION usbi_mutex_t;
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_static_unlock’:
os/threads_windows.h:33:2: error: implicit declaration of function ‘InterlockedExchange’ [-Werror=implicit-function-declaration]
  InterlockedExchange(mutex, 0L);
  ^~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_init’:
os/threads_windows.h:39:2: error: implicit declaration of function ‘InitializeCriticalSection’ [-Werror=implicit-function-declaration]
  InitializeCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:36:9: error: unknown type name ‘CRITICAL_SECTION’
 typedef CRITICAL_SECTION usbi_mutex_t;
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_lock’:
os/threads_windows.h:44:2: error: implicit declaration of function ‘EnterCriticalSection’ [-Werror=implicit-function-declaration]
  EnterCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_init’:
os/threads_windows.h:39:2: error: implicit declaration of function ‘InitializeCriticalSection’ [-Werror=implicit-function-declaration]
  InitializeCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_lock’:
os/threads_windows.h:44:2: error: implicit declaration of function ‘EnterCriticalSection’ [-Werror=implicit-function-declaration]
  EnterCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_unlock’:
os/threads_windows.h:48:2: error: implicit declaration of function ‘LeaveCriticalSection’ [-Werror=implicit-function-declaration]
  LeaveCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_init’:
os/threads_windows.h:39:2: error: implicit declaration of function ‘InitializeCriticalSection’ [-Werror=implicit-function-declaration]
  InitializeCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_lock’:
os/threads_windows.h:44:2: error: implicit declaration of function ‘EnterCriticalSection’ [-Werror=implicit-function-declaration]
  EnterCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_unlock’:
os/threads_windows.h:48:2: error: implicit declaration of function ‘LeaveCriticalSection’ [-Werror=implicit-function-declaration]
  LeaveCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_trylock’:
os/threads_windows.h:52:10: error: implicit declaration of function ‘TryEnterCriticalSection’ [-Werror=implicit-function-declaration]
  return !TryEnterCriticalSection(mutex);
          ^~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_unlock’:
os/threads_windows.h:48:2: error: implicit declaration of function ‘LeaveCriticalSection’ [-Werror=implicit-function-declaration]
  LeaveCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_lock’:
os/threads_windows.h:44:2: error: implicit declaration of function ‘EnterCriticalSection’ [-Werror=implicit-function-declaration]
  EnterCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_trylock’:
os/threads_windows.h:52:10: error: implicit declaration of function ‘TryEnterCriticalSection’ [-Werror=implicit-function-declaration]
  return !TryEnterCriticalSection(mutex);
          ^~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_destroy’:
os/threads_windows.h:56:2: error: implicit declaration of function ‘DeleteCriticalSection’ [-Werror=implicit-function-declaration]
  DeleteCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:88:9: error: unknown type name ‘DWORD’
 typedef DWORD usbi_tls_key_t;
         ^~~~~
os/threads_windows.h: In function ‘usbi_tls_key_create’:
os/threads_windows.h:91:9: error: implicit declaration of function ‘TlsAlloc’; did you mean ‘valloc’? [-Werror=implicit-function-declaration]
  *key = TlsAlloc();
         ^~~~~~~~
         valloc
os/threads_windows.h: In function ‘usbi_tls_key_get’:
os/threads_windows.h:95:9: error: implicit declaration of function ‘TlsGetValue’ [-Werror=implicit-function-declaration]
  return TlsGetValue(key);
         ^~~~~~~~~~~
os/threads_windows.h:95:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  return TlsGetValue(key);
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_trylock’:
os/threads_windows.h:52:10: error: implicit declaration of function ‘TryEnterCriticalSection’ [-Werror=implicit-function-declaration]
  return !TryEnterCriticalSection(mutex);
          ^~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_unlock’:
os/threads_windows.h:48:2: error: implicit declaration of function ‘LeaveCriticalSection’ [-Werror=implicit-function-declaration]
  LeaveCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_set’:
os/threads_windows.h:99:8: error: implicit declaration of function ‘TlsSetValue’ [-Werror=implicit-function-declaration]
  (void)TlsSetValue(key, ptr);
        ^~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_delete’:
os/threads_windows.h:103:8: error: implicit declaration of function ‘TlsFree’ [-Werror=implicit-function-declaration]
  (void)TlsFree(key);
        ^~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_destroy’:
os/threads_windows.h:56:2: error: implicit declaration of function ‘DeleteCriticalSection’ [-Werror=implicit-function-declaration]
  DeleteCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:88:9: error: unknown type name ‘DWORD’
 typedef DWORD usbi_tls_key_t;
         ^~~~~
os/threads_windows.h: In function ‘usbi_tls_key_create’:
os/threads_windows.h:91:9: error: implicit declaration of function ‘TlsAlloc’; did you mean ‘valloc’? [-Werror=implicit-function-declaration]
  *key = TlsAlloc();
         ^~~~~~~~
         valloc
os/threads_windows.h: In function ‘usbi_tls_key_get’:
os/threads_windows.h:95:9: error: implicit declaration of function ‘TlsGetValue’ [-Werror=implicit-function-declaration]
  return TlsGetValue(key);
         ^~~~~~~~~~~
os/threads_windows.h:95:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  return TlsGetValue(key);
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_get_tid’:
os/threads_windows.h:108:14: error: implicit declaration of function ‘GetCurrentThreadId’ [-Werror=implicit-function-declaration]
  return (int)GetCurrentThreadId();
              ^~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_destroy’:
os/threads_windows.h:56:2: error: implicit declaration of function ‘DeleteCriticalSection’ [-Werror=implicit-function-declaration]
  DeleteCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_set’:
os/threads_windows.h:99:8: error: implicit declaration of function ‘TlsSetValue’ [-Werror=implicit-function-declaration]
  (void)TlsSetValue(key, ptr);
        ^~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_trylock’:
os/threads_windows.h:52:10: error: implicit declaration of function ‘TryEnterCriticalSection’ [-Werror=implicit-function-declaration]
  return !TryEnterCriticalSection(mutex);
          ^~~~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:88:9: error: unknown type name ‘DWORD’
 typedef DWORD usbi_tls_key_t;
         ^~~~~
os/threads_windows.h: In function ‘usbi_tls_key_delete’:
os/threads_windows.h:103:8: error: implicit declaration of function ‘TlsFree’ [-Werror=implicit-function-declaration]
  (void)TlsFree(key);
        ^~~~~~~
In file included from libusbi.h:565:0,
                 from descriptor.c:29:
os/poll_windows.h: At top level:
os/poll_windows.h:61:2: error: unknown type name ‘OVERLAPPED’
  OVERLAPPED *overlapped;  // what will report our I/O status
  ^~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_create’:
os/threads_windows.h:91:9: error: implicit declaration of function ‘TlsAlloc’; did you mean ‘valloc’? [-Werror=implicit-function-declaration]
  *key = TlsAlloc();
         ^~~~~~~~
         valloc
os/threads_windows.h: In function ‘usbi_tls_key_get’:
os/threads_windows.h:95:9: error: implicit declaration of function ‘TlsGetValue’ [-Werror=implicit-function-declaration]
  return TlsGetValue(key);
         ^~~~~~~~~~~
os/threads_windows.h:95:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  return TlsGetValue(key);
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_set’:
os/threads_windows.h:99:8: error: implicit declaration of function ‘TlsSetValue’ [-Werror=implicit-function-declaration]
  (void)TlsSetValue(key, ptr);
        ^~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_get_tid’:
os/threads_windows.h:108:14: error: implicit declaration of function ‘GetCurrentThreadId’ [-Werror=implicit-function-declaration]
  return (int)GetCurrentThreadId();
              ^~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_delete’:
os/threads_windows.h:103:8: error: implicit declaration of function ‘TlsFree’ [-Werror=implicit-function-declaration]
  (void)TlsFree(key);
        ^~~~~~~
os/threads_windows.h: In function ‘usbi_mutex_destroy’:
os/threads_windows.h:56:2: error: implicit declaration of function ‘DeleteCriticalSection’ [-Werror=implicit-function-declaration]
  DeleteCriticalSection(mutex);
  ^~~~~~~~~~~~~~~~~~~~~
os/threads_windows.h: At top level:
os/threads_windows.h:88:9: error: unknown type name ‘DWORD’
 typedef DWORD usbi_tls_key_t;
         ^~~~~
In file included from libusbi.h:565:0,
                 from io.c:37:
os/poll_windows.h: At top level:
os/poll_windows.h:61:2: error: unknown type name ‘OVERLAPPED’
  OVERLAPPED *overlapped;  // what will report our I/O status
  ^~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_create’:
os/threads_windows.h:91:9: error: implicit declaration of function ‘TlsAlloc’; did you mean ‘valloc’? [-Werror=implicit-function-declaration]
  *key = TlsAlloc();
         ^~~~~~~~
         valloc
io.c: In function ‘usbi_io_init’:
io.c:1164:2: error: implicit declaration of function ‘close’; did you mean ‘clock’? [-Werror=implicit-function-declaration]
  close(ctx->timerfd);
  ^~~~~
  clock
os/threads_windows.h: In function ‘usbi_tls_key_get’:
os/threads_windows.h:95:9: error: implicit declaration of function ‘TlsGetValue’ [-Werror=implicit-function-declaration]
  return TlsGetValue(key);
         ^~~~~~~~~~~
os/threads_windows.h:95:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  return TlsGetValue(key);
         ^~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_set’:
os/threads_windows.h:99:8: error: implicit declaration of function ‘TlsSetValue’ [-Werror=implicit-function-declaration]
  (void)TlsSetValue(key, ptr);
        ^~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_get_tid’:
os/threads_windows.h:108:14: error: implicit declaration of function ‘GetCurrentThreadId’ [-Werror=implicit-function-declaration]
  return (int)GetCurrentThreadId();
              ^~~~~~~~~~~~~~~~~~
os/threads_windows.h: In function ‘usbi_tls_key_delete’:
os/threads_windows.h:103:8: error: implicit declaration of function ‘TlsFree’ [-Werror=implicit-function-declaration]
  (void)TlsFree(key);
        ^~~~~~~
In file included from libusbi.h:565:0,
                 from hotplug.c:33:
os/poll_windows.h: At top level:
os/poll_windows.h:61:2: error: unknown type name ‘OVERLAPPED’
  OVERLAPPED *overlapped;  // what will report our I/O status
  ^~~~~~~~~~
os/threads_windows.h: In function ‘usbi_get_tid’:
os/threads_windows.h:108:14: error: implicit declaration of function ‘GetCurrentThreadId’ [-Werror=implicit-function-declaration]
  return (int)GetCurrentThreadId();
              ^~~~~~~~~~~~~~~~~~
In file included from libusbi.h:565:0,
                 from core.c:44:
os/poll_windows.h: At top level:
os/poll_windows.h:61:2: error: unknown type name ‘OVERLAPPED’
  OVERLAPPED *overlapped;  // what will report our I/O status
  ^~~~~~~~~~
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
Makefile:657: recipe for target 'libusb_1_0_la-hotplug.lo' failed
make[1]: *** [libusb_1_0_la-hotplug.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:650: recipe for target 'libusb_1_0_la-descriptor.lo' failed
make[1]: *** [libusb_1_0_la-descriptor.lo] Error 1
cc1: some warnings being treated as errors
Makefile:664: recipe for target 'libusb_1_0_la-io.lo' failed
make[1]: *** [libusb_1_0_la-io.lo] Error 1
cc1: some warnings being treated as errors
Makefile:643: recipe for target 'libusb_1_0_la-core.lo' failed
make[1]: *** [libusb_1_0_la-core.lo] Error 1
make[1]: Leaving directory '/home/zcooger/Desktop/hacktv-master/build_win64/libusb-1.0.22/libusb'
Makefile:476: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
zcooger@MINT-PORTABLE:~/Desktop/hacktv-master$ 

Use on old TV standards

Hi.
I know some are trying to use this as a System A modulator for 405 lines and sound.
The 405 line system uses positive modulation on AM and audio on AM at 3.5MHz below the vision carrier. In other words two Hack RF devices would be required as System A doesn't have inter carrier sound. Also standards conversion for 405 lines would be required, the Hack RF is not a standards converter so this has to be programmed in the PC.

No frequency above 4 294 967 295 hz

I have an issue on some machines that I can't get above 4 294 967 295 hz transmitting frequency. That's 0XFFFFFFFF => 32bit. On my Linux machine it works well above that frequency. e.g. 5.837Ghz... There must be some overflow in conversion.

Payview III

Here's a idea for the HackTV-thing: Payview III.
I wish I had technical documents but I don't and I dunno where I can find any of this.

According to Wikipedia:
Used by German/Swiss channel Teleclub in the early 1990s, this system employed various methods such as video inversion, modification of synchronization signals, and a pseudo line delay effect.

I dunno if HackTV let alone HackRF can support modification of video signals. I dunno,

NOTE: I have only seen and heard about HackTV on videos around the Internet. I don't have a HackRF. I only got a RTL-SDR.

How to mark a videoline with additional data?

Can you explain, how i can write the r and s values from the syster Encoder to the last line of each field as binary value. (the same way as cryptimages does) e.g: 01 for table1 00000110 for Offset and 10010101 for step as binary black&white pattern? can i use "vbidata_render_nrz()" and if yes, how to implement it?

Thank you.

VPS/PDC aka ShowView broadcast signaling

This ticket is made to suggest adding VPS/PDC signaling known as the ShowView system.
It uses 16th line on PAL signal only.
Its passive function delivers TV station name to the receiver. Thanks to this signal some of TVs and recorders can tag auto-tuned channels using TV station's name.
The second passive function is to provide information about the start time of a television programme.
The active function broadcasts program ShowView code used by recorders to distinguish start, broadcast break and the end for easier recording. Any broadcast delays are compensated by VPS/PDC.

http://www.ti.com/lit/an/slea017/slea017.pdf

Issue building on raspberry pi

When i tried to apt-get the requirements on Raspbian Jessie, the following came up:

sudo apt-get install libavutil-dev libswresample-dev libswscale-dev libavformat-dev libavcodec-dev 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libswresample-dev

While trying to build on raspberry pi 3 the following issue appeared:

gcc -o hacktv hacktv.o fir.o vbidata.o teletext.o wss.o video.o videocrypt.o syster.o nicam728.o test.o ffmpeg.o file.o hackrf.o -g -lm -pthread -L/usr/local/lib -lavformat -lxcb -lxcb-shm -lxcb -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb -lxcb-shape -lxcb -lasound -lx264 -lpthread -lm -llzma -lbz2 -lz -pthread -lavcodec -lxcb -lxcb-shm -lxcb -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb -lxcb-shape -lxcb -lasound -lx264 -lpthread -lm -llzma -lbz2 -lz -pthread -lswscale -lm -lswresample -lm -lavutil -lm -lhackrf 
/usr/bin/ld: cannot find -llzma
/usr/bin/ld: cannot find -lbz2
collect2: error: ld returned 1 exit status
Makefile:21: recipe for target 'hacktv' failed
make: *** [hacktv] Error 1

is there any way to work around this?

Scrambled baseband output is delayed due to empty buffer lines

This issue does not affect complex output at all - only file output where not every viewing application let the user to skip desired amount of data (header skip).
FTA:
clear_0_rgb
Datacom Videocrypt - added one buffer line:
videocrypt_0_rgb
Nagravision Syster - added 344 buffer lines:
syster_0_rgb

Fix sync level for real baseband file output

Using file output produces grayscale baseband set of raw images in desired type. I'd like to correct horizontal synchronization level of the output because it seems incorrect for digital representation of analog composite TV signal where sync pulse level in 8bit colorspace lies at 0 and backporch at around 60 ~64.
virtualbox_pc 3_07_02_2019_13_11_18
At this moment I tried modifying the gamma value for real PAL mode but it gave worse result.

Video/audio "lag"

While playing NTSC video through the HackTV, the video "lags" behind the audio by an increasing amount as the video is playing. Not sure if it is a FFmpeg problem, computer problem, PEBKAC, or just a problem with my particular HackRF. Unfortunately, I have no experience coding, so I can't really help, sorry.
But thanks for having a wonderful "turn-key" solution; it is nice to find a use for that old GoldStar.

Building for Windows

...and compile it for Windows... I run on errors while compiling it (FFMPEG, LIBHACKRF)

Thank you.

Basic tutorial on how to get this running?

I love the idea of this project but I've been having trouble getting it setup. Is there a simple how to on how to get this running. Maybe what other packages are needed.

SoapySDR?

Hi,
i have an adalm-pluto now and would like to use it with hacktv. How is the syntax for using it?

WSS line in Videocrypt mode

The wss-line is added after encryption, so it will be scrambled after decryption and won't detect by tv anymore. It should be added before scrambling.

PAL-FM changes

Have tried some things with PAL-FM (Analog sat receiver) and got nothing good out of hacktv. Thanks to captain_jack i made some changes in video.c

.fm_deviation = 6000000, /* kHz */

and

.video_level = 0.51, /* Power level of video */

so i will have a video. But it is too bright. Gamma seems to have no effect to FM Video.

Create a technical/developer documentation for hacktv

Hello,

I notice that there is no technical/developer documentation for hackTV, the only documentation is a short readme file.

This can be a problem when a developer wants to understand how the software works, or join the team, or fork or re-use some of the hacktv algorithms in his own software.

Doxygen is a tool for building documentation and could be a solution :
https://en.wikipedia.org/wiki/Doxygen

A more general documentation (wiki, pdf file) is also a solution, in order to explain the algorithms, the pal/secam/ntsc color theory, the fm/am modulation, how hackTV uses external library (gnu-radio, ffmpeg) etc...

Another way to increase the value and the maintainability of hackTV : put its features (SDR, pal/secam/ntsc signal generation) in a library, an API, that can be called by other softwares.

NTSC FFMPEG

I live in the states and most if not all the TV's use NTSC. I get a error when using "-m ntsc" rf hackrf_open(): Unsupported mode output type for this device. so I use the "-m m" and it plays the video but its in black and white and no sound or static for audio. I tryed adjusting the sample rate and freq of the channle no go. the Test bars show up ok with command "hacktv --samplerate 9000000 -f 572000000 -m m -g 47 test" on ch 31 in the states. Why is it that any video i play is not clear or has issues? is their something im missing? Any help would be appreciated Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.