38 uint32_t
lq[64], cq[64];
44 16, 11, 10, 16, 24, 40, 51, 61,
45 12, 12, 14, 19, 26, 58, 60, 55,
46 14, 13, 16, 24, 40, 57, 69, 56,
47 14, 17, 22, 29, 51, 87, 80, 62,
48 18, 22, 37, 56, 68, 109, 103, 77,
49 24, 35, 55, 64, 81, 104, 113, 92,
50 49, 64, 78, 87, 103, 121, 120, 101,
51 72, 92, 95, 98, 112, 100, 103, 99
55 17, 18, 24, 47, 99, 99, 99, 99,
56 18, 21, 26, 66, 99, 99, 99, 99,
57 24, 26, 56, 99, 99, 99, 99, 99,
58 47, 66, 99, 99, 99, 99, 99, 99,
59 99, 99, 99, 99, 99, 99, 99, 99,
60 99, 99, 99, 99, 99, 99, 99, 99,
61 99, 99, 99, 99, 99, 99, 99, 99,
62 99, 99, 99, 99, 99, 99, 99, 99
83 const uint8_t *buf,
int size) {
85 if (size < 2 * 64 * 4) {
89 for (i = 0; i < 64; i++, buf += 4)
91 for (i = 0; i < 64; i++, buf += 4)
101 quality =
FFMAX(quality, 1);
102 for (i = 0; i < 64; i++) {
134 }
else if (quality != c->
quality)
141 const uint8_t *buf = avpkt->
data;
142 int buf_size = avpkt->
size;
145 int orig_size = buf_size;
149 enum {NUV_UNCOMPRESSED =
'0', NUV_RTJPEG =
'1',
150 NUV_RTJPEG_IN_LZO =
'2', NUV_LZO =
'3',
151 NUV_BLACK =
'N', NUV_COPY_LAST =
'L'} comptype;
159 if (buf[0] ==
'D' && buf[1] ==
'R') {
164 ret =
get_quant(avctx, c, buf, buf_size);
171 if (buf[0] !=
'V' || buf_size < 12) {
177 case NUV_RTJPEG_IN_LZO:
179 keyframe = !buf[2];
break;
188 if (comptype == NUV_RTJPEG_IN_LZO || comptype == NUV_LZO) {
190 int inlen = buf_size;
210 if (comptype == NUV_RTJPEG_IN_LZO || comptype == NUV_LZO)
216 if (keyframe && c->
pic.
data[0])
232 case NUV_UNCOMPRESSED: {
234 if (buf_size < c->
width * height * 3 / 2) {
236 height = buf_size / c->
width / 3 * 2;
241 case NUV_RTJPEG_IN_LZO:
254 case NUV_COPY_LAST: {