mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
Original Commit: r9 | ods15 | 2006-09-17 18:56:41 +0300 (Sun, 17 Sep 2006) | 2 lines
add residue header syntax Originally committed as revision 6420 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
d2d5c89d34
commit
6f133df1ea
@ -70,6 +70,13 @@ typedef struct {
|
||||
} floor_t;
|
||||
|
||||
typedef struct {
|
||||
int type;
|
||||
int begin;
|
||||
int end;
|
||||
int partition_size;
|
||||
int classifications;
|
||||
int classbook;
|
||||
int (*books)[8];
|
||||
} residue_t;
|
||||
|
||||
typedef struct {
|
||||
@ -198,6 +205,32 @@ static void put_floor_header(PutBitContext * pb, floor_t * fc) {
|
||||
}
|
||||
|
||||
static void put_residue_header(PutBitContext * pb, residue_t * rc) {
|
||||
int i;
|
||||
|
||||
put_bits(pb, 16, rc->type);
|
||||
|
||||
put_bits(pb, 24, rc->begin);
|
||||
put_bits(pb, 24, rc->end);
|
||||
put_bits(pb, 24, rc->partition_size - 1);
|
||||
put_bits(pb, 6, rc->classifications);
|
||||
put_bits(pb, 8, rc->classbook);
|
||||
|
||||
for (i = 0; i < rc->classifications; i++) {
|
||||
int j, tmp = 0;
|
||||
for (j = 0; j < 8; j++) tmp |= (!!rc->books[i][j]) << j;
|
||||
|
||||
put_bits(pb, 3, tmp & 7);
|
||||
put_bits(pb, 1, tmp > 7);
|
||||
|
||||
if (tmp > 7) put_bits(pb, 5, tmp >> 3);
|
||||
}
|
||||
|
||||
for (i = 0; i < rc->classifications; i++) {
|
||||
int j;
|
||||
for (j = 0; j < 8; j++)
|
||||
if (rc->books[i][j])
|
||||
put_bits(pb, 8, rc->books[i][j]);
|
||||
}
|
||||
}
|
||||
|
||||
static int put_main_header(venc_context_t * venc, uint8_t ** out) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user