mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 15:42:26 -05:00 
			
		
		
		
	* start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig
		
			
				
	
	
		
			212 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package jpegstructure
 | |
| 
 | |
| import (
 | |
| 	"github.com/dsoprea/go-logging"
 | |
| )
 | |
| 
 | |
| const (
 | |
| 	// MARKER_SOI marker
 | |
| 	MARKER_SOI = 0xd8
 | |
| 
 | |
| 	// MARKER_EOI marker
 | |
| 	MARKER_EOI = 0xd9
 | |
| 
 | |
| 	// MARKER_SOS marker
 | |
| 	MARKER_SOS = 0xda
 | |
| 
 | |
| 	// MARKER_SOD marker
 | |
| 	MARKER_SOD = 0x93
 | |
| 
 | |
| 	// MARKER_DQT marker
 | |
| 	MARKER_DQT = 0xdb
 | |
| 
 | |
| 	// MARKER_APP0 marker
 | |
| 	MARKER_APP0 = 0xe0
 | |
| 
 | |
| 	// MARKER_APP1 marker
 | |
| 	MARKER_APP1 = 0xe1
 | |
| 
 | |
| 	// MARKER_APP2 marker
 | |
| 	MARKER_APP2 = 0xe2
 | |
| 
 | |
| 	// MARKER_APP3 marker
 | |
| 	MARKER_APP3 = 0xe3
 | |
| 
 | |
| 	// MARKER_APP4 marker
 | |
| 	MARKER_APP4 = 0xe4
 | |
| 
 | |
| 	// MARKER_APP5 marker
 | |
| 	MARKER_APP5 = 0xe5
 | |
| 
 | |
| 	// MARKER_APP6 marker
 | |
| 	MARKER_APP6 = 0xe6
 | |
| 
 | |
| 	// MARKER_APP7 marker
 | |
| 	MARKER_APP7 = 0xe7
 | |
| 
 | |
| 	// MARKER_APP8 marker
 | |
| 	MARKER_APP8 = 0xe8
 | |
| 
 | |
| 	// MARKER_APP10 marker
 | |
| 	MARKER_APP10 = 0xea
 | |
| 
 | |
| 	// MARKER_APP12 marker
 | |
| 	MARKER_APP12 = 0xec
 | |
| 
 | |
| 	// MARKER_APP13 marker
 | |
| 	MARKER_APP13 = 0xed
 | |
| 
 | |
| 	// MARKER_APP14 marker
 | |
| 	MARKER_APP14 = 0xee
 | |
| 
 | |
| 	// MARKER_APP15 marker
 | |
| 	MARKER_APP15 = 0xef
 | |
| 
 | |
| 	// MARKER_COM marker
 | |
| 	MARKER_COM = 0xfe
 | |
| 
 | |
| 	// MARKER_CME marker
 | |
| 	MARKER_CME = 0x64
 | |
| 
 | |
| 	// MARKER_SIZ marker
 | |
| 	MARKER_SIZ = 0x51
 | |
| 
 | |
| 	// MARKER_DHT marker
 | |
| 	MARKER_DHT = 0xc4
 | |
| 
 | |
| 	// MARKER_JPG marker
 | |
| 	MARKER_JPG = 0xc8
 | |
| 
 | |
| 	// MARKER_DAC marker
 | |
| 	MARKER_DAC = 0xcc
 | |
| 
 | |
| 	// MARKER_SOF0 marker
 | |
| 	MARKER_SOF0 = 0xc0
 | |
| 
 | |
| 	// MARKER_SOF1 marker
 | |
| 	MARKER_SOF1 = 0xc1
 | |
| 
 | |
| 	// MARKER_SOF2 marker
 | |
| 	MARKER_SOF2 = 0xc2
 | |
| 
 | |
| 	// MARKER_SOF3 marker
 | |
| 	MARKER_SOF3 = 0xc3
 | |
| 
 | |
| 	// MARKER_SOF5 marker
 | |
| 	MARKER_SOF5 = 0xc5
 | |
| 
 | |
| 	// MARKER_SOF6 marker
 | |
| 	MARKER_SOF6 = 0xc6
 | |
| 
 | |
| 	// MARKER_SOF7 marker
 | |
| 	MARKER_SOF7 = 0xc7
 | |
| 
 | |
| 	// MARKER_SOF9 marker
 | |
| 	MARKER_SOF9 = 0xc9
 | |
| 
 | |
| 	// MARKER_SOF10 marker
 | |
| 	MARKER_SOF10 = 0xca
 | |
| 
 | |
| 	// MARKER_SOF11 marker
 | |
| 	MARKER_SOF11 = 0xcb
 | |
| 
 | |
| 	// MARKER_SOF13 marker
 | |
| 	MARKER_SOF13 = 0xcd
 | |
| 
 | |
| 	// MARKER_SOF14 marker
 | |
| 	MARKER_SOF14 = 0xce
 | |
| 
 | |
| 	// MARKER_SOF15 marker
 | |
| 	MARKER_SOF15 = 0xcf
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	jpegLogger        = log.NewLogger("jpegstructure.jpeg")
 | |
| 	jpegMagicStandard = []byte{0xff, MARKER_SOI, 0xff}
 | |
| 	jpegMagic2000     = []byte{0xff, 0x4f, 0xff}
 | |
| 
 | |
| 	markerLen = map[byte]int{
 | |
| 		0x00: 0,
 | |
| 		0x01: 0,
 | |
| 		0xd0: 0,
 | |
| 		0xd1: 0,
 | |
| 		0xd2: 0,
 | |
| 		0xd3: 0,
 | |
| 		0xd4: 0,
 | |
| 		0xd5: 0,
 | |
| 		0xd6: 0,
 | |
| 		0xd7: 0,
 | |
| 		0xd8: 0,
 | |
| 		0xd9: 0,
 | |
| 		0xda: 0,
 | |
| 
 | |
| 		// J2C
 | |
| 		0x30: 0,
 | |
| 		0x31: 0,
 | |
| 		0x32: 0,
 | |
| 		0x33: 0,
 | |
| 		0x34: 0,
 | |
| 		0x35: 0,
 | |
| 		0x36: 0,
 | |
| 		0x37: 0,
 | |
| 		0x38: 0,
 | |
| 		0x39: 0,
 | |
| 		0x3a: 0,
 | |
| 		0x3b: 0,
 | |
| 		0x3c: 0,
 | |
| 		0x3d: 0,
 | |
| 		0x3e: 0,
 | |
| 		0x3f: 0,
 | |
| 		0x4f: 0,
 | |
| 		0x92: 0,
 | |
| 		0x93: 0,
 | |
| 
 | |
| 		// J2C extensions
 | |
| 		0x74: 4,
 | |
| 		0x75: 4,
 | |
| 		0x77: 4,
 | |
| 	}
 | |
| 
 | |
| 	markerNames = map[byte]string{
 | |
| 		MARKER_SOI:   "SOI",
 | |
| 		MARKER_EOI:   "EOI",
 | |
| 		MARKER_SOS:   "SOS",
 | |
| 		MARKER_SOD:   "SOD",
 | |
| 		MARKER_DQT:   "DQT",
 | |
| 		MARKER_APP0:  "APP0",
 | |
| 		MARKER_APP1:  "APP1",
 | |
| 		MARKER_APP2:  "APP2",
 | |
| 		MARKER_APP3:  "APP3",
 | |
| 		MARKER_APP4:  "APP4",
 | |
| 		MARKER_APP5:  "APP5",
 | |
| 		MARKER_APP6:  "APP6",
 | |
| 		MARKER_APP7:  "APP7",
 | |
| 		MARKER_APP8:  "APP8",
 | |
| 		MARKER_APP10: "APP10",
 | |
| 		MARKER_APP12: "APP12",
 | |
| 		MARKER_APP13: "APP13",
 | |
| 		MARKER_APP14: "APP14",
 | |
| 		MARKER_APP15: "APP15",
 | |
| 		MARKER_COM:   "COM",
 | |
| 		MARKER_CME:   "CME",
 | |
| 		MARKER_SIZ:   "SIZ",
 | |
| 
 | |
| 		MARKER_DHT: "DHT",
 | |
| 		MARKER_JPG: "JPG",
 | |
| 		MARKER_DAC: "DAC",
 | |
| 
 | |
| 		MARKER_SOF0:  "SOF0",
 | |
| 		MARKER_SOF1:  "SOF1",
 | |
| 		MARKER_SOF2:  "SOF2",
 | |
| 		MARKER_SOF3:  "SOF3",
 | |
| 		MARKER_SOF5:  "SOF5",
 | |
| 		MARKER_SOF6:  "SOF6",
 | |
| 		MARKER_SOF7:  "SOF7",
 | |
| 		MARKER_SOF9:  "SOF9",
 | |
| 		MARKER_SOF10: "SOF10",
 | |
| 		MARKER_SOF11: "SOF11",
 | |
| 		MARKER_SOF13: "SOF13",
 | |
| 		MARKER_SOF14: "SOF14",
 | |
| 		MARKER_SOF15: "SOF15",
 | |
| 	}
 | |
| )
 |