X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmpeg4video.c;h=ffeaf822b2d9a40fc436653daa98bb61fed88971;hb=b9fff6e15e73dc995695db9be8db084238cca14c;hp=2aaa9f734cdd405ceb59239c74fb9c319d0c76f6;hpb=fda424b300c1a0b991296aa585691609d01196bd;p=ffmpeg diff --git a/libavcodec/mpeg4video.c b/libavcodec/mpeg4video.c index 2aaa9f734cd..ffeaf822b2d 100644 --- a/libavcodec/mpeg4video.c +++ b/libavcodec/mpeg4video.c @@ -20,12 +20,24 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/thread.h" + #include "mpegutils.h" #include "mpegvideo.h" #include "mpeg4video.h" #include "mpeg4data.h" -uint8_t ff_mpeg4_static_rl_table_store[3][2][2 * MAX_RUN + MAX_LEVEL + 3]; +static av_cold void mpeg4_init_rl_intra(void) +{ + static uint8_t mpeg4_rl_intra_table[2][2 * MAX_RUN + MAX_LEVEL + 3]; + ff_rl_init(&ff_mpeg4_rl_intra, mpeg4_rl_intra_table); +} + +av_cold void ff_mpeg4_init_rl_intra(void) +{ + static AVOnce init_static_once = AV_ONCE_INIT; + ff_thread_once(&init_static_once, mpeg4_init_rl_intra); +} int ff_mpeg4_get_video_packet_prefix_length(MpegEncContext *s) {