33 for (
i = 0;
i < current->Nf;
i++) {
37 us(8, Tq[
i],
i, 0, 3);
52 for (
i = 0;
i < 64;
i++)
53 us(16, Q[
i],
i, 1, 255);
55 for (
i = 0;
i < 64;
i++)
56 us(8, Q[
i],
i, 1, 255);
67 HEADER(
"Quantisation Tables");
69 u(16, Lq, 2, 2 + 4 * 65);
72 for (
i = 0;
i < n;
i++)
86 for (
i = 0;
i < 16;
i++)
87 us(8,
L[
i],
i, 0, 224);
90 for (
i = 0;
i < 16;
i++) {
91 for (j = 0; j < current->L[
i]; j++) {
94 us(8,
V[ij], ij, 0, 255);
109 u(16, Lh, 2, 2 + 8 * (1 + 16 + 256));
112 for (
i = 0; n < current->Lh;
i++) {
119 for (j = 0; j < 16; j++)
120 n += 1 + current->table[
i].L[j];
136 for (j = 0; j < current->Ns; j++) {
138 us(4, Td[j], j, 0, 3);
139 us(4, Ta[j], j, 0, 3);
155 HEADER(
"Application Data");
159 if (current->Lp > 2) {
162 if (!current->Ap_ref)
164 current->Ap = current->Ap_ref->data;
167 for (
i = 0;
i < current->Lp - 2;
i++)
168 us(8, Ap[
i],
i, 0, 255);
183 if (current->Lc > 2) {
186 if (!current->Cm_ref)
188 current->Cm = current->Cm_ref->data;
191 for (
i = 0;
i < current->Lc - 2;
i++)
192 us(8, Cm[
i],
i, 0, 255);
#define u(width, name, range_min, range_max)
#define us(width, name, range_min, range_max, subs,...)
static int FUNC() huffman_table(CodedBitstreamContext *ctx, RWContext *rw, JPEGRawHuffmanTable *current)
static int FUNC() comment(CodedBitstreamContext *ctx, RWContext *rw, JPEGRawComment *current)
static int FUNC() scan_header(CodedBitstreamContext *ctx, RWContext *rw, JPEGRawScanHeader *current)
static int FUNC() application_data(CodedBitstreamContext *ctx, RWContext *rw, JPEGRawApplicationData *current)
static int FUNC() dqt(CodedBitstreamContext *ctx, RWContext *rw, JPEGRawQuantisationTableSpecification *current)
static int FUNC() quantisation_table(CodedBitstreamContext *ctx, RWContext *rw, JPEGRawQuantisationTable *current)
static int FUNC() dht(CodedBitstreamContext *ctx, RWContext *rw, JPEGRawHuffmanTableSpecification *current)
AVBufferRef * av_buffer_alloc(buffer_size_t size)
Allocate an AVBuffer of the given size using av_malloc().
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
Context structure for coded bitstream operations.
CHECK(-1) CHECK(-2) }} }} CHECK(1) CHECK(2) }} }} } if(diff0+diff1 > 0) temp -