mirror of
https://github.com/WonderfulToolchain/psxavenc.git
synced 2025-12-18 11:59:56 +00:00
Fix compile errors and warnings, update readme
This commit is contained in:
@@ -24,8 +24,6 @@ freely, subject to the following restrictions:
|
||||
|
||||
#include "common.h"
|
||||
|
||||
static void poll_av_packet(settings_t *settings, AVPacket *packet);
|
||||
|
||||
int decode_frame(AVCodecContext *codec, AVFrame *frame, int *frame_size, AVPacket *packet) {
|
||||
int ret;
|
||||
|
||||
@@ -271,7 +269,7 @@ static void poll_av_packet_video(settings_t *settings, AVPacket *packet)
|
||||
};
|
||||
|
||||
if (decode_frame(av->video_codec_context, av->frame, &frame_size, packet)) {
|
||||
if (!av->frame->width || !av->frame->height || !av->frame->data) {
|
||||
if (!av->frame->width || !av->frame->height || !av->frame->data[0]) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
226
psxavenc/mdec.c
226
psxavenc/mdec.c
@@ -37,117 +37,117 @@ const struct {
|
||||
uint16_t u_hword_neg;
|
||||
} huffman_lookup[] = {
|
||||
// Fuck this Huffman tree in particular --GM
|
||||
2,0x3,MAKE_HUFFMAN_PAIR(0,1),
|
||||
3,0x3,MAKE_HUFFMAN_PAIR(1,1),
|
||||
4,0x4,MAKE_HUFFMAN_PAIR(0,2),
|
||||
4,0x5,MAKE_HUFFMAN_PAIR(2,1),
|
||||
5,0x05,MAKE_HUFFMAN_PAIR(0,3),
|
||||
5,0x06,MAKE_HUFFMAN_PAIR(4,1),
|
||||
5,0x07,MAKE_HUFFMAN_PAIR(3,1),
|
||||
6,0x04,MAKE_HUFFMAN_PAIR(7,1),
|
||||
6,0x05,MAKE_HUFFMAN_PAIR(6,1),
|
||||
6,0x06,MAKE_HUFFMAN_PAIR(1,2),
|
||||
6,0x07,MAKE_HUFFMAN_PAIR(5,1),
|
||||
7,0x04,MAKE_HUFFMAN_PAIR(2,2),
|
||||
7,0x05,MAKE_HUFFMAN_PAIR(9,1),
|
||||
7,0x06,MAKE_HUFFMAN_PAIR(0,4),
|
||||
7,0x07,MAKE_HUFFMAN_PAIR(8,1),
|
||||
8,0x20,MAKE_HUFFMAN_PAIR(13,1),
|
||||
8,0x21,MAKE_HUFFMAN_PAIR(0,6),
|
||||
8,0x22,MAKE_HUFFMAN_PAIR(12,1),
|
||||
8,0x23,MAKE_HUFFMAN_PAIR(11,1),
|
||||
8,0x24,MAKE_HUFFMAN_PAIR(3,2),
|
||||
8,0x25,MAKE_HUFFMAN_PAIR(1,3),
|
||||
8,0x26,MAKE_HUFFMAN_PAIR(0,5),
|
||||
8,0x27,MAKE_HUFFMAN_PAIR(10,1),
|
||||
10,0x008,MAKE_HUFFMAN_PAIR(16,1),
|
||||
10,0x009,MAKE_HUFFMAN_PAIR(5,2),
|
||||
10,0x00A,MAKE_HUFFMAN_PAIR(0,7),
|
||||
10,0x00B,MAKE_HUFFMAN_PAIR(2,3),
|
||||
10,0x00C,MAKE_HUFFMAN_PAIR(1,4),
|
||||
10,0x00D,MAKE_HUFFMAN_PAIR(15,1),
|
||||
10,0x00E,MAKE_HUFFMAN_PAIR(14,1),
|
||||
10,0x00F,MAKE_HUFFMAN_PAIR(4,2),
|
||||
12,0x010,MAKE_HUFFMAN_PAIR(0,11),
|
||||
12,0x011,MAKE_HUFFMAN_PAIR(8,2),
|
||||
12,0x012,MAKE_HUFFMAN_PAIR(4,3),
|
||||
12,0x013,MAKE_HUFFMAN_PAIR(0,10),
|
||||
12,0x014,MAKE_HUFFMAN_PAIR(2,4),
|
||||
12,0x015,MAKE_HUFFMAN_PAIR(7,2),
|
||||
12,0x016,MAKE_HUFFMAN_PAIR(21,1),
|
||||
12,0x017,MAKE_HUFFMAN_PAIR(20,1),
|
||||
12,0x018,MAKE_HUFFMAN_PAIR(0,9),
|
||||
12,0x019,MAKE_HUFFMAN_PAIR(19,1),
|
||||
12,0x01A,MAKE_HUFFMAN_PAIR(18,1),
|
||||
12,0x01B,MAKE_HUFFMAN_PAIR(1,5),
|
||||
12,0x01C,MAKE_HUFFMAN_PAIR(3,3),
|
||||
12,0x01D,MAKE_HUFFMAN_PAIR(0,8),
|
||||
12,0x01E,MAKE_HUFFMAN_PAIR(6,2),
|
||||
12,0x01F,MAKE_HUFFMAN_PAIR(17,1),
|
||||
13,0x0010,MAKE_HUFFMAN_PAIR(10,2),
|
||||
13,0x0011,MAKE_HUFFMAN_PAIR(9,2),
|
||||
13,0x0012,MAKE_HUFFMAN_PAIR(5,3),
|
||||
13,0x0013,MAKE_HUFFMAN_PAIR(3,4),
|
||||
13,0x0014,MAKE_HUFFMAN_PAIR(2,5),
|
||||
13,0x0015,MAKE_HUFFMAN_PAIR(1,7),
|
||||
13,0x0016,MAKE_HUFFMAN_PAIR(1,6),
|
||||
13,0x0017,MAKE_HUFFMAN_PAIR(0,15),
|
||||
13,0x0018,MAKE_HUFFMAN_PAIR(0,14),
|
||||
13,0x0019,MAKE_HUFFMAN_PAIR(0,13),
|
||||
13,0x001A,MAKE_HUFFMAN_PAIR(0,12),
|
||||
13,0x001B,MAKE_HUFFMAN_PAIR(26,1),
|
||||
13,0x001C,MAKE_HUFFMAN_PAIR(25,1),
|
||||
13,0x001D,MAKE_HUFFMAN_PAIR(24,1),
|
||||
13,0x001E,MAKE_HUFFMAN_PAIR(23,1),
|
||||
13,0x001F,MAKE_HUFFMAN_PAIR(22,1),
|
||||
14,0x0010,MAKE_HUFFMAN_PAIR(0,31),
|
||||
14,0x0011,MAKE_HUFFMAN_PAIR(0,30),
|
||||
14,0x0012,MAKE_HUFFMAN_PAIR(0,29),
|
||||
14,0x0013,MAKE_HUFFMAN_PAIR(0,28),
|
||||
14,0x0014,MAKE_HUFFMAN_PAIR(0,27),
|
||||
14,0x0015,MAKE_HUFFMAN_PAIR(0,26),
|
||||
14,0x0016,MAKE_HUFFMAN_PAIR(0,25),
|
||||
14,0x0017,MAKE_HUFFMAN_PAIR(0,24),
|
||||
14,0x0018,MAKE_HUFFMAN_PAIR(0,23),
|
||||
14,0x0019,MAKE_HUFFMAN_PAIR(0,22),
|
||||
14,0x001A,MAKE_HUFFMAN_PAIR(0,21),
|
||||
14,0x001B,MAKE_HUFFMAN_PAIR(0,20),
|
||||
14,0x001C,MAKE_HUFFMAN_PAIR(0,19),
|
||||
14,0x001D,MAKE_HUFFMAN_PAIR(0,18),
|
||||
14,0x001E,MAKE_HUFFMAN_PAIR(0,17),
|
||||
14,0x001F,MAKE_HUFFMAN_PAIR(0,16),
|
||||
15,0x0010,MAKE_HUFFMAN_PAIR(0,40),
|
||||
15,0x0011,MAKE_HUFFMAN_PAIR(0,39),
|
||||
15,0x0012,MAKE_HUFFMAN_PAIR(0,38),
|
||||
15,0x0013,MAKE_HUFFMAN_PAIR(0,37),
|
||||
15,0x0014,MAKE_HUFFMAN_PAIR(0,36),
|
||||
15,0x0015,MAKE_HUFFMAN_PAIR(0,35),
|
||||
15,0x0016,MAKE_HUFFMAN_PAIR(0,34),
|
||||
15,0x0017,MAKE_HUFFMAN_PAIR(0,33),
|
||||
15,0x0018,MAKE_HUFFMAN_PAIR(0,32),
|
||||
15,0x0019,MAKE_HUFFMAN_PAIR(1,14),
|
||||
15,0x001A,MAKE_HUFFMAN_PAIR(1,13),
|
||||
15,0x001B,MAKE_HUFFMAN_PAIR(1,12),
|
||||
15,0x001C,MAKE_HUFFMAN_PAIR(1,11),
|
||||
15,0x001D,MAKE_HUFFMAN_PAIR(1,10),
|
||||
15,0x001E,MAKE_HUFFMAN_PAIR(1,9),
|
||||
15,0x001F,MAKE_HUFFMAN_PAIR(1,8),
|
||||
16,0x0010,MAKE_HUFFMAN_PAIR(1,18),
|
||||
16,0x0011,MAKE_HUFFMAN_PAIR(1,17),
|
||||
16,0x0012,MAKE_HUFFMAN_PAIR(1,16),
|
||||
16,0x0013,MAKE_HUFFMAN_PAIR(1,15),
|
||||
16,0x0014,MAKE_HUFFMAN_PAIR(6,3),
|
||||
16,0x0015,MAKE_HUFFMAN_PAIR(16,2),
|
||||
16,0x0016,MAKE_HUFFMAN_PAIR(15,2),
|
||||
16,0x0017,MAKE_HUFFMAN_PAIR(14,2),
|
||||
16,0x0018,MAKE_HUFFMAN_PAIR(13,2),
|
||||
16,0x0019,MAKE_HUFFMAN_PAIR(12,2),
|
||||
16,0x001A,MAKE_HUFFMAN_PAIR(11,2),
|
||||
16,0x001B,MAKE_HUFFMAN_PAIR(31,1),
|
||||
16,0x001C,MAKE_HUFFMAN_PAIR(30,1),
|
||||
16,0x001D,MAKE_HUFFMAN_PAIR(29,1),
|
||||
16,0x001E,MAKE_HUFFMAN_PAIR(28,1),
|
||||
16,0x001F,MAKE_HUFFMAN_PAIR(27,1),
|
||||
{2,0x3,MAKE_HUFFMAN_PAIR(0,1)},
|
||||
{3,0x3,MAKE_HUFFMAN_PAIR(1,1)},
|
||||
{4,0x4,MAKE_HUFFMAN_PAIR(0,2)},
|
||||
{4,0x5,MAKE_HUFFMAN_PAIR(2,1)},
|
||||
{5,0x05,MAKE_HUFFMAN_PAIR(0,3)},
|
||||
{5,0x06,MAKE_HUFFMAN_PAIR(4,1)},
|
||||
{5,0x07,MAKE_HUFFMAN_PAIR(3,1)},
|
||||
{6,0x04,MAKE_HUFFMAN_PAIR(7,1)},
|
||||
{6,0x05,MAKE_HUFFMAN_PAIR(6,1)},
|
||||
{6,0x06,MAKE_HUFFMAN_PAIR(1,2)},
|
||||
{6,0x07,MAKE_HUFFMAN_PAIR(5,1)},
|
||||
{7,0x04,MAKE_HUFFMAN_PAIR(2,2)},
|
||||
{7,0x05,MAKE_HUFFMAN_PAIR(9,1)},
|
||||
{7,0x06,MAKE_HUFFMAN_PAIR(0,4)},
|
||||
{7,0x07,MAKE_HUFFMAN_PAIR(8,1)},
|
||||
{8,0x20,MAKE_HUFFMAN_PAIR(13,1)},
|
||||
{8,0x21,MAKE_HUFFMAN_PAIR(0,6)},
|
||||
{8,0x22,MAKE_HUFFMAN_PAIR(12,1)},
|
||||
{8,0x23,MAKE_HUFFMAN_PAIR(11,1)},
|
||||
{8,0x24,MAKE_HUFFMAN_PAIR(3,2)},
|
||||
{8,0x25,MAKE_HUFFMAN_PAIR(1,3)},
|
||||
{8,0x26,MAKE_HUFFMAN_PAIR(0,5)},
|
||||
{8,0x27,MAKE_HUFFMAN_PAIR(10,1)},
|
||||
{10,0x008,MAKE_HUFFMAN_PAIR(16,1)},
|
||||
{10,0x009,MAKE_HUFFMAN_PAIR(5,2)},
|
||||
{10,0x00A,MAKE_HUFFMAN_PAIR(0,7)},
|
||||
{10,0x00B,MAKE_HUFFMAN_PAIR(2,3)},
|
||||
{10,0x00C,MAKE_HUFFMAN_PAIR(1,4)},
|
||||
{10,0x00D,MAKE_HUFFMAN_PAIR(15,1)},
|
||||
{10,0x00E,MAKE_HUFFMAN_PAIR(14,1)},
|
||||
{10,0x00F,MAKE_HUFFMAN_PAIR(4,2)},
|
||||
{12,0x010,MAKE_HUFFMAN_PAIR(0,11)},
|
||||
{12,0x011,MAKE_HUFFMAN_PAIR(8,2)},
|
||||
{12,0x012,MAKE_HUFFMAN_PAIR(4,3)},
|
||||
{12,0x013,MAKE_HUFFMAN_PAIR(0,10)},
|
||||
{12,0x014,MAKE_HUFFMAN_PAIR(2,4)},
|
||||
{12,0x015,MAKE_HUFFMAN_PAIR(7,2)},
|
||||
{12,0x016,MAKE_HUFFMAN_PAIR(21,1)},
|
||||
{12,0x017,MAKE_HUFFMAN_PAIR(20,1)},
|
||||
{12,0x018,MAKE_HUFFMAN_PAIR(0,9)},
|
||||
{12,0x019,MAKE_HUFFMAN_PAIR(19,1)},
|
||||
{12,0x01A,MAKE_HUFFMAN_PAIR(18,1)},
|
||||
{12,0x01B,MAKE_HUFFMAN_PAIR(1,5)},
|
||||
{12,0x01C,MAKE_HUFFMAN_PAIR(3,3)},
|
||||
{12,0x01D,MAKE_HUFFMAN_PAIR(0,8)},
|
||||
{12,0x01E,MAKE_HUFFMAN_PAIR(6,2)},
|
||||
{12,0x01F,MAKE_HUFFMAN_PAIR(17,1)},
|
||||
{13,0x0010,MAKE_HUFFMAN_PAIR(10,2)},
|
||||
{13,0x0011,MAKE_HUFFMAN_PAIR(9,2)},
|
||||
{13,0x0012,MAKE_HUFFMAN_PAIR(5,3)},
|
||||
{13,0x0013,MAKE_HUFFMAN_PAIR(3,4)},
|
||||
{13,0x0014,MAKE_HUFFMAN_PAIR(2,5)},
|
||||
{13,0x0015,MAKE_HUFFMAN_PAIR(1,7)},
|
||||
{13,0x0016,MAKE_HUFFMAN_PAIR(1,6)},
|
||||
{13,0x0017,MAKE_HUFFMAN_PAIR(0,15)},
|
||||
{13,0x0018,MAKE_HUFFMAN_PAIR(0,14)},
|
||||
{13,0x0019,MAKE_HUFFMAN_PAIR(0,13)},
|
||||
{13,0x001A,MAKE_HUFFMAN_PAIR(0,12)},
|
||||
{13,0x001B,MAKE_HUFFMAN_PAIR(26,1)},
|
||||
{13,0x001C,MAKE_HUFFMAN_PAIR(25,1)},
|
||||
{13,0x001D,MAKE_HUFFMAN_PAIR(24,1)},
|
||||
{13,0x001E,MAKE_HUFFMAN_PAIR(23,1)},
|
||||
{13,0x001F,MAKE_HUFFMAN_PAIR(22,1)},
|
||||
{14,0x0010,MAKE_HUFFMAN_PAIR(0,31)},
|
||||
{14,0x0011,MAKE_HUFFMAN_PAIR(0,30)},
|
||||
{14,0x0012,MAKE_HUFFMAN_PAIR(0,29)},
|
||||
{14,0x0013,MAKE_HUFFMAN_PAIR(0,28)},
|
||||
{14,0x0014,MAKE_HUFFMAN_PAIR(0,27)},
|
||||
{14,0x0015,MAKE_HUFFMAN_PAIR(0,26)},
|
||||
{14,0x0016,MAKE_HUFFMAN_PAIR(0,25)},
|
||||
{14,0x0017,MAKE_HUFFMAN_PAIR(0,24)},
|
||||
{14,0x0018,MAKE_HUFFMAN_PAIR(0,23)},
|
||||
{14,0x0019,MAKE_HUFFMAN_PAIR(0,22)},
|
||||
{14,0x001A,MAKE_HUFFMAN_PAIR(0,21)},
|
||||
{14,0x001B,MAKE_HUFFMAN_PAIR(0,20)},
|
||||
{14,0x001C,MAKE_HUFFMAN_PAIR(0,19)},
|
||||
{14,0x001D,MAKE_HUFFMAN_PAIR(0,18)},
|
||||
{14,0x001E,MAKE_HUFFMAN_PAIR(0,17)},
|
||||
{14,0x001F,MAKE_HUFFMAN_PAIR(0,16)},
|
||||
{15,0x0010,MAKE_HUFFMAN_PAIR(0,40)},
|
||||
{15,0x0011,MAKE_HUFFMAN_PAIR(0,39)},
|
||||
{15,0x0012,MAKE_HUFFMAN_PAIR(0,38)},
|
||||
{15,0x0013,MAKE_HUFFMAN_PAIR(0,37)},
|
||||
{15,0x0014,MAKE_HUFFMAN_PAIR(0,36)},
|
||||
{15,0x0015,MAKE_HUFFMAN_PAIR(0,35)},
|
||||
{15,0x0016,MAKE_HUFFMAN_PAIR(0,34)},
|
||||
{15,0x0017,MAKE_HUFFMAN_PAIR(0,33)},
|
||||
{15,0x0018,MAKE_HUFFMAN_PAIR(0,32)},
|
||||
{15,0x0019,MAKE_HUFFMAN_PAIR(1,14)},
|
||||
{15,0x001A,MAKE_HUFFMAN_PAIR(1,13)},
|
||||
{15,0x001B,MAKE_HUFFMAN_PAIR(1,12)},
|
||||
{15,0x001C,MAKE_HUFFMAN_PAIR(1,11)},
|
||||
{15,0x001D,MAKE_HUFFMAN_PAIR(1,10)},
|
||||
{15,0x001E,MAKE_HUFFMAN_PAIR(1,9)},
|
||||
{15,0x001F,MAKE_HUFFMAN_PAIR(1,8)},
|
||||
{16,0x0010,MAKE_HUFFMAN_PAIR(1,18)},
|
||||
{16,0x0011,MAKE_HUFFMAN_PAIR(1,17)},
|
||||
{16,0x0012,MAKE_HUFFMAN_PAIR(1,16)},
|
||||
{16,0x0013,MAKE_HUFFMAN_PAIR(1,15)},
|
||||
{16,0x0014,MAKE_HUFFMAN_PAIR(6,3)},
|
||||
{16,0x0015,MAKE_HUFFMAN_PAIR(16,2)},
|
||||
{16,0x0016,MAKE_HUFFMAN_PAIR(15,2)},
|
||||
{16,0x0017,MAKE_HUFFMAN_PAIR(14,2)},
|
||||
{16,0x0018,MAKE_HUFFMAN_PAIR(13,2)},
|
||||
{16,0x0019,MAKE_HUFFMAN_PAIR(12,2)},
|
||||
{16,0x001A,MAKE_HUFFMAN_PAIR(11,2)},
|
||||
{16,0x001B,MAKE_HUFFMAN_PAIR(31,1)},
|
||||
{16,0x001C,MAKE_HUFFMAN_PAIR(30,1)},
|
||||
{16,0x001D,MAKE_HUFFMAN_PAIR(29,1)},
|
||||
{16,0x001E,MAKE_HUFFMAN_PAIR(28,1)},
|
||||
{16,0x001F,MAKE_HUFFMAN_PAIR(27,1)},
|
||||
};
|
||||
#undef MAKE_HUFFMAN_PAIR
|
||||
|
||||
@@ -249,7 +249,7 @@ static bool encode_bits(vid_encoder_state_t *state, int bits, uint32_t val)
|
||||
uint32_t outval = val;
|
||||
outval >>= bits - state->bits_left;
|
||||
assert(outval < (1<<16));
|
||||
uint16_t old_value = state->bits_value;
|
||||
//uint16_t old_value = state->bits_value;
|
||||
assert((state->bits_value & outval) == 0);
|
||||
state->bits_value |= (uint16_t)outval;
|
||||
//fprintf(stderr, "trunc %2d %2d %08X %04X %04X\n", bits, state->bits_left, val, old_value, state->bits_value);
|
||||
@@ -269,7 +269,7 @@ static bool encode_bits(vid_encoder_state_t *state, int bits, uint32_t val)
|
||||
uint32_t outval = val;
|
||||
outval <<= state->bits_left - bits;
|
||||
assert(outval < (1<<16));
|
||||
uint16_t old_value = state->bits_value;
|
||||
//uint16_t old_value = state->bits_value;
|
||||
assert((state->bits_value & outval) == 0);
|
||||
state->bits_value |= (uint16_t)outval;
|
||||
//fprintf(stderr, "plop %2d %2d %08X %04X %04X\n", bits, state->bits_left, val, state->bits_value);
|
||||
|
||||
Reference in New Issue
Block a user