mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-16 12:21:18 +00:00
move ff_log2_run to bitstream.c and reuse in ffv1.c
Originally committed as revision 13989 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
dd7a68b6da
commit
b3bf98aa56
@ -30,6 +30,13 @@
|
||||
#include "avcodec.h"
|
||||
#include "bitstream.h"
|
||||
|
||||
const uint8_t ff_log2_run[32]={
|
||||
0, 0, 0, 0, 1, 1, 1, 1,
|
||||
2, 2, 2, 2, 3, 3, 3, 3,
|
||||
4, 4, 5, 5, 6, 6, 7, 7,
|
||||
8, 9,10,11,12,13,14,15
|
||||
};
|
||||
|
||||
/**
|
||||
* Same as av_mallocz_static(), but does a realloc.
|
||||
*
|
||||
|
@ -34,6 +34,8 @@
|
||||
#define MAX_PLANES 4
|
||||
#define CONTEXT_SIZE 32
|
||||
|
||||
extern const uint8_t ff_log2_run[32];
|
||||
|
||||
static const int8_t quant3[256]={
|
||||
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
@ -143,12 +145,6 @@ static const int8_t quant13[256]={
|
||||
-4,-4,-4,-4,-4,-4,-4,-4,-4,-3,-3,-3,-3,-2,-2,-1,
|
||||
};
|
||||
|
||||
static const uint8_t log2_run[32]={
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,
|
||||
4, 4, 5, 5, 6, 6, 7, 7,
|
||||
8, 9,10,11,12,13,14,15,
|
||||
};
|
||||
|
||||
typedef struct VlcState{
|
||||
int16_t drift;
|
||||
uint16_t error_sum;
|
||||
@ -396,13 +392,13 @@ static inline int encode_line(FFV1Context *s, int w, int_fast16_t *sample[2], in
|
||||
if(run_mode){
|
||||
|
||||
if(diff){
|
||||
while(run_count >= 1<<log2_run[run_index]){
|
||||
run_count -= 1<<log2_run[run_index];
|
||||
while(run_count >= 1<<ff_log2_run[run_index]){
|
||||
run_count -= 1<<ff_log2_run[run_index];
|
||||
run_index++;
|
||||
put_bits(&s->pb, 1, 1);
|
||||
}
|
||||
|
||||
put_bits(&s->pb, 1 + log2_run[run_index], run_count);
|
||||
put_bits(&s->pb, 1 + ff_log2_run[run_index], run_count);
|
||||
if(run_index) run_index--;
|
||||
run_count=0;
|
||||
run_mode=0;
|
||||
@ -419,8 +415,8 @@ static inline int encode_line(FFV1Context *s, int w, int_fast16_t *sample[2], in
|
||||
}
|
||||
}
|
||||
if(run_mode){
|
||||
while(run_count >= 1<<log2_run[run_index]){
|
||||
run_count -= 1<<log2_run[run_index];
|
||||
while(run_count >= 1<<ff_log2_run[run_index]){
|
||||
run_count -= 1<<ff_log2_run[run_index];
|
||||
run_index++;
|
||||
put_bits(&s->pb, 1, 1);
|
||||
}
|
||||
@ -735,10 +731,10 @@ static inline void decode_line(FFV1Context *s, int w, int_fast16_t *sample[2], i
|
||||
if(run_mode){
|
||||
if(run_count==0 && run_mode==1){
|
||||
if(get_bits1(&s->gb)){
|
||||
run_count = 1<<log2_run[run_index];
|
||||
run_count = 1<<ff_log2_run[run_index];
|
||||
if(x + run_count <= w) run_index++;
|
||||
}else{
|
||||
if(log2_run[run_index]) run_count = get_bits(&s->gb, log2_run[run_index]);
|
||||
if(ff_log2_run[run_index]) run_count = get_bits(&s->gb, ff_log2_run[run_index]);
|
||||
else run_count=0;
|
||||
if(run_index) run_index--;
|
||||
run_mode=2;
|
||||
|
@ -27,13 +27,6 @@
|
||||
|
||||
#include "jpegls.h"
|
||||
|
||||
const uint8_t ff_log2_run[32]={
|
||||
0, 0, 0, 0, 1, 1, 1, 1,
|
||||
2, 2, 2, 2, 3, 3, 3, 3,
|
||||
4, 4, 5, 5, 6, 6, 7, 7,
|
||||
8, 9,10,11,12,13,14,15
|
||||
};
|
||||
|
||||
void ff_jpegls_init_state(JLSState *state){
|
||||
int i;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user