summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-05-07 17:52:23 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-05-07 21:33:35 +0200
commite2301feabc2be18e1ee878dcdf643fd78b90c735 (patch)
tree0373c0ddebc91684f29856dafd3a51c9a9cb9924
parent8f588eea8e813304f14e1889cfdc79ab89a88deb (diff)
avcodec/h263, h263data: Move ff_h263_init_rl_inter to h263.c
The SVQ1 decoder does not need mpegvideo or rl.c, but it uses stuff from h263data.c. But since 61fe481586425a41d45e371de1e875b49882477d h263data.c called ff_rl_init() and this of course led to build errors when the SVQ1 decoder is enabled and mpegvideo disabled. Fix this by moving ff_h263_init_rl_inter() to h263.c. Fixes ticket #9224. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavcodec/h263.c12
-rw-r--r--libavcodec/h263.h1
-rw-r--r--libavcodec/h263data.c14
-rw-r--r--libavcodec/h263data.h1
4 files changed, 13 insertions, 15 deletions
diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index bc5c0d599f..4a03c710a6 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -29,6 +29,7 @@
#include <limits.h>
+#include "libavutil/thread.h"
#include "avcodec.h"
#include "mpegvideo.h"
#include "h263.h"
@@ -38,6 +39,17 @@
#include "flv.h"
#include "mpeg4video.h"
+static av_cold void h263_init_rl_inter(void)
+{
+ static uint8_t h263_rl_inter_table[2][2 * MAX_RUN + MAX_LEVEL + 3];
+ ff_rl_init(&ff_h263_rl_inter, h263_rl_inter_table);
+}
+
+av_cold void ff_h263_init_rl_inter(void)
+{
+ static AVOnce init_static_once = AV_ONCE_INIT;
+ ff_thread_once(&init_static_once, h263_init_rl_inter);
+}
void ff_h263_update_motion_val(MpegEncContext * s){
const int mb_xy = s->mb_y * s->mb_stride + s->mb_x;
diff --git a/libavcodec/h263.h b/libavcodec/h263.h
index 998f7d0d59..491f2e0aac 100644
--- a/libavcodec/h263.h
+++ b/libavcodec/h263.h
@@ -66,6 +66,7 @@ int16_t *ff_h263_pred_motion(MpegEncContext * s, int block, int dir,
int *px, int *py);
void ff_h263_encode_init(MpegEncContext *s);
void ff_h263_decode_init_vlc(void);
+void ff_h263_init_rl_inter(void);
int ff_h263_decode_picture_header(MpegEncContext *s);
int ff_h263_decode_gob_header(MpegEncContext *s);
void ff_h263_update_motion_val(MpegEncContext * s);
diff --git a/libavcodec/h263data.c b/libavcodec/h263data.c
index 604a0425e1..20d0436fda 100644
--- a/libavcodec/h263data.c
+++ b/libavcodec/h263data.c
@@ -25,8 +25,6 @@
#include <stdint.h>
-#include "libavutil/thread.h"
-
#include "h263data.h"
#include "mpegvideo.h"
@@ -290,15 +288,3 @@ const AVRational ff_h263_pixel_aspect[16] = {
{ 0, 1 },
{ 0, 1 },
};
-
-static av_cold void h263_init_rl_inter(void)
-{
- static uint8_t h263_rl_inter_table[2][2 * MAX_RUN + MAX_LEVEL + 3];
- ff_rl_init(&ff_h263_rl_inter, h263_rl_inter_table);
-}
-
-av_cold void ff_h263_init_rl_inter(void)
-{
- static AVOnce init_static_once = AV_ONCE_INIT;
- ff_thread_once(&init_static_once, h263_init_rl_inter);
-}
diff --git a/libavcodec/h263data.h b/libavcodec/h263data.h
index 144704d12b..06554bdf0d 100644
--- a/libavcodec/h263data.h
+++ b/libavcodec/h263data.h
@@ -61,7 +61,6 @@ extern const int8_t ff_inter_run[102];
extern RLTable ff_h263_rl_inter;
extern RLTable ff_rl_intra_aic;
-void ff_h263_init_rl_inter(void);
extern const uint16_t ff_h263_format[8][2];