51 ctx->avctx->thread_count = 1;
54 ctx->avctx->width =
ctx->avctx->coded_width = avctx->
width;
55 ctx->avctx->height =
ctx->avctx->coded_height = avctx->
height;
73 unsigned second_field_offset = 0;
74 unsigned next_field = 0;
75 unsigned dht_offset[2];
76 unsigned dqt_offset[2];
77 unsigned sod_offset[2];
78 unsigned sof_offset[2];
79 unsigned sos_offset[2];
86 if (avpkt->
size + 1024 >
ctx->pkt->size) {
100 bytestream2_put_be32(&pb, 0);
101 bytestream2_put_be32(&pb,
AV_RB32(
"mjpg"));
102 bytestream2_put_be32(&pb, 0);
103 bytestream2_put_be32(&pb, 0);
104 for (
int i = 0;
i < 6;
i++)
105 bytestream2_put_be32(&pb, 0);
108 bytestream2_put_be16(&pb, 17);
109 bytestream2_put_byte(&pb, 8);
110 bytestream2_put_be16(&pb, avctx->
height / 2);
111 bytestream2_put_be16(&pb, avctx->
width);
112 bytestream2_put_byte(&pb, 3);
113 bytestream2_put_byte(&pb, 1);
114 bytestream2_put_byte(&pb, 0x21);
115 bytestream2_put_byte(&pb, 0);
116 bytestream2_put_byte(&pb, 2);
117 bytestream2_put_byte(&pb, 0x11);
118 bytestream2_put_byte(&pb, 1);
119 bytestream2_put_byte(&pb, 3);
120 bytestream2_put_byte(&pb, 0x11);
121 bytestream2_put_byte(&pb, 1);
124 bytestream2_put_be16(&pb, 12);
125 bytestream2_put_byte(&pb, 3);
126 bytestream2_put_byte(&pb, 1);
127 bytestream2_put_byte(&pb, 0);
128 bytestream2_put_byte(&pb, 2);
129 bytestream2_put_byte(&pb, 0x11);
130 bytestream2_put_byte(&pb, 3);
131 bytestream2_put_byte(&pb, 0x11);
132 bytestream2_put_byte(&pb, 0);
133 bytestream2_put_byte(&pb, 0);
134 bytestream2_put_byte(&pb, 0);
137 bytestream2_put_be16(&pb, 132);
138 bytestream2_put_byte(&pb, 0);
140 for (
int i = 0;
i < 64;
i++)
141 bytestream2_put_byte(&pb, bytestream2_get_be32(&gb));
142 bytestream2_put_byte(&pb, 1);
143 for (
int i = 0;
i < 64;
i++)
144 bytestream2_put_byte(&pb, bytestream2_get_be32(&gb));
146 dht_offset[
field] = 0;
158 bytestream2_put_be64(&pb, 0);
163 next_field = avpkt->
size;
181 AV_WB32(
pkt->
data + second_field_offset + 20, dqt_offset[1] - second_field_offset);
183 AV_WB32(
pkt->
data + second_field_offset + 28, sof_offset[1] - second_field_offset);
184 AV_WB32(
pkt->
data + second_field_offset + 32, sos_offset[1] - second_field_offset);
185 AV_WB32(
pkt->
data + second_field_offset + 36, sod_offset[1] - second_field_offset);
215 .
p.
name =
"media100",