* commit '20429ba96e55db17ac57f6c0e330914287f1f614': h261: Move encoder/decoder shared table init to common code Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.0
@@ -79,3 +79,14 @@ void ff_h261_loop_filter(MpegEncContext *s) | |||||
h261_loop_filter(dest_cb, uvlinesize); | h261_loop_filter(dest_cb, uvlinesize); | ||||
h261_loop_filter(dest_cr, uvlinesize); | h261_loop_filter(dest_cr, uvlinesize); | ||||
} | } | ||||
av_cold void ff_h261_common_init(void) | |||||
{ | |||||
static int done = 0; | |||||
if (done) | |||||
return; | |||||
ff_init_rl(&ff_h261_rl_tcoeff, ff_h261_rl_table_store); | |||||
done = 1; | |||||
} |
@@ -61,6 +61,7 @@ extern const uint8_t ff_h261_cbp_tab[63][2]; | |||||
extern RLTable ff_h261_rl_tcoeff; | extern RLTable ff_h261_rl_tcoeff; | ||||
void ff_h261_loop_filter(MpegEncContext *s); | void ff_h261_loop_filter(MpegEncContext *s); | ||||
void ff_h261_common_init(void); | |||||
int ff_h261_get_picture_format(int width, int height); | int ff_h261_get_picture_format(int width, int height); | ||||
void ff_h261_reorder_mb_index(MpegEncContext *s); | void ff_h261_reorder_mb_index(MpegEncContext *s); | ||||
@@ -62,7 +62,6 @@ static av_cold void h261_decode_init_vlc(H261Context *h) | |||||
INIT_VLC_STATIC(&h261_cbp_vlc, H261_CBP_VLC_BITS, 63, | INIT_VLC_STATIC(&h261_cbp_vlc, H261_CBP_VLC_BITS, 63, | ||||
&ff_h261_cbp_tab[0][1], 2, 1, | &ff_h261_cbp_tab[0][1], 2, 1, | ||||
&ff_h261_cbp_tab[0][0], 2, 1, 512); | &ff_h261_cbp_tab[0][0], 2, 1, 512); | ||||
ff_init_rl(&ff_h261_rl_tcoeff, ff_h261_rl_table_store); | |||||
INIT_VLC_RL(ff_h261_rl_tcoeff, 552); | INIT_VLC_RL(ff_h261_rl_tcoeff, 552); | ||||
} | } | ||||
} | } | ||||
@@ -83,6 +82,7 @@ static av_cold int h261_decode_init(AVCodecContext *avctx) | |||||
avctx->pix_fmt = AV_PIX_FMT_YUV420P; | avctx->pix_fmt = AV_PIX_FMT_YUV420P; | ||||
s->codec_id = avctx->codec->id; | s->codec_id = avctx->codec->id; | ||||
ff_h261_common_init(); | |||||
h261_decode_init_vlc(h); | h261_decode_init_vlc(h); | ||||
h->gob_start_code_skipped = 0; | h->gob_start_code_skipped = 0; | ||||
@@ -314,12 +314,7 @@ void ff_h261_encode_mb(MpegEncContext *s, int16_t block[6][64], | |||||
void ff_h261_encode_init(MpegEncContext *s) | void ff_h261_encode_init(MpegEncContext *s) | ||||
{ | { | ||||
static int done = 0; | |||||
if (!done) { | |||||
done = 1; | |||||
ff_init_rl(&ff_h261_rl_tcoeff, ff_h261_rl_table_store); | |||||
} | |||||
ff_h261_common_init(); | |||||
s->min_qcoeff = -127; | s->min_qcoeff = -127; | ||||
s->max_qcoeff = 127; | s->max_qcoeff = 127; | ||||