* [FFmpeg-devel] [PATCH 02/11] avcodec/encode: Apply intra_only_flag for receive_packet-API, too
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
@ 2022-08-24 1:39 ` Andreas Rheinhardt
2022-08-24 1:39 ` [FFmpeg-devel] [PATCH 03/11] avcodec/aptx: Move AudioFrameQueue to aptxenc.c Andreas Rheinhardt
` (19 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:39 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/encode.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/encode.c b/libavcodec/encode.c
index bd66f138a3..9f413095e4 100644
--- a/libavcodec/encode.c
+++ b/libavcodec/encode.c
@@ -240,7 +240,6 @@ static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt)
if (avctx->codec->type == AVMEDIA_TYPE_AUDIO) {
avpkt->dts = avpkt->pts;
}
- avpkt->flags |= avci->intra_only_flag;
}
if (avci->draining && !got_packet)
@@ -301,6 +300,8 @@ static int encode_receive_packet_internal(AVCodecContext *avctx, AVPacket *avpkt
av_assert0(!avpkt->data || avpkt->buf);
} else
ret = encode_simple_receive_packet(avctx, avpkt);
+ if (ret >= 0)
+ avpkt->flags |= avci->intra_only_flag;
if (ret == AVERROR_EOF)
avci->draining_done = 1;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 03/11] avcodec/aptx: Move AudioFrameQueue to aptxenc.c
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
2022-08-24 1:39 ` [FFmpeg-devel] [PATCH 02/11] avcodec/encode: Apply intra_only_flag for receive_packet-API, too Andreas Rheinhardt
@ 2022-08-24 1:39 ` Andreas Rheinhardt
2022-08-24 1:39 ` [FFmpeg-devel] [PATCH 04/11] avcodec/encode: Simplify check for frame-threaded encoder Andreas Rheinhardt
` (18 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:39 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
It is only used by the encoder.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/aptx.c | 1 -
libavcodec/aptx.h | 2 --
libavcodec/aptxenc.c | 32 ++++++++++++++++++++++++--------
3 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/libavcodec/aptx.c b/libavcodec/aptx.c
index f2604be60c..8e110acc97 100644
--- a/libavcodec/aptx.c
+++ b/libavcodec/aptx.c
@@ -534,6 +534,5 @@ av_cold int ff_aptx_init(AVCodecContext *avctx)
}
}
- ff_af_queue_init(avctx, &s->afq);
return 0;
}
diff --git a/libavcodec/aptx.h b/libavcodec/aptx.h
index abb49e6faa..da0697e652 100644
--- a/libavcodec/aptx.h
+++ b/libavcodec/aptx.h
@@ -26,7 +26,6 @@
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "mathops.h"
-#include "audio_frame_queue.h"
enum channels {
@@ -95,7 +94,6 @@ typedef struct {
int block_size;
int32_t sync_idx;
Channel channels[NB_CHANNELS];
- AudioFrameQueue afq;
} AptXContext;
typedef const struct {
diff --git a/libavcodec/aptxenc.c b/libavcodec/aptxenc.c
index 453146f154..2a0d8e06eb 100644
--- a/libavcodec/aptxenc.c
+++ b/libavcodec/aptxenc.c
@@ -24,9 +24,15 @@
#include "libavutil/channel_layout.h"
#include "aptx.h"
+#include "audio_frame_queue.h"
#include "codec_internal.h"
#include "encode.h"
+typedef struct AptXEncContext {
+ AptXContext common;
+ AudioFrameQueue afq;
+} AptXEncContext;
+
/*
* Half-band QMF analysis filter realized with a polyphase FIR filter.
* Split into 2 subbands and downsample by 2.
@@ -212,10 +218,11 @@ static void aptx_encode_samples(AptXContext *ctx,
static int aptx_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
const AVFrame *frame, int *got_packet_ptr)
{
- AptXContext *s = avctx->priv_data;
+ AptXEncContext *const s0 = avctx->priv_data;
+ AptXContext *const s = &s0->common;
int pos, ipos, channel, sample, output_size, ret;
- if ((ret = ff_af_queue_add(&s->afq, frame)) < 0)
+ if ((ret = ff_af_queue_add(&s0->afq, frame)) < 0)
return ret;
output_size = s->block_size * frame->nb_samples/4;
@@ -232,18 +239,27 @@ static int aptx_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
aptx_encode_samples(s, samples, avpkt->data + pos);
}
- ff_af_queue_remove(&s->afq, frame->nb_samples, &avpkt->pts, &avpkt->duration);
+ ff_af_queue_remove(&s0->afq, frame->nb_samples, &avpkt->pts, &avpkt->duration);
*got_packet_ptr = 1;
return 0;
}
static av_cold int aptx_close(AVCodecContext *avctx)
{
- AptXContext *s = avctx->priv_data;
+ AptXEncContext *const s = avctx->priv_data;
ff_af_queue_close(&s->afq);
return 0;
}
+static av_cold int aptx_encode_init(AVCodecContext *avctx)
+{
+ AptXEncContext *const s = avctx->priv_data;
+
+ ff_af_queue_init(avctx, &s->afq);
+
+ return ff_aptx_init(avctx);
+}
+
#if CONFIG_APTX_ENCODER
const FFCodec ff_aptx_encoder = {
.p.name = "aptx",
@@ -251,8 +267,8 @@ const FFCodec ff_aptx_encoder = {
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_APTX,
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
- .priv_data_size = sizeof(AptXContext),
- .init = ff_aptx_init,
+ .priv_data_size = sizeof(AptXEncContext),
+ .init = aptx_encode_init,
FF_CODEC_ENCODE_CB(aptx_encode_frame),
.close = aptx_close,
#if FF_API_OLD_CHANNEL_LAYOUT
@@ -272,8 +288,8 @@ const FFCodec ff_aptx_hd_encoder = {
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_APTX_HD,
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
- .priv_data_size = sizeof(AptXContext),
- .init = ff_aptx_init,
+ .priv_data_size = sizeof(AptXEncContext),
+ .init = aptx_encode_init,
FF_CODEC_ENCODE_CB(aptx_encode_frame),
.close = aptx_close,
#if FF_API_OLD_CHANNEL_LAYOUT
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 04/11] avcodec/encode: Simplify check for frame-threaded encoder
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
2022-08-24 1:39 ` [FFmpeg-devel] [PATCH 02/11] avcodec/encode: Apply intra_only_flag for receive_packet-API, too Andreas Rheinhardt
2022-08-24 1:39 ` [FFmpeg-devel] [PATCH 03/11] avcodec/aptx: Move AudioFrameQueue to aptxenc.c Andreas Rheinhardt
@ 2022-08-24 1:39 ` Andreas Rheinhardt
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 05/11] avcodec/frame_thread_encoder: Forward got_packet directly Andreas Rheinhardt
` (17 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:39 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
AVCodecInternal.frame_thread_encoder is only set iff
active_thread_type is FF_THREAD_FRAME.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/encode.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/libavcodec/encode.c b/libavcodec/encode.c
index 9f413095e4..01b59bbf70 100644
--- a/libavcodec/encode.c
+++ b/libavcodec/encode.c
@@ -192,7 +192,7 @@ static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt)
if (!frame->buf[0]) {
if (!(avctx->codec->capabilities & AV_CODEC_CAP_DELAY ||
- (avci->frame_thread_encoder && avctx->active_thread_type & FF_THREAD_FRAME)))
+ avci->frame_thread_encoder))
return AVERROR_EOF;
// Flushing is signaled with a NULL frame
@@ -203,8 +203,7 @@ static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt)
av_assert0(codec->cb_type == FF_CODEC_CB_TYPE_ENCODE);
- if (CONFIG_FRAME_THREAD_ENCODER &&
- avci->frame_thread_encoder && (avctx->active_thread_type & FF_THREAD_FRAME))
+ if (CONFIG_FRAME_THREAD_ENCODER && avci->frame_thread_encoder)
/* This might modify frame, but it doesn't matter, because
* the frame properties used below are not used for video
* (due to the delay inherent in frame threaded encoding, it makes
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 05/11] avcodec/frame_thread_encoder: Forward got_packet directly
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (2 preceding siblings ...)
2022-08-24 1:39 ` [FFmpeg-devel] [PATCH 04/11] avcodec/encode: Simplify check for frame-threaded encoder Andreas Rheinhardt
@ 2022-08-24 1:40 ` Andreas Rheinhardt
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 06/11] avcodec/encode, frame_thread_encoder: Unify calling encode callback Andreas Rheinhardt
` (16 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:40 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Instead of indicating whether we got a packet by setting
pkt->data and pkt->size to zero.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/frame_thread_encoder.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/libavcodec/frame_thread_encoder.c b/libavcodec/frame_thread_encoder.c
index 07d310a986..b5765b6343 100644
--- a/libavcodec/frame_thread_encoder.c
+++ b/libavcodec/frame_thread_encoder.c
@@ -45,6 +45,7 @@ typedef struct{
AVPacket *outdata;
int return_code;
int finished;
+ int got_packet;
} Task;
typedef struct{
@@ -110,10 +111,8 @@ static void * attribute_align_arg worker(void *v){
if (ret >= 0 && ret2 < 0)
ret = ret2;
pkt->pts = pkt->dts = frame->pts;
- } else {
- pkt->data = NULL;
- pkt->size = 0;
}
+ task->got_packet = got_packet;
pthread_mutex_lock(&c->buffer_mutex);
av_frame_unref(frame);
pthread_mutex_unlock(&c->buffer_mutex);
@@ -315,8 +314,7 @@ int ff_thread_video_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
* because there is no outstanding task with this index. */
outtask->finished = 0;
av_packet_move_ref(pkt, outtask->outdata);
- if(pkt->data)
- *got_packet_ptr = 1;
+ *got_packet_ptr = outtask->got_packet;
c->finished_task_index = (c->finished_task_index + 1) % c->max_tasks;
return outtask->return_code;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 06/11] avcodec/encode, frame_thread_encoder: Unify calling encode callback
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (3 preceding siblings ...)
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 05/11] avcodec/frame_thread_encoder: Forward got_packet directly Andreas Rheinhardt
@ 2022-08-24 1:40 ` Andreas Rheinhardt
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 07/11] avcodec/encode: Remove redundant check Andreas Rheinhardt
` (15 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:40 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
The encode-callback (the callback used by the FF_CODEC_CB_TYPE_ENCODE
encoders) is currently called in two places: encode_simple_internal()
and by the worker threads of frame-threaded encoders.
After the call, some packet properties are set based upon
the corresponding AVFrame properties and the packet is made
refcounted if it isn't already. So there is some code duplication.
There was also non-duplicated code in encode_simple_internal()
which is executed even when using frame-threading. This included
an emms_c() (which is needed for frame-threading, too, if it is
needed for the single-threaded case, because there are allocations
(via av_packet_make_refcounted()) immediately after returning
from the encode-callback).
Furthermore, some further properties are only set in
encode_simple_internal(): For audio, pts and duration are derived
from the corresponding fields of the frame if the encoder does not
have the AV_CODEC_CAP_DELAY set. Yet this is wrong for frame-threaded
encoders, because frame-threading always introduces delay regardless
of whether the underlying codec has said cap. This only worked because
there are no frame-threaded audio encoders.
This commit fixes the code duplication and the above issue by factoring
this code out and reusing it in both places. It would work in case
of audio codecs with frame-threading, because now the values are
derived from the correct AVFrame.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/encode.c | 86 ++++++++++++++++---------------
libavcodec/encode.h | 3 ++
libavcodec/frame_thread_encoder.c | 12 ++---
3 files changed, 50 insertions(+), 51 deletions(-)
diff --git a/libavcodec/encode.c b/libavcodec/encode.c
index 01b59bbf70..f7b13c8ba1 100644
--- a/libavcodec/encode.c
+++ b/libavcodec/encode.c
@@ -172,6 +172,48 @@ int ff_encode_get_frame(AVCodecContext *avctx, AVFrame *frame)
return 0;
}
+int ff_encode_encode_cb(AVCodecContext *avctx, AVPacket *avpkt,
+ const AVFrame *frame, int *got_packet)
+{
+ const FFCodec *const codec = ffcodec(avctx->codec);
+ int ret;
+
+ ret = codec->cb.encode(avctx, avpkt, frame, got_packet);
+ emms_c();
+ av_assert0(ret <= 0);
+
+ if (!ret && *got_packet) {
+ if (avpkt->data) {
+ ret = av_packet_make_refcounted(avpkt);
+ if (ret < 0)
+ goto unref;
+ // Date returned by encoders must always be ref-counted
+ av_assert0(avpkt->buf);
+ }
+
+ if (avctx->codec->type == AVMEDIA_TYPE_VIDEO &&
+ !(avctx->codec->capabilities & AV_CODEC_CAP_DELAY))
+ avpkt->pts = avpkt->dts = frame->pts;
+ if (frame && !(avctx->codec->capabilities & AV_CODEC_CAP_DELAY)) {
+ if (avctx->codec->type == AVMEDIA_TYPE_AUDIO) {
+ if (avpkt->pts == AV_NOPTS_VALUE)
+ avpkt->pts = frame->pts;
+ if (!avpkt->duration)
+ avpkt->duration = ff_samples_to_time_base(avctx,
+ frame->nb_samples);
+ }
+ }
+ if (avctx->codec->type == AVMEDIA_TYPE_AUDIO) {
+ avpkt->dts = avpkt->pts;
+ }
+ } else {
+unref:
+ av_packet_unref(avpkt);
+ }
+
+ return ret;
+}
+
static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt)
{
AVCodecInternal *avci = avctx->internal;
@@ -204,58 +246,18 @@ static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt)
av_assert0(codec->cb_type == FF_CODEC_CB_TYPE_ENCODE);
if (CONFIG_FRAME_THREAD_ENCODER && avci->frame_thread_encoder)
- /* This might modify frame, but it doesn't matter, because
- * the frame properties used below are not used for video
- * (due to the delay inherent in frame threaded encoding, it makes
- * no sense to use the properties of the current frame anyway). */
+ /* This might unref frame. */
ret = ff_thread_video_encode_frame(avctx, avpkt, frame, &got_packet);
else {
- ret = codec->cb.encode(avctx, avpkt, frame, &got_packet);
- if (avctx->codec->type == AVMEDIA_TYPE_VIDEO && !ret && got_packet &&
- !(avctx->codec->capabilities & AV_CODEC_CAP_DELAY))
- avpkt->pts = avpkt->dts = frame->pts;
- }
-
- av_assert0(ret <= 0);
-
- emms_c();
-
- if (!ret && got_packet) {
- if (avpkt->data) {
- ret = av_packet_make_refcounted(avpkt);
- if (ret < 0)
- goto end;
- }
-
- if (frame && !(avctx->codec->capabilities & AV_CODEC_CAP_DELAY)) {
- if (avctx->codec->type == AVMEDIA_TYPE_AUDIO) {
- if (avpkt->pts == AV_NOPTS_VALUE)
- avpkt->pts = frame->pts;
- if (!avpkt->duration)
- avpkt->duration = ff_samples_to_time_base(avctx,
- frame->nb_samples);
- }
- }
- if (avctx->codec->type == AVMEDIA_TYPE_AUDIO) {
- avpkt->dts = avpkt->pts;
- }
+ ret = ff_encode_encode_cb(avctx, avpkt, frame, &got_packet);
}
if (avci->draining && !got_packet)
avci->draining_done = 1;
-end:
- if (ret < 0 || !got_packet)
- av_packet_unref(avpkt);
-
if (frame)
av_frame_unref(frame);
- if (got_packet)
- // Encoders must always return ref-counted buffers.
- // Side-data only packets have no data and can be not ref-counted.
- av_assert0(!avpkt->data || avpkt->buf);
-
return ret;
}
diff --git a/libavcodec/encode.h b/libavcodec/encode.h
index bc77918d8f..10c36435ad 100644
--- a/libavcodec/encode.h
+++ b/libavcodec/encode.h
@@ -75,4 +75,7 @@ int ff_alloc_packet(AVCodecContext *avctx, AVPacket *avpkt, int64_t size);
*/
int ff_encode_preinit(AVCodecContext *avctx);
+int ff_encode_encode_cb(AVCodecContext *avctx, AVPacket *avpkt,
+ const AVFrame *frame, int *got_packet);
+
#endif /* AVCODEC_ENCODE_H */
diff --git a/libavcodec/frame_thread_encoder.c b/libavcodec/frame_thread_encoder.c
index b5765b6343..0d8134b258 100644
--- a/libavcodec/frame_thread_encoder.c
+++ b/libavcodec/frame_thread_encoder.c
@@ -29,6 +29,7 @@
#include "libavutil/thread.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "encode.h"
#include "internal.h"
#include "pthread_internal.h"
#include "thread.h"
@@ -80,7 +81,7 @@ static void * attribute_align_arg worker(void *v){
ThreadContext *c = avctx->internal->frame_thread_encoder;
while (!atomic_load(&c->exit)) {
- int got_packet = 0, ret;
+ int ret;
AVPacket *pkt;
AVFrame *frame;
Task *task;
@@ -105,14 +106,7 @@ static void * attribute_align_arg worker(void *v){
frame = task->indata;
pkt = task->outdata;
- ret = ffcodec(avctx->codec)->cb.encode(avctx, pkt, frame, &got_packet);
- if(got_packet) {
- int ret2 = av_packet_make_refcounted(pkt);
- if (ret >= 0 && ret2 < 0)
- ret = ret2;
- pkt->pts = pkt->dts = frame->pts;
- }
- task->got_packet = got_packet;
+ ret = ff_encode_encode_cb(avctx, pkt, frame, &task->got_packet);
pthread_mutex_lock(&c->buffer_mutex);
av_frame_unref(frame);
pthread_mutex_unlock(&c->buffer_mutex);
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 07/11] avcodec/encode: Remove redundant check
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (4 preceding siblings ...)
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 06/11] avcodec/encode, frame_thread_encoder: Unify calling encode callback Andreas Rheinhardt
@ 2022-08-24 1:40 ` Andreas Rheinhardt
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 08/11] avcodec/(dca|tta|pcm-bluray|pcm-dvd|wavpack)enc: Set pts+dur generically Andreas Rheinhardt
` (14 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:40 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
frame is always set at this point for no-delay encoders.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/encode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/encode.c b/libavcodec/encode.c
index f7b13c8ba1..f66e2f9ba8 100644
--- a/libavcodec/encode.c
+++ b/libavcodec/encode.c
@@ -194,7 +194,7 @@ int ff_encode_encode_cb(AVCodecContext *avctx, AVPacket *avpkt,
if (avctx->codec->type == AVMEDIA_TYPE_VIDEO &&
!(avctx->codec->capabilities & AV_CODEC_CAP_DELAY))
avpkt->pts = avpkt->dts = frame->pts;
- if (frame && !(avctx->codec->capabilities & AV_CODEC_CAP_DELAY)) {
+ if (!(avctx->codec->capabilities & AV_CODEC_CAP_DELAY)) {
if (avctx->codec->type == AVMEDIA_TYPE_AUDIO) {
if (avpkt->pts == AV_NOPTS_VALUE)
avpkt->pts = frame->pts;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 08/11] avcodec/(dca|tta|pcm-bluray|pcm-dvd|wavpack)enc: Set pts+dur generically
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (5 preceding siblings ...)
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 07/11] avcodec/encode: Remove redundant check Andreas Rheinhardt
@ 2022-08-24 1:40 ` Andreas Rheinhardt
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 09/11] avcodec: Make ff_alloc_packet() based encoders accept user buffers Andreas Rheinhardt
` (13 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:40 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/dcaenc.c | 2 --
libavcodec/pcm-blurayenc.c | 2 --
libavcodec/pcm-dvdenc.c | 2 --
libavcodec/ttaenc.c | 2 --
libavcodec/wavpackenc.c | 2 --
5 files changed, 10 deletions(-)
diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c
index 2481c4d3ec..1ecfbb39e4 100644
--- a/libavcodec/dcaenc.c
+++ b/libavcodec/dcaenc.c
@@ -1215,8 +1215,6 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
flush_put_bits(&c->pb);
memset(put_bits_ptr(&c->pb), 0, put_bytes_left(&c->pb, 0));
- avpkt->pts = frame->pts;
- avpkt->duration = ff_samples_to_time_base(avctx, frame->nb_samples);
*got_packet_ptr = 1;
return 0;
}
diff --git a/libavcodec/pcm-blurayenc.c b/libavcodec/pcm-blurayenc.c
index 6a5cdb2dcd..4591ba3322 100644
--- a/libavcodec/pcm-blurayenc.c
+++ b/libavcodec/pcm-blurayenc.c
@@ -266,8 +266,6 @@ static int pcm_bluray_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
return AVERROR_BUG;
}
- avpkt->pts = frame->pts;
- avpkt->duration = ff_samples_to_time_base(avctx, frame->nb_samples);
*got_packet_ptr = 1;
return 0;
diff --git a/libavcodec/pcm-dvdenc.c b/libavcodec/pcm-dvdenc.c
index a7023d148f..e3104d6e12 100644
--- a/libavcodec/pcm-dvdenc.c
+++ b/libavcodec/pcm-dvdenc.c
@@ -167,8 +167,6 @@ static int pcm_dvd_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
break;
}
- avpkt->pts = frame->pts;
- avpkt->duration = ff_samples_to_time_base(avctx, frame->nb_samples);
*got_packet_ptr = 1;
return 0;
diff --git a/libavcodec/ttaenc.c b/libavcodec/ttaenc.c
index 25113d4a72..9cc86b558e 100644
--- a/libavcodec/ttaenc.c
+++ b/libavcodec/ttaenc.c
@@ -188,9 +188,7 @@ pkt_alloc:
put_bits32(&pb, av_crc(s->crc_table, UINT32_MAX, avpkt->data, out_bytes) ^ UINT32_MAX);
flush_put_bits(&pb);
- avpkt->pts = frame->pts;
avpkt->size = out_bytes + 4;
- avpkt->duration = ff_samples_to_time_base(avctx, frame->nb_samples);
*got_packet_ptr = 1;
return 0;
}
diff --git a/libavcodec/wavpackenc.c b/libavcodec/wavpackenc.c
index 7f7ed804ee..d980fdd430 100644
--- a/libavcodec/wavpackenc.c
+++ b/libavcodec/wavpackenc.c
@@ -2905,9 +2905,7 @@ static int wavpack_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
}
s->sample_index += frame->nb_samples;
- avpkt->pts = frame->pts;
avpkt->size = buf - avpkt->data;
- avpkt->duration = ff_samples_to_time_base(avctx, frame->nb_samples);
*got_packet_ptr = 1;
return 0;
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 09/11] avcodec: Make ff_alloc_packet() based encoders accept user buffers
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (6 preceding siblings ...)
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 08/11] avcodec/(dca|tta|pcm-bluray|pcm-dvd|wavpack)enc: Set pts+dur generically Andreas Rheinhardt
@ 2022-08-24 1:40 ` Andreas Rheinhardt
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 10/11] avcodec/encode: Fix outdated comment Andreas Rheinhardt
` (12 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:40 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Up until now, these encoders received non-refcounted packets
(whose data was owned by the corresponding AVCodecContext)
from ff_alloc_packet(); these packets were made refcounted lateron
by av_packet_make_refcounted() generically.
This commit makes these encoders accept user-supplied buffers by
replacing av_packet_make_refcounted() with an equivalent function
that is based upon get_encode_buffer().
(I am pretty certain that one can also set the flag for mpegvideo-
based encoders, but I want to double-check this later. What is certain
is that it reallocates the buffer owned by the AVCodecContext
which should maybe be moved to encode.c, so that proresenc_kostya.c
and ttaenc.c can make use of it, too.)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/aacenc.c | 3 ++-
libavcodec/alacenc.c | 2 +-
libavcodec/aliaspixenc.c | 1 +
libavcodec/asvenc.c | 2 ++
libavcodec/cfhdenc.c | 2 +-
libavcodec/cinepakenc.c | 1 +
libavcodec/encode.c | 19 ++++++++++++++++++-
libavcodec/ffv1enc.c | 3 ++-
libavcodec/flashsv2enc.c | 1 +
libavcodec/flashsvenc.c | 1 +
libavcodec/gif.c | 1 +
libavcodec/hapenc.c | 2 +-
libavcodec/huffyuvenc.c | 4 ++--
libavcodec/j2kenc.c | 1 +
libavcodec/lclenc.c | 2 +-
libavcodec/libfdk-aacenc.c | 3 ++-
libavcodec/libilbc.c | 1 +
libavcodec/libopencore-amr.c | 3 ++-
libavcodec/libopusenc.c | 3 ++-
libavcodec/libspeexenc.c | 2 +-
libavcodec/libtwolame.c | 2 +-
libavcodec/libvo-amrwbenc.c | 1 +
libavcodec/libxvid.c | 1 +
libavcodec/ljpegenc.c | 2 +-
libavcodec/magicyuvenc.c | 2 +-
libavcodec/mlpenc.c | 7 +++++--
libavcodec/mpegaudioenc_fixed.c | 1 +
libavcodec/mpegaudioenc_float.c | 1 +
libavcodec/opusenc.c | 3 ++-
libavcodec/pcxenc.c | 1 +
libavcodec/pngenc.c | 2 +-
libavcodec/proresenc_anatoliy.c | 4 ++--
libavcodec/qoienc.c | 2 +-
libavcodec/qtrleenc.c | 1 +
libavcodec/roqvideoenc.c | 1 +
libavcodec/rpzaenc.c | 1 +
libavcodec/sgienc.c | 1 +
libavcodec/smcenc.c | 1 +
libavcodec/snowenc.c | 1 +
libavcodec/sonic.c | 4 ++--
libavcodec/sunrastenc.c | 1 +
libavcodec/svq1enc.c | 1 +
libavcodec/targaenc.c | 1 +
libavcodec/tiffenc.c | 2 +-
libavcodec/ttaenc.c | 2 +-
libavcodec/utvideoenc.c | 2 +-
libavcodec/vorbisenc.c | 3 ++-
libavcodec/wavpackenc.c | 2 +-
libavcodec/wmaenc.c | 2 ++
libavcodec/xbmenc.c | 1 +
50 files changed, 83 insertions(+), 30 deletions(-)
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index 4f51485fc4..a0e5d2942e 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -1417,6 +1417,8 @@ const FFCodec ff_aac_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_AAC,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_SMALL_LAST_FRAME,
.priv_data_size = sizeof(AACEncContext),
.init = aac_encode_init,
FF_CODEC_ENCODE_CB(aac_encode_frame),
@@ -1424,7 +1426,6 @@ const FFCodec ff_aac_encoder = {
.defaults = aac_encode_defaults,
.p.supported_samplerates = ff_mpeg4audio_sample_rates,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
- .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
.p.priv_class = &aacenc_class,
diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c
index 10dab0a67c..20711d242f 100644
--- a/libavcodec/alacenc.c
+++ b/libavcodec/alacenc.c
@@ -654,12 +654,12 @@ const FFCodec ff_alac_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_ALAC,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
.priv_data_size = sizeof(AlacEncodeContext),
.p.priv_class = &alacenc_class,
.init = alac_encode_init,
FF_CODEC_ENCODE_CB(alac_encode_frame),
.close = alac_encode_close,
- .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
#if FF_API_OLD_CHANNEL_LAYOUT
.p.channel_layouts = alac_channel_layouts,
#endif
diff --git a/libavcodec/aliaspixenc.c b/libavcodec/aliaspixenc.c
index 9c43cfa9e7..ec1cba9a57 100644
--- a/libavcodec/aliaspixenc.c
+++ b/libavcodec/aliaspixenc.c
@@ -106,6 +106,7 @@ const FFCodec ff_alias_pix_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_ALIAS_PIX,
+ .p.capabilities = AV_CODEC_CAP_DR1,
FF_CODEC_ENCODE_CB(encode_frame),
.p.pix_fmts = (const enum AVPixelFormat[]) {
AV_PIX_FMT_BGR24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE
diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c
index 8b94868c93..4f14cbdb64 100644
--- a/libavcodec/asvenc.c
+++ b/libavcodec/asvenc.c
@@ -348,6 +348,7 @@ const FFCodec ff_asv1_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_ASV1,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(ASV1Context),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_frame),
@@ -362,6 +363,7 @@ const FFCodec ff_asv2_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_ASV2,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(ASV1Context),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_frame),
diff --git a/libavcodec/cfhdenc.c b/libavcodec/cfhdenc.c
index c2f42c14dd..75858624b4 100644
--- a/libavcodec/cfhdenc.c
+++ b/libavcodec/cfhdenc.c
@@ -851,12 +851,12 @@ const FFCodec ff_cfhd_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("GoPro CineForm HD"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_CFHD,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.priv_data_size = sizeof(CFHDEncContext),
.p.priv_class = &cfhd_class,
.init = cfhd_encode_init,
.close = cfhd_encode_close,
FF_CODEC_ENCODE_CB(cfhd_encode_frame),
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.pix_fmts = (const enum AVPixelFormat[]) {
AV_PIX_FMT_YUV422P10,
AV_PIX_FMT_GBRP12,
diff --git a/libavcodec/cinepakenc.c b/libavcodec/cinepakenc.c
index 5e59af1235..bff6833ceb 100644
--- a/libavcodec/cinepakenc.c
+++ b/libavcodec/cinepakenc.c
@@ -1219,6 +1219,7 @@ const FFCodec ff_cinepak_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Cinepak"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_CINEPAK,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(CinepakEncContext),
.init = cinepak_encode_init,
FF_CODEC_ENCODE_CB(cinepak_encode_frame),
diff --git a/libavcodec/encode.c b/libavcodec/encode.c
index f66e2f9ba8..2c02b24cf2 100644
--- a/libavcodec/encode.c
+++ b/libavcodec/encode.c
@@ -107,6 +107,23 @@ fail:
return ret;
}
+static int encode_make_refcounted(AVCodecContext *avctx, AVPacket *avpkt)
+{
+ uint8_t *data = avpkt->data;
+ int ret;
+
+ if (avpkt->buf)
+ return 0;
+
+ avpkt->data = NULL;
+ ret = ff_get_encode_buffer(avctx, avpkt, avpkt->size, 0);
+ if (ret < 0)
+ return ret;
+ memcpy(avpkt->data, data, avpkt->size);
+
+ return 0;
+}
+
/**
* Pad last frame with silence.
*/
@@ -184,7 +201,7 @@ int ff_encode_encode_cb(AVCodecContext *avctx, AVPacket *avpkt,
if (!ret && *got_packet) {
if (avpkt->data) {
- ret = av_packet_make_refcounted(avpkt);
+ ret = encode_make_refcounted(avctx, avpkt);
if (ret < 0)
goto unref;
// Date returned by encoders must always be ref-counted
diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c
index 90593fbaf1..abae3a89d1 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -1272,11 +1272,12 @@ const FFCodec ff_ffv1_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("FFmpeg video codec #1"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_FFV1,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_SLICE_THREADS,
.priv_data_size = sizeof(FFV1Context),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_frame),
.close = ff_ffv1_close,
- .p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_DELAY,
.p.pix_fmts = (const enum AVPixelFormat[]) {
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV444P,
AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV411P,
diff --git a/libavcodec/flashsv2enc.c b/libavcodec/flashsv2enc.c
index b2a15fd491..a924092c52 100644
--- a/libavcodec/flashsv2enc.c
+++ b/libavcodec/flashsv2enc.c
@@ -915,6 +915,7 @@ const FFCodec ff_flashsv2_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video Version 2"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_FLASHSV2,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(FlashSV2Context),
.init = flashsv2_encode_init,
FF_CODEC_ENCODE_CB(flashsv2_encode_frame),
diff --git a/libavcodec/flashsvenc.c b/libavcodec/flashsvenc.c
index 30c4e43154..e6c9f640ae 100644
--- a/libavcodec/flashsvenc.c
+++ b/libavcodec/flashsvenc.c
@@ -261,6 +261,7 @@ const FFCodec ff_flashsv_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_FLASHSV,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(FlashSVContext),
.init = flashsv_encode_init,
FF_CODEC_ENCODE_CB(flashsv_encode_frame),
diff --git a/libavcodec/gif.c b/libavcodec/gif.c
index 8e84b79b8c..7c6ee31f7b 100644
--- a/libavcodec/gif.c
+++ b/libavcodec/gif.c
@@ -557,6 +557,7 @@ const FFCodec ff_gif_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_GIF,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(GIFContext),
.init = gif_encode_init,
FF_CODEC_ENCODE_CB(gif_encode_frame),
diff --git a/libavcodec/hapenc.c b/libavcodec/hapenc.c
index 3dca25b74d..fc533164c4 100644
--- a/libavcodec/hapenc.c
+++ b/libavcodec/hapenc.c
@@ -351,9 +351,9 @@ const FFCodec ff_hap_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_HAP,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
.priv_data_size = sizeof(HapContext),
.p.priv_class = &hapenc_class,
- .p.capabilities = AV_CODEC_CAP_SLICE_THREADS,
.init = hap_init,
FF_CODEC_ENCODE_CB(hap_encode),
.close = hap_close,
diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c
index c585d007b4..9e4a1ddfba 100644
--- a/libavcodec/huffyuvenc.c
+++ b/libavcodec/huffyuvenc.c
@@ -1054,11 +1054,11 @@ const FFCodec ff_huffyuv_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Huffyuv / HuffYUV"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_HUFFYUV,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.priv_data_size = sizeof(HYuvContext),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_frame),
.close = encode_end,
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.priv_class = &normal_class,
.p.pix_fmts = (const enum AVPixelFormat[]){
AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24,
@@ -1073,11 +1073,11 @@ const FFCodec ff_ffvhuff_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Huffyuv FFmpeg variant"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_FFVHUFF,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.priv_data_size = sizeof(HYuvContext),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_frame),
.close = encode_end,
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.priv_class = &ff_class,
.p.pix_fmts = (const enum AVPixelFormat[]){
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P,
diff --git a/libavcodec/j2kenc.c b/libavcodec/j2kenc.c
index 5ef7f24b6d..5e6872080c 100644
--- a/libavcodec/j2kenc.c
+++ b/libavcodec/j2kenc.c
@@ -1835,6 +1835,7 @@ const FFCodec ff_jpeg2000_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_JPEG2000,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(Jpeg2000EncoderContext),
.init = j2kenc_init,
FF_CODEC_ENCODE_CB(encode_frame),
diff --git a/libavcodec/lclenc.c b/libavcodec/lclenc.c
index f08cec11f5..cbe336155e 100644
--- a/libavcodec/lclenc.c
+++ b/libavcodec/lclenc.c
@@ -156,11 +156,11 @@ const FFCodec ff_zlib_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) ZLIB"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_ZLIB,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.priv_data_size = sizeof(LclEncContext),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_frame),
.close = encode_end,
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
};
diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c
index 2ffbc180ba..f53f5e97a9 100644
--- a/libavcodec/libfdk-aacenc.c
+++ b/libavcodec/libfdk-aacenc.c
@@ -480,12 +480,13 @@ const FFCodec ff_libfdk_aac_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_AAC,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_SMALL_LAST_FRAME,
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
.priv_data_size = sizeof(AACContext),
.init = aac_encode_init,
FF_CODEC_ENCODE_CB(aac_encode_frame),
.close = aac_encode_close,
- .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_NONE },
.p.priv_class = &aac_enc_class,
diff --git a/libavcodec/libilbc.c b/libavcodec/libilbc.c
index 0b6b1fbb24..250c5fde5b 100644
--- a/libavcodec/libilbc.c
+++ b/libavcodec/libilbc.c
@@ -205,6 +205,7 @@ const FFCodec ff_libilbc_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_ILBC,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
.priv_data_size = sizeof(ILBCEncContext),
.init = ilbc_encode_init,
diff --git a/libavcodec/libopencore-amr.c b/libavcodec/libopencore-amr.c
index 014dd53fa5..46c8516010 100644
--- a/libavcodec/libopencore-amr.c
+++ b/libavcodec/libopencore-amr.c
@@ -294,12 +294,13 @@ const FFCodec ff_libopencore_amrnb_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_AMR_NB,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_SMALL_LAST_FRAME,
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
.priv_data_size = sizeof(AMRContext),
.init = amr_nb_encode_init,
FF_CODEC_ENCODE_CB(amr_nb_encode_frame),
.close = amr_nb_encode_close,
- .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SMALL_LAST_FRAME,
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_NONE },
.p.priv_class = &amrnb_class,
diff --git a/libavcodec/libopusenc.c b/libavcodec/libopusenc.c
index b8ab184109..dd4c5f3e8d 100644
--- a/libavcodec/libopusenc.c
+++ b/libavcodec/libopusenc.c
@@ -588,12 +588,13 @@ const FFCodec ff_libopus_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("libopus Opus"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_OPUS,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_SMALL_LAST_FRAME,
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
.priv_data_size = sizeof(LibopusEncContext),
.init = libopus_encode_init,
FF_CODEC_ENCODE_CB(libopus_encode),
.close = libopus_encode_close,
- .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SMALL_LAST_FRAME,
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_FLT,
AV_SAMPLE_FMT_NONE },
diff --git a/libavcodec/libspeexenc.c b/libavcodec/libspeexenc.c
index 9eab8f8af0..411d9f0290 100644
--- a/libavcodec/libspeexenc.c
+++ b/libavcodec/libspeexenc.c
@@ -353,12 +353,12 @@ const FFCodec ff_libspeex_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("libspeex Speex"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_SPEEX,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
.priv_data_size = sizeof(LibSpeexEncContext),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_frame),
.close = encode_close,
- .p.capabilities = AV_CODEC_CAP_DELAY,
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_NONE },
#if FF_API_OLD_CHANNEL_LAYOUT
diff --git a/libavcodec/libtwolame.c b/libavcodec/libtwolame.c
index 98df38d013..9929248485 100644
--- a/libavcodec/libtwolame.c
+++ b/libavcodec/libtwolame.c
@@ -214,12 +214,12 @@ const FFCodec ff_libtwolame_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("libtwolame MP2 (MPEG audio layer 2)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_MP2,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
.priv_data_size = sizeof(TWOLAMEContext),
.init = twolame_encode_init,
FF_CODEC_ENCODE_CB(twolame_encode_frame),
.close = twolame_encode_close,
- .p.capabilities = AV_CODEC_CAP_DELAY,
.defaults = twolame_defaults,
.p.priv_class = &twolame_class,
.p.sample_fmts = (const enum AVSampleFormat[]) {
diff --git a/libavcodec/libvo-amrwbenc.c b/libavcodec/libvo-amrwbenc.c
index e58c980b5c..3c94bcba32 100644
--- a/libavcodec/libvo-amrwbenc.c
+++ b/libavcodec/libvo-amrwbenc.c
@@ -146,6 +146,7 @@ const FFCodec ff_libvo_amrwbenc_encoder = {
"(Adaptive Multi-Rate Wide-Band)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_AMR_WB,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.p.priv_class = &amrwb_class,
.p.wrapper_name = "libvo_amrwbenc",
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
diff --git a/libavcodec/libxvid.c b/libavcodec/libxvid.c
index fb08d0991e..aed8699fe1 100644
--- a/libavcodec/libxvid.c
+++ b/libavcodec/libxvid.c
@@ -902,6 +902,7 @@ const FFCodec ff_libxvid_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("libxvidcore MPEG-4 part 2"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_MPEG4,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(struct xvid_context),
.init = xvid_encode_init,
FF_CODEC_ENCODE_CB(xvid_encode_frame),
diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c
index 26f42a2db6..7aab915d01 100644
--- a/libavcodec/ljpegenc.c
+++ b/libavcodec/ljpegenc.c
@@ -328,12 +328,12 @@ const FFCodec ff_ljpeg_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Lossless JPEG"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_LJPEG,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.priv_data_size = sizeof(LJpegEncContext),
.p.priv_class = &ljpeg_class,
.init = ljpeg_encode_init,
FF_CODEC_ENCODE_CB(ljpeg_encode_frame),
.close = ljpeg_encode_close,
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.pix_fmts = (const enum AVPixelFormat[]){
AV_PIX_FMT_BGR24 , AV_PIX_FMT_BGRA , AV_PIX_FMT_BGR0,
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
diff --git a/libavcodec/magicyuvenc.c b/libavcodec/magicyuvenc.c
index 7d77ef7bba..b2846948e6 100644
--- a/libavcodec/magicyuvenc.c
+++ b/libavcodec/magicyuvenc.c
@@ -569,12 +569,12 @@ const FFCodec ff_magicyuv_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_MAGICYUV,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.priv_data_size = sizeof(MagicYUVContext),
.p.priv_class = &magicyuv_class,
.init = magy_encode_init,
.close = magy_encode_close,
FF_CODEC_ENCODE_CB(magy_encode_frame),
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.pix_fmts = (const enum AVPixelFormat[]) {
AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P,
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8,
diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c
index c25f48fabe..c986a0395f 100644
--- a/libavcodec/mlpenc.c
+++ b/libavcodec/mlpenc.c
@@ -2213,11 +2213,12 @@ const FFCodec ff_mlp_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_MLP,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_EXPERIMENTAL,
.priv_data_size = sizeof(MLPEncodeContext),
.init = mlp_encode_init,
FF_CODEC_ENCODE_CB(mlp_encode_frame),
.close = mlp_encode_close,
- .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,
.p.sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE},
.p.supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0},
#if FF_API_OLD_CHANNEL_LAYOUT
@@ -2233,11 +2234,13 @@ const FFCodec ff_truehd_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("TrueHD"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_TRUEHD,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_SMALL_LAST_FRAME |
+ AV_CODEC_CAP_EXPERIMENTAL,
.priv_data_size = sizeof(MLPEncodeContext),
.init = mlp_encode_init,
FF_CODEC_ENCODE_CB(mlp_encode_frame),
.close = mlp_encode_close,
- .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,
.p.sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE},
.p.supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0},
#if FF_API_OLD_CHANNEL_LAYOUT
diff --git a/libavcodec/mpegaudioenc_fixed.c b/libavcodec/mpegaudioenc_fixed.c
index 0176011f26..1191bbc752 100644
--- a/libavcodec/mpegaudioenc_fixed.c
+++ b/libavcodec/mpegaudioenc_fixed.c
@@ -28,6 +28,7 @@ const FFCodec ff_mp2fixed_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("MP2 fixed point (MPEG audio layer 2)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_MP2,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(MpegAudioContext),
.init = MPA_encode_init,
FF_CODEC_ENCODE_CB(MPA_encode_frame),
diff --git a/libavcodec/mpegaudioenc_float.c b/libavcodec/mpegaudioenc_float.c
index 2bcad42e23..6a5bc59bf3 100644
--- a/libavcodec/mpegaudioenc_float.c
+++ b/libavcodec/mpegaudioenc_float.c
@@ -29,6 +29,7 @@ const FFCodec ff_mp2_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_MP2,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(MpegAudioContext),
.init = MPA_encode_init,
FF_CODEC_ENCODE_CB(MPA_encode_frame),
diff --git a/libavcodec/opusenc.c b/libavcodec/opusenc.c
index 703c802a5c..7380051a7d 100644
--- a/libavcodec/opusenc.c
+++ b/libavcodec/opusenc.c
@@ -730,6 +730,8 @@ const FFCodec ff_opus_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Opus"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_OPUS,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_EXPERIMENTAL,
.defaults = opusenc_defaults,
.p.priv_class = &opusenc_class,
.priv_data_size = sizeof(OpusEncContext),
@@ -737,7 +739,6 @@ const FFCodec ff_opus_encoder = {
FF_CODEC_ENCODE_CB(opus_encode_frame),
.close = opus_encode_end,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
- .p.capabilities = AV_CODEC_CAP_EXPERIMENTAL | AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
.p.supported_samplerates = (const int []){ 48000, 0 },
#if FF_API_OLD_CHANNEL_LAYOUT
.p.channel_layouts = (const uint64_t []){ AV_CH_LAYOUT_MONO,
diff --git a/libavcodec/pcxenc.c b/libavcodec/pcxenc.c
index 8d3178e335..1d344994de 100644
--- a/libavcodec/pcxenc.c
+++ b/libavcodec/pcxenc.c
@@ -197,6 +197,7 @@ const FFCodec ff_pcx_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_PCX,
+ .p.capabilities = AV_CODEC_CAP_DR1,
FF_CODEC_ENCODE_CB(pcx_encode_frame),
.p.pix_fmts = (const enum AVPixelFormat[]){
AV_PIX_FMT_RGB24,
diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c
index ca9873f673..7c1cc55c34 100644
--- a/libavcodec/pngenc.c
+++ b/libavcodec/pngenc.c
@@ -1196,11 +1196,11 @@ const FFCodec ff_png_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_PNG,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.priv_data_size = sizeof(PNGEncContext),
.init = png_enc_init,
.close = png_enc_close,
FF_CODEC_ENCODE_CB(encode_png),
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.pix_fmts = (const enum AVPixelFormat[]) {
AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,
AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE,
diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
index cfc735bcec..482f09415d 100644
--- a/libavcodec/proresenc_anatoliy.c
+++ b/libavcodec/proresenc_anatoliy.c
@@ -945,12 +945,12 @@ const FFCodec ff_prores_aw_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Apple ProRes"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_PRORES,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.p.pix_fmts = pix_fmts,
.priv_data_size = sizeof(ProresContext),
.init = prores_encode_init,
.close = prores_encode_close,
FF_CODEC_ENCODE_CB(prores_encode_frame),
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.priv_class = &prores_enc_class,
.p.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
@@ -961,12 +961,12 @@ const FFCodec ff_prores_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Apple ProRes"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_PRORES,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.p.pix_fmts = pix_fmts,
.priv_data_size = sizeof(ProresContext),
.init = prores_encode_init,
.close = prores_encode_close,
FF_CODEC_ENCODE_CB(prores_encode_frame),
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.priv_class = &prores_enc_class,
.p.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
diff --git a/libavcodec/qoienc.c b/libavcodec/qoienc.c
index 110297dbda..9a18c2a357 100644
--- a/libavcodec/qoienc.c
+++ b/libavcodec/qoienc.c
@@ -131,7 +131,7 @@ const FFCodec ff_qoi_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("QOI (Quite OK Image format) image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_QOI,
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
FF_CODEC_ENCODE_CB(qoi_encode_frame),
.p.pix_fmts = (const enum AVPixelFormat[]){
AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB24,
diff --git a/libavcodec/qtrleenc.c b/libavcodec/qtrleenc.c
index e0b1ecb9eb..3962c08356 100644
--- a/libavcodec/qtrleenc.c
+++ b/libavcodec/qtrleenc.c
@@ -404,6 +404,7 @@ const FFCodec ff_qtrle_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_QTRLE,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(QtrleEncContext),
.init = qtrle_encode_init,
FF_CODEC_ENCODE_CB(qtrle_encode_frame),
diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c
index ebbcb2128b..0a418c3b89 100644
--- a/libavcodec/roqvideoenc.c
+++ b/libavcodec/roqvideoenc.c
@@ -1123,6 +1123,7 @@ const FFCodec ff_roq_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("id RoQ video"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_ROQ,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(RoqEncContext),
.init = roq_encode_init,
FF_CODEC_ENCODE_CB(roq_encode_frame),
diff --git a/libavcodec/rpzaenc.c b/libavcodec/rpzaenc.c
index a470f5d101..e9f035c510 100644
--- a/libavcodec/rpzaenc.c
+++ b/libavcodec/rpzaenc.c
@@ -849,6 +849,7 @@ const FFCodec ff_rpza_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("QuickTime video (RPZA)"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_RPZA,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(RpzaContext),
.p.priv_class = &rpza_class,
.init = rpza_encode_init,
diff --git a/libavcodec/sgienc.c b/libavcodec/sgienc.c
index 7edc7cca83..109dbdc1fc 100644
--- a/libavcodec/sgienc.c
+++ b/libavcodec/sgienc.c
@@ -275,6 +275,7 @@ const FFCodec ff_sgi_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("SGI image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_SGI,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(SgiContext),
.p.priv_class = &sgi_class,
.init = encode_init,
diff --git a/libavcodec/smcenc.c b/libavcodec/smcenc.c
index 0b7b030ebe..f97e06c07c 100644
--- a/libavcodec/smcenc.c
+++ b/libavcodec/smcenc.c
@@ -553,6 +553,7 @@ const FFCodec ff_smc_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_SMC,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(SMCContext),
.init = smc_encode_init,
FF_CODEC_ENCODE_CB(smc_encode_frame),
diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c
index a295ff8085..351ee0abc4 100644
--- a/libavcodec/snowenc.c
+++ b/libavcodec/snowenc.c
@@ -1933,6 +1933,7 @@ const FFCodec ff_snow_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Snow"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_SNOW,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(SnowContext),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_frame),
diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c
index c635831358..2dc6ac3f2d 100644
--- a/libavcodec/sonic.c
+++ b/libavcodec/sonic.c
@@ -1096,11 +1096,11 @@ const FFCodec ff_sonic_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Sonic"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_SONIC,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,
.priv_data_size = sizeof(SonicContext),
.init = sonic_encode_init,
FF_CODEC_ENCODE_CB(sonic_encode_frame),
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
- .p.capabilities = AV_CODEC_CAP_EXPERIMENTAL,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
.close = sonic_encode_close,
};
@@ -1112,11 +1112,11 @@ const FFCodec ff_sonic_ls_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Sonic lossless"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_SONIC_LS,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,
.priv_data_size = sizeof(SonicContext),
.init = sonic_encode_init,
FF_CODEC_ENCODE_CB(sonic_encode_frame),
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
- .p.capabilities = AV_CODEC_CAP_EXPERIMENTAL,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
.close = sonic_encode_close,
};
diff --git a/libavcodec/sunrastenc.c b/libavcodec/sunrastenc.c
index 4fcc0e3309..2f0c033b46 100644
--- a/libavcodec/sunrastenc.c
+++ b/libavcodec/sunrastenc.c
@@ -213,6 +213,7 @@ const FFCodec ff_sunrast_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_SUNRAST,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(SUNRASTContext),
.init = sunrast_encode_init,
FF_CODEC_ENCODE_CB(sunrast_encode_frame),
diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c
index 36bc214d76..f92ede867c 100644
--- a/libavcodec/svq1enc.c
+++ b/libavcodec/svq1enc.c
@@ -682,6 +682,7 @@ const FFCodec ff_svq1_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_SVQ1,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(SVQ1EncContext),
.p.priv_class = &svq1enc_class,
.init = svq1_encode_init,
diff --git a/libavcodec/targaenc.c b/libavcodec/targaenc.c
index 7fb8e28c85..d93a698e24 100644
--- a/libavcodec/targaenc.c
+++ b/libavcodec/targaenc.c
@@ -207,6 +207,7 @@ const FFCodec ff_targa_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_TARGA,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(TargaContext),
.p.priv_class = &targa_class,
.init = targa_encode_init,
diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c
index dba0e89640..2dc31345d4 100644
--- a/libavcodec/tiffenc.c
+++ b/libavcodec/tiffenc.c
@@ -574,10 +574,10 @@ const FFCodec ff_tiff_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_TIFF,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.priv_data_size = sizeof(TiffEncoderContext),
.init = encode_init,
.close = encode_close,
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
FF_CODEC_ENCODE_CB(encode_frame),
.p.pix_fmts = (const enum AVPixelFormat[]) {
AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB48LE, AV_PIX_FMT_PAL8,
diff --git a/libavcodec/ttaenc.c b/libavcodec/ttaenc.c
index 9cc86b558e..20cdc4ec7d 100644
--- a/libavcodec/ttaenc.c
+++ b/libavcodec/ttaenc.c
@@ -205,11 +205,11 @@ const FFCodec ff_tta_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_TTA,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
.priv_data_size = sizeof(TTAEncContext),
.init = tta_encode_init,
.close = tta_encode_close,
FF_CODEC_ENCODE_CB(tta_encode_frame),
- .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_U8,
AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_S32,
diff --git a/libavcodec/utvideoenc.c b/libavcodec/utvideoenc.c
index f38db96e51..191d271ca2 100644
--- a/libavcodec/utvideoenc.c
+++ b/libavcodec/utvideoenc.c
@@ -648,12 +648,12 @@ const FFCodec ff_utvideo_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Ut Video"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_UTVIDEO,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
.priv_data_size = sizeof(UtvideoContext),
.p.priv_class = &utvideo_class,
.init = utvideo_encode_init,
FF_CODEC_ENCODE_CB(utvideo_encode_frame),
.close = utvideo_encode_close,
- .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
.p.pix_fmts = (const enum AVPixelFormat[]) {
AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P,
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE
diff --git a/libavcodec/vorbisenc.c b/libavcodec/vorbisenc.c
index c8bbbf02d8..20abb2a670 100644
--- a/libavcodec/vorbisenc.c
+++ b/libavcodec/vorbisenc.c
@@ -1300,11 +1300,12 @@ const FFCodec ff_vorbis_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Vorbis"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_VORBIS,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_EXPERIMENTAL,
.priv_data_size = sizeof(vorbis_enc_context),
.init = vorbis_encode_init,
FF_CODEC_ENCODE_CB(vorbis_encode_frame),
.close = vorbis_encode_close,
- .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
diff --git a/libavcodec/wavpackenc.c b/libavcodec/wavpackenc.c
index d980fdd430..12ee56fcc3 100644
--- a/libavcodec/wavpackenc.c
+++ b/libavcodec/wavpackenc.c
@@ -2964,12 +2964,12 @@ const FFCodec ff_wavpack_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("WavPack"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_WAVPACK,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
.priv_data_size = sizeof(WavPackEncodeContext),
.p.priv_class = &wavpack_encoder_class,
.init = wavpack_encode_init,
FF_CODEC_ENCODE_CB(wavpack_encode_frame),
.close = wavpack_encode_close,
- .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
.p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_U8P,
AV_SAMPLE_FMT_S16P,
AV_SAMPLE_FMT_S32P,
diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c
index 03a5d788c8..99f0100dc1 100644
--- a/libavcodec/wmaenc.c
+++ b/libavcodec/wmaenc.c
@@ -438,6 +438,7 @@ const FFCodec ff_wmav1_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_WMAV1,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(WMACodecContext),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_superframe),
@@ -453,6 +454,7 @@ const FFCodec ff_wmav2_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),
.p.type = AVMEDIA_TYPE_AUDIO,
.p.id = AV_CODEC_ID_WMAV2,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(WMACodecContext),
.init = encode_init,
FF_CODEC_ENCODE_CB(encode_superframe),
diff --git a/libavcodec/xbmenc.c b/libavcodec/xbmenc.c
index 8369f5370c..d4b8a542d9 100644
--- a/libavcodec/xbmenc.c
+++ b/libavcodec/xbmenc.c
@@ -82,6 +82,7 @@ const FFCodec ff_xbm_encoder = {
.p.long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_XBM,
+ .p.capabilities = AV_CODEC_CAP_DR1,
FF_CODEC_ENCODE_CB(xbm_encode_frame),
.p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE,
AV_PIX_FMT_NONE },
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 10/11] avcodec/encode: Fix outdated comment
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (7 preceding siblings ...)
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 09/11] avcodec: Make ff_alloc_packet() based encoders accept user buffers Andreas Rheinhardt
@ 2022-08-24 1:40 ` Andreas Rheinhardt
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 11/11] avcodec/internal: " Andreas Rheinhardt
` (11 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:40 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/encode.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/encode.h b/libavcodec/encode.h
index 10c36435ad..e5d6b754b1 100644
--- a/libavcodec/encode.h
+++ b/libavcodec/encode.h
@@ -57,7 +57,7 @@ int ff_encode_alloc_frame(AVCodecContext *avctx, AVFrame *frame);
/**
* Check AVPacket size and allocate data.
*
- * Encoders supporting FFCodec.encode2() can use this as a convenience to
+ * Encoders of type FF_CODEC_CB_TYPE_ENCODE can use this as a convenience to
* obtain a big enough buffer for the encoded bitstream.
*
* @param avctx the AVCodecContext of the encoder
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 11/11] avcodec/internal: Fix outdated comment
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (8 preceding siblings ...)
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 10/11] avcodec/encode: Fix outdated comment Andreas Rheinhardt
@ 2022-08-24 1:40 ` Andreas Rheinhardt
2022-08-26 0:27 ` [FFmpeg-devel] [PATCH v2] " Andreas Rheinhardt
2022-08-25 2:07 ` [FFmpeg-devel] [PATCH 12/21] avcodec/roqvideoenc: Remove internal.h inclusion Andreas Rheinhardt
` (10 subsequent siblings)
20 siblings, 1 reply; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-24 1:40 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
The legacy API is long gone.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/internal.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 52e7f111c1..61d395e8c9 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -137,7 +137,8 @@ typedef struct AVCodecInternal {
int draining;
/**
- * buffers for using new encode/decode API through legacy API
+ * Temporary buffers to hold newly received packets and newly decoded frames
+ * for decoding or newly received frames and newly encoded packets for encoding.
*/
AVPacket *buffer_pkt;
AVFrame *buffer_frame;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH v2] avcodec/internal: Fix outdated comment
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 11/11] avcodec/internal: " Andreas Rheinhardt
@ 2022-08-26 0:27 ` Andreas Rheinhardt
0 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-26 0:27 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
The legacy API is long gone.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
Now with a more concise description than v1.
libavcodec/internal.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 52e7f111c1..e8c24d81bd 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -137,7 +137,7 @@ typedef struct AVCodecInternal {
int draining;
/**
- * buffers for using new encode/decode API through legacy API
+ * Temporary buffers for newly received or not yet output packets/frames.
*/
AVPacket *buffer_pkt;
AVFrame *buffer_frame;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 12/21] avcodec/roqvideoenc: Remove internal.h inclusion
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (9 preceding siblings ...)
2022-08-24 1:40 ` [FFmpeg-devel] [PATCH 11/11] avcodec/internal: " Andreas Rheinhardt
@ 2022-08-25 2:07 ` Andreas Rheinhardt
2022-08-27 12:13 ` Andreas Rheinhardt
2022-08-25 2:07 ` [FFmpeg-devel] [PATCH 13/21] avcodec/internal: Move ff_get_format() to decode.h Andreas Rheinhardt
` (9 subsequent siblings)
20 siblings, 1 reply; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 2:07 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Possible since c954cf1e1b766a0d1992d5be0a8be0055a8e1a6a.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/roqvideoenc.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c
index 0a418c3b89..9f03107d81 100644
--- a/libavcodec/roqvideoenc.c
+++ b/libavcodec/roqvideoenc.c
@@ -64,7 +64,6 @@
#include "codec_internal.h"
#include "elbg.h"
#include "encode.h"
-#include "internal.h"
#include "mathops.h"
#define CHROMA_BIAS 1
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 12/21] avcodec/roqvideoenc: Remove internal.h inclusion
2022-08-25 2:07 ` [FFmpeg-devel] [PATCH 12/21] avcodec/roqvideoenc: Remove internal.h inclusion Andreas Rheinhardt
@ 2022-08-27 12:13 ` Andreas Rheinhardt
0 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-27 12:13 UTC (permalink / raw)
To: ffmpeg-devel
Andreas Rheinhardt:
> Possible since c954cf1e1b766a0d1992d5be0a8be0055a8e1a6a.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> ---
> libavcodec/roqvideoenc.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c
> index 0a418c3b89..9f03107d81 100644
> --- a/libavcodec/roqvideoenc.c
> +++ b/libavcodec/roqvideoenc.c
> @@ -64,7 +64,6 @@
> #include "codec_internal.h"
> #include "elbg.h"
> #include "encode.h"
> -#include "internal.h"
> #include "mathops.h"
>
> #define CHROMA_BIAS 1
Will apply the rest of this patchset tomorrow.
- Andreas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 13/21] avcodec/internal: Move ff_get_format() to decode.h
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (10 preceding siblings ...)
2022-08-25 2:07 ` [FFmpeg-devel] [PATCH 12/21] avcodec/roqvideoenc: Remove internal.h inclusion Andreas Rheinhardt
@ 2022-08-25 2:07 ` Andreas Rheinhardt
2022-08-25 2:07 ` [FFmpeg-devel] [PATCH 14/21] avcodec/internal: Move ff_reget_buffer() " Andreas Rheinhardt
` (8 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 2:07 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/decode.h | 13 +++++++++++++
libavcodec/h263dec.c | 1 +
libavcodec/internal.h | 13 -------------
libavcodec/mediacodecdec_common.c | 1 +
libavcodec/pthread_frame.c | 1 +
libavcodec/utils.c | 1 +
libavcodec/vc1dec.c | 1 +
libavcodec/vp8.c | 1 +
8 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/libavcodec/decode.h b/libavcodec/decode.h
index f7828fbff4..81767f73fd 100644
--- a/libavcodec/decode.h
+++ b/libavcodec/decode.h
@@ -99,4 +99,17 @@ int ff_copy_palette(void *dst, const AVPacket *src, void *logctx);
*/
int ff_decode_preinit(AVCodecContext *avctx);
+/**
+ * Select the (possibly hardware accelerated) pixel format.
+ * This is a wrapper around AVCodecContext.get_format() and should be used
+ * instead of calling get_format() directly.
+ *
+ * The list of pixel formats must contain at least one valid entry, and is
+ * terminated with AV_PIX_FMT_NONE. If it is possible to decode to software,
+ * the last entry in the list must be the most accurate software format.
+ * If it is not possible to decode to software, AVCodecContext.sw_pix_fmt
+ * must be set before calling this function.
+ */
+int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt);
+
#endif /* AVCODEC_DECODE_H */
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index 8728cfa6e9..87fbf87c8a 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -31,6 +31,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "error_resilience.h"
#include "flvdec.h"
#include "h263.h"
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 61d395e8c9..03b200c444 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -249,19 +249,6 @@ int ff_set_sar(AVCodecContext *avctx, AVRational sar);
int ff_side_data_update_matrix_encoding(AVFrame *frame,
enum AVMatrixEncoding matrix_encoding);
-/**
- * Select the (possibly hardware accelerated) pixel format.
- * This is a wrapper around AVCodecContext.get_format() and should be used
- * instead of calling get_format() directly.
- *
- * The list of pixel formats must contain at least one valid entry, and is
- * terminated with AV_PIX_FMT_NONE. If it is possible to decode to software,
- * the last entry in the list must be the most accurate software format.
- * If it is not possible to decode to software, AVCodecContext.sw_pix_fmt
- * must be set before calling this function.
- */
-int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt);
-
/**
* Add a CPB properties side data to an encoding context.
*/
diff --git a/libavcodec/mediacodecdec_common.c b/libavcodec/mediacodecdec_common.c
index cb18aed401..7952c3c34c 100644
--- a/libavcodec/mediacodecdec_common.c
+++ b/libavcodec/mediacodecdec_common.c
@@ -32,6 +32,7 @@
#include "libavutil/timestamp.h"
#include "avcodec.h"
+#include "decode.h"
#include "internal.h"
#include "mediacodec.h"
diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
index 726bd1bcc7..08a6f98898 100644
--- a/libavcodec/pthread_frame.c
+++ b/libavcodec/pthread_frame.c
@@ -29,6 +29,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "hwconfig.h"
#include "internal.h"
#include "pthread_internal.h"
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index e73e3a7d08..2f57418ff7 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -36,6 +36,7 @@
#include "avcodec.h"
#include "codec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "hwconfig.h"
#include "thread.h"
#include "threadframe.h"
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index b53490b3ab..065b43cb11 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -31,6 +31,7 @@
#include "avcodec.h"
#include "blockdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "hwconfig.h"
#include "internal.h"
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index 7a151feb79..6bf846dbfe 100644
--- a/libavcodec/vp8.c
+++ b/libavcodec/vp8.c
@@ -31,6 +31,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "hwconfig.h"
#include "internal.h"
#include "mathops.h"
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 14/21] avcodec/internal: Move ff_reget_buffer() to decode.h
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (11 preceding siblings ...)
2022-08-25 2:07 ` [FFmpeg-devel] [PATCH 13/21] avcodec/internal: Move ff_get_format() to decode.h Andreas Rheinhardt
@ 2022-08-25 2:07 ` Andreas Rheinhardt
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 15/21] avcodec/internal: Move ff_get_buffer() " Andreas Rheinhardt
` (7 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 2:07 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Only used by decoders.
Also clean up the headers a bit while removing now unnecessary
internal.h inclusions.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/aasc.c | 4 +---
libavcodec/anm.c | 2 +-
libavcodec/ansi.c | 1 +
libavcodec/argo.c | 5 +----
libavcodec/avs.c | 1 +
libavcodec/bethsoftvideo.c | 2 +-
libavcodec/bink.c | 1 +
libavcodec/c93.c | 1 +
libavcodec/cdgraphics.c | 1 +
libavcodec/cdtoons.c | 2 +-
libavcodec/cinepak.c | 2 --
libavcodec/clearvideo.c | 1 +
libavcodec/cpia.c | 4 ++--
libavcodec/cscd.c | 4 +---
libavcodec/decode.h | 7 +++++++
libavcodec/dsicinvideo.c | 2 +-
libavcodec/fic.c | 2 +-
libavcodec/flashsv.c | 1 +
libavcodec/flicvideo.c | 4 +---
libavcodec/gifdec.c | 1 +
libavcodec/imx.c | 1 -
libavcodec/indeo2.c | 3 +--
libavcodec/internal.h | 7 -------
libavcodec/jvdec.c | 1 +
libavcodec/lscrdec.c | 2 +-
libavcodec/midivid.c | 7 +------
libavcodec/mmvideo.c | 2 +-
libavcodec/mobiclip.c | 4 ++--
libavcodec/motionpixels.c | 2 +-
libavcodec/msrle.c | 3 ---
libavcodec/mss1.c | 2 +-
libavcodec/mss2.c | 1 +
libavcodec/mss3.c | 2 +-
libavcodec/mss4.c | 2 +-
libavcodec/msvideo1.c | 3 ---
libavcodec/nuv.c | 1 +
libavcodec/pafvideo.c | 2 +-
libavcodec/qtrle.c | 3 ---
libavcodec/roqvideodec.c | 3 +--
libavcodec/rpza.c | 5 +----
libavcodec/rscc.c | 1 -
libavcodec/scpr.c | 1 +
libavcodec/screenpresso.c | 3 +--
libavcodec/smacker.c | 1 +
libavcodec/smc.c | 4 ----
libavcodec/tiertexseqv.c | 1 +
libavcodec/truemotion1.c | 1 +
libavcodec/truemotion2.c | 2 +-
libavcodec/tscc.c | 4 ----
libavcodec/tscc2.c | 2 +-
libavcodec/ulti.c | 6 +-----
libavcodec/vmnc.c | 6 +-----
libavcodec/vqavideo.c | 1 +
libavcodec/wcmv.c | 4 +---
libavcodec/xxan.c | 2 +-
libavcodec/yop.c | 3 +--
56 files changed, 55 insertions(+), 91 deletions(-)
diff --git a/libavcodec/aasc.c b/libavcodec/aasc.c
index d6afa35b86..db9fc834b7 100644
--- a/libavcodec/aasc.c
+++ b/libavcodec/aasc.c
@@ -24,13 +24,11 @@
* Autodesk RLE Video Decoder by Konstantin Shishkov
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "msrledec.h"
typedef struct AascContext {
diff --git a/libavcodec/anm.c b/libavcodec/anm.c
index a66ee1e65b..c7256fe6d3 100644
--- a/libavcodec/anm.c
+++ b/libavcodec/anm.c
@@ -27,7 +27,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct AnmContext {
AVFrame *frame;
diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c
index a6b15c728f..1cd9ebceba 100644
--- a/libavcodec/ansi.c
+++ b/libavcodec/ansi.c
@@ -31,6 +31,7 @@
#include "avcodec.h"
#include "cga_data.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#define ATTR_BOLD 0x01 /**< Bold/Bright-foreground (mode 1) */
diff --git a/libavcodec/argo.c b/libavcodec/argo.c
index b772e9c565..a863373af2 100644
--- a/libavcodec/argo.c
+++ b/libavcodec/argo.c
@@ -19,18 +19,15 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
-#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct ArgoContext {
GetByteContext gb;
diff --git a/libavcodec/avs.c b/libavcodec/avs.c
index 20c07aeeed..86a41a31be 100644
--- a/libavcodec/avs.c
+++ b/libavcodec/avs.c
@@ -21,6 +21,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
diff --git a/libavcodec/bethsoftvideo.c b/libavcodec/bethsoftvideo.c
index a2e8f412d6..ea5016bae5 100644
--- a/libavcodec/bethsoftvideo.c
+++ b/libavcodec/bethsoftvideo.c
@@ -32,7 +32,7 @@
#include "bethsoftvideo.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct BethsoftvidContext {
AVFrame *frame;
diff --git a/libavcodec/bink.c b/libavcodec/bink.c
index 09be0488de..e6d9bdc2fa 100644
--- a/libavcodec/bink.c
+++ b/libavcodec/bink.c
@@ -32,6 +32,7 @@
#include "binkdsp.h"
#include "blockdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "hpeldsp.h"
#include "internal.h"
diff --git a/libavcodec/c93.c b/libavcodec/c93.c
index 196b95e428..871ae589e6 100644
--- a/libavcodec/c93.c
+++ b/libavcodec/c93.c
@@ -22,6 +22,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
typedef struct C93DecoderContext {
diff --git a/libavcodec/cdgraphics.c b/libavcodec/cdgraphics.c
index 0070d9b8e6..240c57d5f8 100644
--- a/libavcodec/cdgraphics.c
+++ b/libavcodec/cdgraphics.c
@@ -22,6 +22,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
/**
diff --git a/libavcodec/cdtoons.c b/libavcodec/cdtoons.c
index c1b4577dca..00fbe58c26 100644
--- a/libavcodec/cdtoons.c
+++ b/libavcodec/cdtoons.c
@@ -32,7 +32,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define CDTOONS_HEADER_SIZE 44
#define CDTOONS_MAX_SPRITES 1200
diff --git a/libavcodec/cinepak.c b/libavcodec/cinepak.c
index 4cbbac8e36..480afbc81d 100644
--- a/libavcodec/cinepak.c
+++ b/libavcodec/cinepak.c
@@ -34,7 +34,6 @@
*/
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "libavutil/common.h"
@@ -42,7 +41,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
typedef uint8_t cvid_codebook[12];
diff --git a/libavcodec/clearvideo.c b/libavcodec/clearvideo.c
index 47570a95c2..4e5fc02e23 100644
--- a/libavcodec/clearvideo.c
+++ b/libavcodec/clearvideo.c
@@ -30,6 +30,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "idctdsp.h"
#include "internal.h"
diff --git a/libavcodec/cpia.c b/libavcodec/cpia.c
index 8b8c59f40f..c798038161 100644
--- a/libavcodec/cpia.c
+++ b/libavcodec/cpia.c
@@ -22,10 +22,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "get_bits.h"
-#include "internal.h"
+#include "decode.h"
#define FRAME_HEADER_SIZE 64
diff --git a/libavcodec/cscd.c b/libavcodec/cscd.c
index 64d29a942c..51756b6d12 100644
--- a/libavcodec/cscd.c
+++ b/libavcodec/cscd.c
@@ -18,12 +18,10 @@
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/common.h"
#if CONFIG_ZLIB
diff --git a/libavcodec/decode.h b/libavcodec/decode.h
index 81767f73fd..d9014d3e0f 100644
--- a/libavcodec/decode.h
+++ b/libavcodec/decode.h
@@ -112,4 +112,11 @@ int ff_decode_preinit(AVCodecContext *avctx);
*/
int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt);
+#define FF_REGET_BUFFER_FLAG_READONLY 1 ///< the returned buffer does not need to be writable
+/**
+ * Identical in function to ff_get_buffer(), except it reuses the existing buffer
+ * if available.
+ */
+int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame, int flags);
+
#endif /* AVCODEC_DECODE_H */
diff --git a/libavcodec/dsicinvideo.c b/libavcodec/dsicinvideo.c
index e8d79bfb5d..32efefade1 100644
--- a/libavcodec/dsicinvideo.c
+++ b/libavcodec/dsicinvideo.c
@@ -27,7 +27,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef enum CinVideoBitmapIndex {
CIN_CUR_BMP = 0, /* current */
diff --git a/libavcodec/fic.c b/libavcodec/fic.c
index 3a0211ebe0..cb536cf36e 100644
--- a/libavcodec/fic.c
+++ b/libavcodec/fic.c
@@ -26,7 +26,7 @@
#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "golomb.h"
diff --git a/libavcodec/flashsv.c b/libavcodec/flashsv.c
index 8215d04ce8..11d6657394 100644
--- a/libavcodec/flashsv.c
+++ b/libavcodec/flashsv.c
@@ -43,6 +43,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
#include "zlib_wrapper.h"
diff --git a/libavcodec/flicvideo.c b/libavcodec/flicvideo.c
index 50b317d974..e141d90a37 100644
--- a/libavcodec/flicvideo.c
+++ b/libavcodec/flicvideo.c
@@ -34,15 +34,13 @@
* in which the header is only 12 bytes.
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mathops.h"
#define FLI_256_COLOR 4
diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c
index 84ff8aa789..15d4f9743f 100644
--- a/libavcodec/gifdec.c
+++ b/libavcodec/gifdec.c
@@ -26,6 +26,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "lzw.h"
#include "gif.h"
diff --git a/libavcodec/imx.c b/libavcodec/imx.c
index 4856de0c70..68fdbc4ae9 100644
--- a/libavcodec/imx.c
+++ b/libavcodec/imx.c
@@ -23,7 +23,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
typedef struct SimbiosisIMXContext {
AVFrame *frame;
diff --git a/libavcodec/indeo2.c b/libavcodec/indeo2.c
index 9bad9bf0b3..8a4b1a584a 100644
--- a/libavcodec/indeo2.c
+++ b/libavcodec/indeo2.c
@@ -30,10 +30,9 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "indeo2data.h"
-#include "internal.h"
-#include "mathops.h"
typedef struct Ir2Context{
AVCodecContext *avctx;
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 03b200c444..fde0cc0ad6 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -220,13 +220,6 @@ static av_always_inline float ff_exp2fi(int x) {
*/
int ff_get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags);
-#define FF_REGET_BUFFER_FLAG_READONLY 1 ///< the returned buffer does not need to be writable
-/**
- * Identical in function to ff_get_buffer(), except it reuses the existing buffer
- * if available.
- */
-int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame, int flags);
-
int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx);
int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec);
diff --git a/libavcodec/jvdec.c b/libavcodec/jvdec.c
index bca2603330..420a00a790 100644
--- a/libavcodec/jvdec.c
+++ b/libavcodec/jvdec.c
@@ -30,6 +30,7 @@
#include "avcodec.h"
#include "blockdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
diff --git a/libavcodec/lscrdec.c b/libavcodec/lscrdec.c
index 0d6b29cced..cd7dc8b2b7 100644
--- a/libavcodec/lscrdec.c
+++ b/libavcodec/lscrdec.c
@@ -29,7 +29,7 @@
#include "bytestream.h"
#include "codec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "packet.h"
#include "png.h"
#include "pngdsp.h"
diff --git a/libavcodec/midivid.c b/libavcodec/midivid.c
index 7448c8c797..49f31b0fa7 100644
--- a/libavcodec/midivid.c
+++ b/libavcodec/midivid.c
@@ -19,13 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
-#include "libavutil/intreadwrite.h"
#include "libavutil/mem.h"
#define BITSTREAM_READER_LE
@@ -33,7 +28,7 @@
#include "get_bits.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct MidiVidContext {
GetByteContext gb;
diff --git a/libavcodec/mmvideo.c b/libavcodec/mmvideo.c
index 85e126b17e..97e55119e4 100644
--- a/libavcodec/mmvideo.c
+++ b/libavcodec/mmvideo.c
@@ -35,7 +35,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define MM_PREAMBLE_SIZE 6
diff --git a/libavcodec/mobiclip.c b/libavcodec/mobiclip.c
index b5ec806e89..b99b070c56 100644
--- a/libavcodec/mobiclip.c
+++ b/libavcodec/mobiclip.c
@@ -27,12 +27,12 @@
#include "libavutil/thread.h"
#include "avcodec.h"
-#include "bytestream.h"
#include "bswapdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "golomb.h"
-#include "internal.h"
+#include "mathops.h"
#define MOBI_RL_VLC_BITS 12
#define MOBI_MV_VLC_BITS 6
diff --git a/libavcodec/motionpixels.c b/libavcodec/motionpixels.c
index 8b4f5c1017..51e22c04c8 100644
--- a/libavcodec/motionpixels.c
+++ b/libavcodec/motionpixels.c
@@ -27,7 +27,7 @@
#include "get_bits.h"
#include "bswapdsp.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define MAX_HUFF_CODES 16
diff --git a/libavcodec/msrle.c b/libavcodec/msrle.c
index 72134bc4a6..447d18002c 100644
--- a/libavcodec/msrle.c
+++ b/libavcodec/msrle.c
@@ -28,14 +28,11 @@
* The MS RLE decoder outputs PAL8 colorspace data.
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "msrledec.h"
#include "libavutil/imgutils.h"
diff --git a/libavcodec/mss1.c b/libavcodec/mss1.c
index d130a8f29c..8a5f00674a 100644
--- a/libavcodec/mss1.c
+++ b/libavcodec/mss1.c
@@ -26,7 +26,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mss12.h"
typedef struct MSS1Context {
diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c
index 6019368e07..f7dade4a29 100644
--- a/libavcodec/mss2.c
+++ b/libavcodec/mss2.c
@@ -25,6 +25,7 @@
#include "libavutil/avassert.h"
#include "codec_internal.h"
+#include "decode.h"
#include "error_resilience.h"
#include "internal.h"
#include "mpeg_er.h"
diff --git a/libavcodec/mss3.c b/libavcodec/mss3.c
index 2e331ac802..0464bd12a6 100644
--- a/libavcodec/mss3.c
+++ b/libavcodec/mss3.c
@@ -27,7 +27,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mathops.h"
#include "mss34dsp.h"
diff --git a/libavcodec/mss4.c b/libavcodec/mss4.c
index 53b7910097..21e0536319 100644
--- a/libavcodec/mss4.c
+++ b/libavcodec/mss4.c
@@ -31,8 +31,8 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "jpegtables.h"
#include "mss34dsp.h"
#include "unary.h"
diff --git a/libavcodec/msvideo1.c b/libavcodec/msvideo1.c
index 8db31676f0..aeb3027b5f 100644
--- a/libavcodec/msvideo1.c
+++ b/libavcodec/msvideo1.c
@@ -26,8 +26,6 @@
* http://www.pcisys.net/~melanson/codecs/
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "libavutil/internal.h"
@@ -35,7 +33,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define PALETTE_COUNT 256
#define CHECK_STREAM_PTR(n) \
diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c
index 3f03775b7f..c404bd8cf0 100644
--- a/libavcodec/nuv.c
+++ b/libavcodec/nuv.c
@@ -30,6 +30,7 @@
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "idctdsp.h"
#include "internal.h"
#include "rtjpeg.h"
diff --git a/libavcodec/pafvideo.c b/libavcodec/pafvideo.c
index d9fbd19543..cb57b2a5a6 100644
--- a/libavcodec/pafvideo.c
+++ b/libavcodec/pafvideo.c
@@ -25,7 +25,7 @@
#include "bytestream.h"
#include "copy_block.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static const uint8_t block_sequences[16][8] = {
diff --git a/libavcodec/qtrle.c b/libavcodec/qtrle.c
index 2c070c0bc2..569c68359b 100644
--- a/libavcodec/qtrle.c
+++ b/libavcodec/qtrle.c
@@ -31,15 +31,12 @@
* data. 24-bit data is RGB24 and 32-bit data is RGB32.
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "avcodec.h"
#include "decode.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
typedef struct QtrleContext {
AVCodecContext *avctx;
diff --git a/libavcodec/roqvideodec.c b/libavcodec/roqvideodec.c
index 4fbb0ca94d..2f7f91d41f 100644
--- a/libavcodec/roqvideodec.c
+++ b/libavcodec/roqvideodec.c
@@ -26,12 +26,11 @@
*/
#include "libavutil/avassert.h"
-#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "roqvideo.h"
static void roqvideo_decode_frame(RoqContext *ri, GetByteContext *gb)
diff --git a/libavcodec/rpza.c b/libavcodec/rpza.c
index d5ece16c32..f9ab3a7647 100644
--- a/libavcodec/rpza.c
+++ b/libavcodec/rpza.c
@@ -35,15 +35,12 @@
*/
#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
#include "libavutil/internal.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct RpzaContext {
diff --git a/libavcodec/rscc.c b/libavcodec/rscc.c
index eff4f87750..e74f2defe7 100644
--- a/libavcodec/rscc.c
+++ b/libavcodec/rscc.c
@@ -45,7 +45,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define TILE_SIZE 8
diff --git a/libavcodec/scpr.c b/libavcodec/scpr.c
index ed129a507d..ff78041386 100644
--- a/libavcodec/scpr.c
+++ b/libavcodec/scpr.c
@@ -27,6 +27,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "scpr.h"
#include "scpr3.h"
diff --git a/libavcodec/screenpresso.c b/libavcodec/screenpresso.c
index f5bc46ff99..a5ca32765f 100644
--- a/libavcodec/screenpresso.c
+++ b/libavcodec/screenpresso.c
@@ -34,7 +34,6 @@
*/
#include <stdint.h>
-#include <string.h>
#include <zlib.h>
#include "libavutil/imgutils.h"
@@ -43,7 +42,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct ScreenpressoContext {
AVFrame *current;
diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c
index 06af0fb7b6..5ef84a068f 100644
--- a/libavcodec/smacker.c
+++ b/libavcodec/smacker.c
@@ -51,6 +51,7 @@
#define BITSTREAM_READER_LE
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
#include "mathops.h"
diff --git a/libavcodec/smc.c b/libavcodec/smc.c
index 28dc2b4d3c..c4364cfe8c 100644
--- a/libavcodec/smc.c
+++ b/libavcodec/smc.c
@@ -28,16 +28,12 @@
* The SMC decoder outputs PAL8 colorspace data.
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
-#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define CPAIR 2
#define CQUAD 4
diff --git a/libavcodec/tiertexseqv.c b/libavcodec/tiertexseqv.c
index 26711a3bc4..9e1b10a40c 100644
--- a/libavcodec/tiertexseqv.c
+++ b/libavcodec/tiertexseqv.c
@@ -27,6 +27,7 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
diff --git a/libavcodec/truemotion1.c b/libavcodec/truemotion1.c
index fc9f8118be..ee41b0ed4d 100644
--- a/libavcodec/truemotion1.c
+++ b/libavcodec/truemotion1.c
@@ -35,6 +35,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
diff --git a/libavcodec/truemotion2.c b/libavcodec/truemotion2.c
index ec3f0d0d08..3784733bee 100644
--- a/libavcodec/truemotion2.c
+++ b/libavcodec/truemotion2.c
@@ -30,8 +30,8 @@
#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#define TM2_ESCAPE 0x80000000
#define TM2_DELTAS 64
diff --git a/libavcodec/tscc.c b/libavcodec/tscc.c
index 601ee198b1..89c4413647 100644
--- a/libavcodec/tscc.c
+++ b/libavcodec/tscc.c
@@ -34,13 +34,9 @@
* Supports: BGR8,BGR555,BGR24 - only BGR8 and BGR555 tested
*/
-#include <stdio.h>
-#include <stdlib.h>
-
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "msrledec.h"
#include "zlib_wrapper.h"
diff --git a/libavcodec/tscc2.c b/libavcodec/tscc2.c
index a50a8da738..ba84a07da7 100644
--- a/libavcodec/tscc2.c
+++ b/libavcodec/tscc2.c
@@ -32,8 +32,8 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "mathops.h"
#include "tscc2data.h"
diff --git a/libavcodec/ulti.c b/libavcodec/ulti.c
index b9d17da60e..a3abec3d5a 100644
--- a/libavcodec/ulti.c
+++ b/libavcodec/ulti.c
@@ -24,14 +24,10 @@
* IBM Ultimotion Video Decoder.
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "ulti_cb.h"
diff --git a/libavcodec/vmnc.c b/libavcodec/vmnc.c
index e6e5442a16..2d47f8ec0f 100644
--- a/libavcodec/vmnc.c
+++ b/libavcodec/vmnc.c
@@ -25,14 +25,10 @@
* As Alex Beregszaszi discovered, this is effectively RFB data dump
*/
-#include <stdio.h>
-#include <stdlib.h>
-
#include "libavutil/common.h"
-#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "bytestream.h"
enum EncTypes {
diff --git a/libavcodec/vqavideo.c b/libavcodec/vqavideo.c
index a195eae584..61c30c2a62 100644
--- a/libavcodec/vqavideo.c
+++ b/libavcodec/vqavideo.c
@@ -78,6 +78,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#define PALETTE_COUNT 256
diff --git a/libavcodec/wcmv.c b/libavcodec/wcmv.c
index d2fdb30662..8bc900f304 100644
--- a/libavcodec/wcmv.c
+++ b/libavcodec/wcmv.c
@@ -21,15 +21,13 @@
*/
#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "zlib_wrapper.h"
#include <zlib.h>
diff --git a/libavcodec/xxan.c b/libavcodec/xxan.c
index 79edc16335..555925e5b5 100644
--- a/libavcodec/xxan.c
+++ b/libavcodec/xxan.c
@@ -26,7 +26,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct XanContext {
AVCodecContext *avctx;
diff --git a/libavcodec/yop.c b/libavcodec/yop.c
index 50bb64bf87..33d8c8b815 100644
--- a/libavcodec/yop.c
+++ b/libavcodec/yop.c
@@ -26,11 +26,10 @@
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
-#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct YopDecContext {
AVCodecContext *avctx;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 15/21] avcodec/internal: Move ff_get_buffer() to decode.h
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (12 preceding siblings ...)
2022-08-25 2:07 ` [FFmpeg-devel] [PATCH 14/21] avcodec/internal: Move ff_reget_buffer() " Andreas Rheinhardt
@ 2022-08-25 16:33 ` Andreas Rheinhardt
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 16/21] avcodec/internal: Move ff_set_sar() " Andreas Rheinhardt
` (6 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 16:33 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Only used by decoders (encoders have ff_encode_alloc_frame()).
Also clean up the other headers a bit while removing now redundant
internal.h inclusions.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/012v.c | 2 +-
libavcodec/4xm.c | 2 +-
libavcodec/8bps.c | 5 +----
libavcodec/8svx.c | 2 +-
libavcodec/aacdec_template.c | 1 +
libavcodec/ac3dec.c | 1 +
libavcodec/adpcm.c | 2 +-
libavcodec/adxdec.c | 2 +-
libavcodec/agm.c | 1 +
libavcodec/aliaspixdec.c | 1 +
libavcodec/alsdec.c | 1 +
libavcodec/amrnbdec.c | 3 +--
libavcodec/amrwbdec.c | 3 +--
libavcodec/apedec.c | 2 +-
libavcodec/aptxdec.c | 2 +-
libavcodec/arbc.c | 7 +------
libavcodec/asvdec.c | 2 +-
libavcodec/atrac1.c | 4 +---
libavcodec/atrac3.c | 3 +--
libavcodec/atrac3plusdec.c | 2 +-
libavcodec/atrac9dec.c | 2 +-
libavcodec/audiotoolboxdec.c | 2 +-
libavcodec/aura.c | 2 +-
libavcodec/avrndec.c | 2 +-
libavcodec/avuidec.c | 2 +-
libavcodec/bfi.c | 2 +-
libavcodec/bink.c | 2 --
libavcodec/bintext.c | 2 +-
libavcodec/bmp.c | 1 +
libavcodec/bmvaudio.c | 2 +-
libavcodec/bmvvideo.c | 2 +-
libavcodec/brenderpix.c | 1 +
libavcodec/cavsdec.c | 1 +
libavcodec/cdxl.c | 1 +
libavcodec/cljrdec.c | 2 +-
libavcodec/cngdec.c | 1 +
libavcodec/cook.c | 2 +-
libavcodec/cyuv.c | 4 +---
libavcodec/dca_core.c | 1 +
libavcodec/dca_lbr.c | 1 +
libavcodec/dca_xll.c | 1 +
libavcodec/dds.c | 1 +
libavcodec/decode.h | 7 +++++++
libavcodec/dfa.c | 2 +-
libavcodec/dfpwmdec.c | 2 +-
libavcodec/diracdec.c | 1 +
libavcodec/dolby_e.c | 2 +-
libavcodec/dpcm.c | 3 +--
libavcodec/dpx.c | 1 +
libavcodec/dsddec.c | 1 +
libavcodec/dsicinaudio.c | 4 ++--
libavcodec/dss_sp.c | 3 +--
libavcodec/dstdec.c | 3 +--
libavcodec/dvaudiodec.c | 2 +-
libavcodec/dxa.c | 5 +----
libavcodec/eacmv.c | 1 +
libavcodec/eamad.c | 1 +
libavcodec/eatgq.c | 1 +
libavcodec/eatgv.c | 1 +
libavcodec/eatqi.c | 1 +
libavcodec/escape124.c | 2 +-
libavcodec/escape130.c | 2 +-
libavcodec/evrcdec.c | 2 +-
libavcodec/fastaudio.c | 5 +----
libavcodec/ffwavesynth.c | 2 +-
libavcodec/fitsdec.c | 1 +
libavcodec/fmvc.c | 3 +--
libavcodec/frwu.c | 2 +-
libavcodec/g2meet.c | 1 +
libavcodec/g722dec.c | 2 +-
libavcodec/g723_1dec.c | 3 +--
libavcodec/g726.c | 2 +-
libavcodec/g729dec.c | 3 +--
libavcodec/gdv.c | 1 -
libavcodec/gemdec.c | 1 +
libavcodec/gsmdec.c | 2 +-
libavcodec/hcadec.c | 3 +--
libavcodec/hcom.c | 2 +-
libavcodec/hnm4video.c | 2 +-
libavcodec/hq_hqa.c | 1 +
libavcodec/idcinvideo.c | 4 +---
libavcodec/iff.c | 3 +--
libavcodec/ilbcdec.c | 2 +-
libavcodec/imc.c | 3 +--
libavcodec/imm4.c | 1 +
libavcodec/indeo3.c | 1 +
libavcodec/internal.h | 7 -------
libavcodec/interplayacm.c | 2 +-
libavcodec/interplayvideo.c | 2 --
libavcodec/ivi.c | 1 +
libavcodec/jvdec.c | 1 -
libavcodec/kgv1dec.c | 1 +
libavcodec/kmvc.c | 2 --
libavcodec/libaomdec.c | 1 +
libavcodec/libcelt_dec.c | 2 +-
libavcodec/libcodec2.c | 2 +-
libavcodec/libfdk-aacdec.c | 2 +-
libavcodec/libgsmdec.c | 2 +-
libavcodec/libilbc.c | 2 +-
libavcodec/libjxldec.c | 1 +
libavcodec/libopencore-amr.c | 2 +-
libavcodec/libopenh264dec.c | 1 +
libavcodec/libopusdec.c | 1 +
libavcodec/librsvgdec.c | 1 +
libavcodec/libspeexdec.c | 2 +-
libavcodec/libuavs3d.c | 1 +
libavcodec/libvorbisdec.c | 2 +-
libavcodec/loco.c | 2 +-
libavcodec/m101.c | 2 +-
libavcodec/mace.c | 2 +-
libavcodec/mlpdec.c | 1 +
libavcodec/mpc7.c | 2 +-
libavcodec/mpc8.c | 2 +-
libavcodec/mpeg12dec.c | 1 +
libavcodec/mpegaudiodec_template.c | 2 +-
libavcodec/mscc.c | 3 +--
libavcodec/msp2dec.c | 2 +-
libavcodec/mss2.c | 1 -
libavcodec/mv30.c | 5 ++---
libavcodec/mvcdec.c | 1 +
libavcodec/mvha.c | 7 +------
libavcodec/mwsc.c | 4 +---
libavcodec/mxpegdec.c | 2 +-
libavcodec/nellymoserdec.c | 3 +--
libavcodec/on2avc.c | 2 +-
libavcodec/opusdec.c | 4 +---
libavcodec/pafaudio.c | 2 +-
libavcodec/pcm-bluray.c | 2 +-
libavcodec/pcm-dvd.c | 2 +-
libavcodec/pcm.c | 3 +--
libavcodec/pcx.c | 1 +
libavcodec/pgxdec.c | 2 +-
libavcodec/pictordec.c | 1 +
libavcodec/pnmdec.c | 2 +-
libavcodec/prosumer.c | 3 +--
libavcodec/psd.c | 1 +
libavcodec/ptx.c | 2 +-
libavcodec/qcelpdec.c | 4 +---
libavcodec/qdm2.c | 3 +--
libavcodec/qdmc.c | 3 +--
libavcodec/qdrw.c | 1 +
libavcodec/qpeg.c | 1 -
libavcodec/r210dec.c | 2 +-
libavcodec/ra144dec.c | 2 +-
libavcodec/ra288.c | 2 +-
libavcodec/ralf.c | 2 +-
libavcodec/rasc.c | 3 +--
libavcodec/rl2.c | 1 +
libavcodec/s302m.c | 3 +--
libavcodec/sanm.c | 1 +
libavcodec/sbcdec.c | 2 +-
libavcodec/scpr.c | 3 ---
libavcodec/scpr3.c | 1 -
libavcodec/sga.c | 1 +
libavcodec/sgidec.c | 1 +
libavcodec/sgirledec.c | 2 +-
libavcodec/shorten.c | 2 +-
libavcodec/sipr.c | 2 +-
libavcodec/siren.c | 3 +--
libavcodec/smacker.c | 5 +----
libavcodec/snow.c | 7 +------
libavcodec/sonic.c | 2 +-
libavcodec/speedhq.c | 3 +--
libavcodec/speexdec.c | 2 +-
libavcodec/sunrast.c | 1 +
libavcodec/svq1dec.c | 1 +
libavcodec/svq3.c | 1 +
libavcodec/targa.c | 1 +
libavcodec/targa_y216dec.c | 2 +-
libavcodec/tdsc.c | 1 +
libavcodec/tmv.c | 2 +-
libavcodec/truemotion2rt.c | 1 +
libavcodec/truespeech.c | 3 +--
libavcodec/twinvq.c | 2 +-
libavcodec/txd.c | 1 +
libavcodec/v210x.c | 2 +-
libavcodec/v308dec.c | 2 +-
libavcodec/v408dec.c | 2 +-
libavcodec/vb.c | 5 +----
libavcodec/vbndec.c | 1 +
libavcodec/vc1dec.c | 1 -
libavcodec/vcr1.c | 2 +-
libavcodec/vima.c | 2 +-
libavcodec/vmdaudio.c | 2 +-
libavcodec/vmdvideo.c | 2 +-
libavcodec/vorbisdec.c | 2 +-
libavcodec/vp56.c | 1 +
libavcodec/wmadec.c | 1 +
libavcodec/wmalosslessdec.c | 3 +--
libavcodec/wmaprodec.c | 3 ++-
libavcodec/wmavoice.c | 2 +-
libavcodec/wnv1.c | 2 +-
libavcodec/ws-snd1.c | 2 +-
libavcodec/xan.c | 4 +---
libavcodec/xbmdec.c | 1 +
libavcodec/xfacedec.c | 4 +---
libavcodec/xl.c | 2 +-
libavcodec/xpmdec.c | 2 +-
libavcodec/xwddec.c | 1 +
libavcodec/y41pdec.c | 2 +-
libavcodec/yuv4dec.c | 2 +-
libavcodec/zerocodec.c | 2 +-
libavcodec/zmbv.c | 5 ++---
203 files changed, 202 insertions(+), 229 deletions(-)
diff --git a/libavcodec/012v.c b/libavcodec/012v.c
index 805aaed221..700feb3024 100644
--- a/libavcodec/012v.c
+++ b/libavcodec/012v.c
@@ -22,7 +22,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/intreadwrite.h"
static av_cold int zero12v_decode_init(AVCodecContext *avctx)
diff --git a/libavcodec/4xm.c b/libavcodec/4xm.c
index 94d1cbe98a..2ee05766ab 100644
--- a/libavcodec/4xm.c
+++ b/libavcodec/4xm.c
@@ -37,8 +37,8 @@
#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#define BLOCK_TYPE_VLC_BITS 5
diff --git a/libavcodec/8bps.c b/libavcodec/8bps.c
index 3bac9f64c4..c7dfeb81ee 100644
--- a/libavcodec/8bps.c
+++ b/libavcodec/8bps.c
@@ -30,16 +30,13 @@
* : RGB32 (RGB 32bpp, 4th plane is alpha)
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
+#include "libavutil/bswap.h"
#include "libavutil/internal.h"
-#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
static const enum AVPixelFormat pixfmt_rgb24[] = {
diff --git a/libavcodec/8svx.c b/libavcodec/8svx.c
index 0af68d2d9a..1c6d78379d 100644
--- a/libavcodec/8svx.c
+++ b/libavcodec/8svx.c
@@ -42,7 +42,7 @@
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/common.h"
/** decoder context */
diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c
index 149c171c83..4a9513d53e 100644
--- a/libavcodec/aacdec_template.c
+++ b/libavcodec/aacdec_template.c
@@ -91,6 +91,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/thread.h"
+#include "decode.h"
#include "internal.h"
static VLC vlc_scalefactors;
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index ad2b3615c8..b1db3dc9e6 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -44,6 +44,7 @@
#include "ac3dec.h"
#include "ac3dec_data.h"
#include "ac3defs.h"
+#include "decode.h"
#include "kbdwin.h"
/**
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index c4bcafbb7e..5db46752ab 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -43,7 +43,7 @@
#include "adpcm.h"
#include "adpcm_data.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
/**
* @file
diff --git a/libavcodec/adxdec.c b/libavcodec/adxdec.c
index b5c09eaae5..cdded477ca 100644
--- a/libavcodec/adxdec.c
+++ b/libavcodec/adxdec.c
@@ -23,8 +23,8 @@
#include "avcodec.h"
#include "adx.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
/**
* @file
diff --git a/libavcodec/agm.c b/libavcodec/agm.c
index 0f65a820ca..08a5f05b91 100644
--- a/libavcodec/agm.c
+++ b/libavcodec/agm.c
@@ -32,6 +32,7 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "copy_block.h"
+#include "decode.h"
#include "get_bits.h"
#include "idctdsp.h"
#include "internal.h"
diff --git a/libavcodec/aliaspixdec.c b/libavcodec/aliaspixdec.c
index 73c83528f5..522b894af5 100644
--- a/libavcodec/aliaspixdec.c
+++ b/libavcodec/aliaspixdec.c
@@ -24,6 +24,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#define ALIAS_HEADER_SIZE 10
diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index 38c823ffa1..4bb232c42a 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -34,6 +34,7 @@
#include "bgmc.h"
#include "bswapdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "mlz.h"
#include "libavutil/samplefmt.h"
diff --git a/libavcodec/amrnbdec.c b/libavcodec/amrnbdec.c
index 8c1073916e..dcf66c1dde 100644
--- a/libavcodec/amrnbdec.c
+++ b/libavcodec/amrnbdec.c
@@ -44,7 +44,6 @@
#include <math.h>
#include "libavutil/channel_layout.h"
-#include "libavutil/float_dsp.h"
#include "avcodec.h"
#include "libavutil/common.h"
#include "libavutil/avassert.h"
@@ -56,7 +55,7 @@
#include "lsp.h"
#include "amr.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "amrnbdata.h"
diff --git a/libavcodec/amrwbdec.c b/libavcodec/amrwbdec.c
index 6a5b79f52c..f9a67c43b7 100644
--- a/libavcodec/amrwbdec.c
+++ b/libavcodec/amrwbdec.c
@@ -26,7 +26,6 @@
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
-#include "libavutil/float_dsp.h"
#include "libavutil/lfg.h"
#include "avcodec.h"
@@ -37,7 +36,7 @@
#include "acelp_vectors.h"
#include "acelp_pitch_delay.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define AMR_USE_16BIT_TABLES
#include "amr.h"
diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c
index e7baa2e77f..805b9af3c3 100644
--- a/libavcodec/apedec.c
+++ b/libavcodec/apedec.c
@@ -31,7 +31,7 @@
#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "unary.h"
diff --git a/libavcodec/aptxdec.c b/libavcodec/aptxdec.c
index 27cf056751..1d7a7842f7 100644
--- a/libavcodec/aptxdec.c
+++ b/libavcodec/aptxdec.c
@@ -25,7 +25,7 @@
#include "libavutil/channel_layout.h"
#include "aptx.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
/*
* Half-band QMF synthesis filter realized with a polyphase FIR filter.
diff --git a/libavcodec/arbc.c b/libavcodec/arbc.c
index d981d2228b..7155d65196 100644
--- a/libavcodec/arbc.c
+++ b/libavcodec/arbc.c
@@ -19,18 +19,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct ARBCContext {
GetByteContext gb;
diff --git a/libavcodec/asvdec.c b/libavcodec/asvdec.c
index 5bb4600084..2105d55e33 100644
--- a/libavcodec/asvdec.c
+++ b/libavcodec/asvdec.c
@@ -32,8 +32,8 @@
#include "blockdsp.h"
#include "codec_internal.h"
#include "config_components.h"
+#include "decode.h"
#include "idctdsp.h"
-#include "internal.h"
#include "mpeg12data.h"
#define CCP_VLC_BITS 5
diff --git a/libavcodec/atrac1.c b/libavcodec/atrac1.c
index a05fb6e801..3b60cee259 100644
--- a/libavcodec/atrac1.c
+++ b/libavcodec/atrac1.c
@@ -29,17 +29,15 @@
/* Many thanks to Tim Craig for all the help! */
#include <math.h>
-#include <stddef.h>
-#include <stdio.h>
#include "libavutil/float_dsp.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "fft.h"
-#include "internal.h"
#include "sinewin.h"
#include "atrac.h"
diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c
index 93f5f4d2d6..79260c8760 100644
--- a/libavcodec/atrac3.c
+++ b/libavcodec/atrac3.c
@@ -34,7 +34,6 @@
#include <math.h>
#include <stddef.h>
-#include <stdio.h>
#include "libavutil/attributes.h"
#include "libavutil/float_dsp.h"
@@ -45,9 +44,9 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "fft.h"
#include "get_bits.h"
-#include "internal.h"
#include "atrac.h"
#include "atrac3data.h"
diff --git a/libavcodec/atrac3plusdec.c b/libavcodec/atrac3plusdec.c
index 644a7e87c6..771c213bad 100644
--- a/libavcodec/atrac3plusdec.c
+++ b/libavcodec/atrac3plusdec.c
@@ -43,8 +43,8 @@
#include "libavutil/thread.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "atrac.h"
#include "atrac3plus.h"
diff --git a/libavcodec/atrac9dec.c b/libavcodec/atrac9dec.c
index 3c572560c1..71ff6e0151 100644
--- a/libavcodec/atrac9dec.c
+++ b/libavcodec/atrac9dec.c
@@ -23,7 +23,7 @@
#include "libavutil/thread.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "fft.h"
#include "atrac9tab.h"
diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c
index dc3f790636..220101e9eb 100644
--- a/libavcodec/audiotoolboxdec.c
+++ b/libavcodec/audiotoolboxdec.c
@@ -28,7 +28,7 @@
#include "ac3_parser_internal.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mpegaudiodecheader.h"
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
diff --git a/libavcodec/aura.c b/libavcodec/aura.c
index 23e976f219..938706629d 100644
--- a/libavcodec/aura.c
+++ b/libavcodec/aura.c
@@ -25,7 +25,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/internal.h"
static av_cold int aura_decode_init(AVCodecContext *avctx)
diff --git a/libavcodec/avrndec.c b/libavcodec/avrndec.c
index 10bde74172..f0257cd860 100644
--- a/libavcodec/avrndec.c
+++ b/libavcodec/avrndec.c
@@ -21,7 +21,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/imgutils.h"
typedef struct {
diff --git a/libavcodec/avuidec.c b/libavcodec/avuidec.c
index ce96219bf5..9e698b02ec 100644
--- a/libavcodec/avuidec.c
+++ b/libavcodec/avuidec.c
@@ -22,7 +22,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/intreadwrite.h"
static av_cold int avui_decode_init(AVCodecContext *avctx)
diff --git a/libavcodec/bfi.c b/libavcodec/bfi.c
index 12eba8f399..9df5bcdf5e 100644
--- a/libavcodec/bfi.c
+++ b/libavcodec/bfi.c
@@ -30,7 +30,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct BFIContext {
AVCodecContext *avctx;
diff --git a/libavcodec/bink.c b/libavcodec/bink.c
index e6d9bdc2fa..a3cd4667d6 100644
--- a/libavcodec/bink.c
+++ b/libavcodec/bink.c
@@ -35,8 +35,6 @@
#include "decode.h"
#include "get_bits.h"
#include "hpeldsp.h"
-#include "internal.h"
-#include "mathops.h"
#define BINK_FLAG_ALPHA 0x00100000
#define BINK_FLAG_GRAY 0x00020000
diff --git a/libavcodec/bintext.c b/libavcodec/bintext.c
index 7039760c19..c3cf14f6dd 100644
--- a/libavcodec/bintext.c
+++ b/libavcodec/bintext.c
@@ -36,7 +36,7 @@
#include "cga_data.h"
#include "bintext.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define FONT_WIDTH 8
diff --git a/libavcodec/bmp.c b/libavcodec/bmp.c
index 410065aba1..7bbaabcda4 100644
--- a/libavcodec/bmp.c
+++ b/libavcodec/bmp.c
@@ -25,6 +25,7 @@
#include "bytestream.h"
#include "bmp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "msrledec.h"
diff --git a/libavcodec/bmvaudio.c b/libavcodec/bmvaudio.c
index 08f24c3c8b..d772f72d71 100644
--- a/libavcodec/bmvaudio.c
+++ b/libavcodec/bmvaudio.c
@@ -24,7 +24,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static const int bmv_aud_mults[16] = {
16512, 8256, 4128, 2064, 1032, 516, 258, 192, 129, 88, 64, 56, 48, 40, 36, 32
diff --git a/libavcodec/bmvvideo.c b/libavcodec/bmvvideo.c
index 9872396990..6a55d49494 100644
--- a/libavcodec/bmvvideo.c
+++ b/libavcodec/bmvvideo.c
@@ -25,7 +25,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
enum BMVFlags{
BMV_NOP = 0,
diff --git a/libavcodec/brenderpix.c b/libavcodec/brenderpix.c
index 9807a11cf9..2d8e978c1e 100644
--- a/libavcodec/brenderpix.c
+++ b/libavcodec/brenderpix.c
@@ -26,6 +26,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#define HEADER1_CHUNK 0x03
diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c
index 7ac4359123..417c73bd2e 100644
--- a/libavcodec/cavsdec.c
+++ b/libavcodec/cavsdec.c
@@ -31,6 +31,7 @@
#include "golomb.h"
#include "cavs.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "mathops.h"
#include "mpeg12data.h"
diff --git a/libavcodec/cdxl.c b/libavcodec/cdxl.c
index b005442fdc..64fcdffba4 100644
--- a/libavcodec/cdxl.c
+++ b/libavcodec/cdxl.c
@@ -32,6 +32,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
diff --git a/libavcodec/cljrdec.c b/libavcodec/cljrdec.c
index 21fa8ee019..0550e1dc05 100644
--- a/libavcodec/cljrdec.c
+++ b/libavcodec/cljrdec.c
@@ -26,8 +26,8 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
static int decode_frame(AVCodecContext *avctx, AVFrame *p,
int *got_frame, AVPacket *avpkt)
diff --git a/libavcodec/cngdec.c b/libavcodec/cngdec.c
index c89dfee033..e698d142dd 100644
--- a/libavcodec/cngdec.c
+++ b/libavcodec/cngdec.c
@@ -27,6 +27,7 @@
#include "avcodec.h"
#include "celp_filters.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "libavutil/lfg.h"
diff --git a/libavcodec/cook.c b/libavcodec/cook.c
index 01005d3a50..5ccabb03ed 100644
--- a/libavcodec/cook.c
+++ b/libavcodec/cook.c
@@ -52,8 +52,8 @@
#include "get_bits.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "fft.h"
-#include "internal.h"
#include "sinewin.h"
#include "unary.h"
diff --git a/libavcodec/cyuv.c b/libavcodec/cyuv.c
index 48846b56c2..8a7cef6b74 100644
--- a/libavcodec/cyuv.c
+++ b/libavcodec/cyuv.c
@@ -30,13 +30,11 @@
#include "config_components.h"
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/internal.h"
diff --git a/libavcodec/dca_core.c b/libavcodec/dca_core.c
index 2b19807ef4..b181171104 100644
--- a/libavcodec/dca_core.c
+++ b/libavcodec/dca_core.c
@@ -25,6 +25,7 @@
#include "dcahuff.h"
#include "dcamath.h"
#include "dca_syncwords.h"
+#include "decode.h"
#include "internal.h"
#if ARCH_ARM
diff --git a/libavcodec/dca_lbr.c b/libavcodec/dca_lbr.c
index 2b8594cd75..ec55404c7b 100644
--- a/libavcodec/dca_lbr.c
+++ b/libavcodec/dca_lbr.c
@@ -28,6 +28,7 @@
#include "dcahuff.h"
#include "dca_syncwords.h"
#include "bytestream.h"
+#include "decode.h"
#include "internal.h"
#define AMP_MAX 56
diff --git a/libavcodec/dca_xll.c b/libavcodec/dca_xll.c
index 17626b3614..242c3a13fe 100644
--- a/libavcodec/dca_xll.c
+++ b/libavcodec/dca_xll.c
@@ -23,6 +23,7 @@
#include "dcadata.h"
#include "dcamath.h"
#include "dca_syncwords.h"
+#include "decode.h"
#include "internal.h"
#include "unary.h"
diff --git a/libavcodec/dds.c b/libavcodec/dds.c
index 1e3901111c..63f63efca2 100644
--- a/libavcodec/dds.c
+++ b/libavcodec/dds.c
@@ -34,6 +34,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "texturedsp.h"
#include "thread.h"
diff --git a/libavcodec/decode.h b/libavcodec/decode.h
index d9014d3e0f..25db4a9e4d 100644
--- a/libavcodec/decode.h
+++ b/libavcodec/decode.h
@@ -112,6 +112,13 @@ int ff_decode_preinit(AVCodecContext *avctx);
*/
int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt);
+/**
+ * Get a buffer for a frame. This is a wrapper around
+ * AVCodecContext.get_buffer() and should be used instead calling get_buffer()
+ * directly.
+ */
+int ff_get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags);
+
#define FF_REGET_BUFFER_FLAG_READONLY 1 ///< the returned buffer does not need to be writable
/**
* Identical in function to ff_get_buffer(), except it reuses the existing buffer
diff --git a/libavcodec/dfa.c b/libavcodec/dfa.c
index 0996bf5a7e..dadb64d87e 100644
--- a/libavcodec/dfa.c
+++ b/libavcodec/dfa.c
@@ -25,7 +25,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/avassert.h"
#include "libavutil/imgutils.h"
diff --git a/libavcodec/dfpwmdec.c b/libavcodec/dfpwmdec.c
index c036f8e141..975afba4cc 100644
--- a/libavcodec/dfpwmdec.c
+++ b/libavcodec/dfpwmdec.c
@@ -29,7 +29,7 @@
#include "avcodec.h"
#include "codec_id.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct {
int fq, q, s, lt;
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index aef6ab20a3..59c5e81904 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -33,6 +33,7 @@
#include "get_bits.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "golomb.h"
#include "dirac_arith.h"
diff --git a/libavcodec/dolby_e.c b/libavcodec/dolby_e.c
index e6a262403d..de852ecc0a 100644
--- a/libavcodec/dolby_e.c
+++ b/libavcodec/dolby_e.c
@@ -26,7 +26,7 @@
#include "libavutil/opt.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "dolby_e.h"
#include "kbdwin.h"
diff --git a/libavcodec/dpcm.c b/libavcodec/dpcm.c
index e360045ec3..34f3799b80 100644
--- a/libavcodec/dpcm.c
+++ b/libavcodec/dpcm.c
@@ -37,11 +37,10 @@
* the fourcc 'Axan' in the 'auds' chunk of the AVI header.
*/
-#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mathops.h"
typedef struct DPCMContext {
diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c
index bb2c5e588e..c3f0d3f95a 100644
--- a/libavcodec/dpx.c
+++ b/libavcodec/dpx.c
@@ -27,6 +27,7 @@
#include "bytestream.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
enum DPX_TRC {
diff --git a/libavcodec/dsddec.c b/libavcodec/dsddec.c
index d724e427bf..0fdc2af565 100644
--- a/libavcodec/dsddec.c
+++ b/libavcodec/dsddec.c
@@ -29,6 +29,7 @@
#include "libavcodec/internal.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "dsd.h"
#define DSD_SILENCE 0x69
diff --git a/libavcodec/dsicinaudio.c b/libavcodec/dsicinaudio.c
index 8be4350625..ea37e68ea2 100644
--- a/libavcodec/dsicinaudio.c
+++ b/libavcodec/dsicinaudio.c
@@ -25,11 +25,11 @@
*/
#include "libavutil/channel_layout.h"
+#include "libavutil/intreadwrite.h"
#include "avcodec.h"
-#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mathops.h"
typedef struct CinAudioContext {
diff --git a/libavcodec/dss_sp.c b/libavcodec/dss_sp.c
index d2f71a4450..74419514d4 100644
--- a/libavcodec/dss_sp.c
+++ b/libavcodec/dss_sp.c
@@ -22,12 +22,11 @@
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "libavutil/mem_internal.h"
-#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#define SUBFRAMES 4
#define PULSE_MAX 8
diff --git a/libavcodec/dstdec.c b/libavcodec/dstdec.c
index 9ad763ab6b..59f8e900d8 100644
--- a/libavcodec/dstdec.c
+++ b/libavcodec/dstdec.c
@@ -29,11 +29,10 @@
#include "libavutil/mem_internal.h"
#include "libavutil/reverse.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "avcodec.h"
#include "golomb.h"
-#include "mathops.h"
#include "dsd.h"
#define DST_MAX_CHANNELS 6
diff --git a/libavcodec/dvaudiodec.c b/libavcodec/dvaudiodec.c
index d65fc469ff..96bcadeb57 100644
--- a/libavcodec/dvaudiodec.c
+++ b/libavcodec/dvaudiodec.c
@@ -22,7 +22,7 @@
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "dvaudio.h"
typedef struct DVAudioContext {
diff --git a/libavcodec/dxa.c b/libavcodec/dxa.c
index fa633cd208..a557501104 100644
--- a/libavcodec/dxa.c
+++ b/libavcodec/dxa.c
@@ -24,15 +24,12 @@
* DXA Video decoder
*/
-#include <stdio.h>
-#include <stdlib.h>
-
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "bytestream.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include <zlib.h>
diff --git a/libavcodec/eacmv.c b/libavcodec/eacmv.c
index b05d0f32a9..733cc2a1c0 100644
--- a/libavcodec/eacmv.c
+++ b/libavcodec/eacmv.c
@@ -33,6 +33,7 @@
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
typedef struct CmvContext {
diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c
index ce74bf0c62..70cea0ed6c 100644
--- a/libavcodec/eamad.c
+++ b/libavcodec/eamad.c
@@ -35,6 +35,7 @@
#include "bytestream.h"
#include "bswapdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "aandcttab.h"
#include "eaidct.h"
diff --git a/libavcodec/eatgq.c b/libavcodec/eatgq.c
index a28cc521c3..5d57fb34f8 100644
--- a/libavcodec/eatgq.c
+++ b/libavcodec/eatgq.c
@@ -36,6 +36,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "eaidct.h"
#include "get_bits.h"
#include "idctdsp.h"
diff --git a/libavcodec/eatgv.c b/libavcodec/eatgv.c
index a6af789552..b1483cc586 100644
--- a/libavcodec/eatgv.c
+++ b/libavcodec/eatgv.c
@@ -35,6 +35,7 @@
#include "avcodec.h"
#include "get_bits.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#define EA_PREAMBLE_SIZE 8
diff --git a/libavcodec/eatqi.c b/libavcodec/eatqi.c
index a19202ac1c..013e5415d2 100644
--- a/libavcodec/eatqi.c
+++ b/libavcodec/eatqi.c
@@ -32,6 +32,7 @@
#include "blockdsp.h"
#include "bswapdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "aandcttab.h"
#include "eaidct.h"
diff --git a/libavcodec/escape124.c b/libavcodec/escape124.c
index 170d76f052..6906992305 100644
--- a/libavcodec/escape124.c
+++ b/libavcodec/escape124.c
@@ -22,8 +22,8 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
typedef union MacroBlock {
uint16_t pixels[4];
diff --git a/libavcodec/escape130.c b/libavcodec/escape130.c
index b292343b20..5bf1a5d745 100644
--- a/libavcodec/escape130.c
+++ b/libavcodec/escape130.c
@@ -25,8 +25,8 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
typedef struct Escape130Context {
uint8_t *old_y_avg;
diff --git a/libavcodec/evrcdec.c b/libavcodec/evrcdec.c
index 19e7e58b5f..2ac98b8e76 100644
--- a/libavcodec/evrcdec.c
+++ b/libavcodec/evrcdec.c
@@ -30,7 +30,7 @@
#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "evrcdata.h"
#include "acelp_vectors.h"
diff --git a/libavcodec/fastaudio.c b/libavcodec/fastaudio.c
index 6093a06900..262e2bea7c 100644
--- a/libavcodec/fastaudio.c
+++ b/libavcodec/fastaudio.c
@@ -21,13 +21,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/intreadwrite.h"
-
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
-#include "mathops.h"
+#include "decode.h"
typedef struct ChannelItems {
float f[8];
diff --git a/libavcodec/ffwavesynth.c b/libavcodec/ffwavesynth.c
index 04be7761b2..728650b057 100644
--- a/libavcodec/ffwavesynth.c
+++ b/libavcodec/ffwavesynth.c
@@ -23,7 +23,7 @@
#include "libavutil/log.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define SIN_BITS 14
diff --git a/libavcodec/fitsdec.c b/libavcodec/fitsdec.c
index b60c2bd441..28954f370c 100644
--- a/libavcodec/fitsdec.c
+++ b/libavcodec/fitsdec.c
@@ -32,6 +32,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include <float.h>
#include "libavutil/intreadwrite.h"
diff --git a/libavcodec/fmvc.c b/libavcodec/fmvc.c
index fe86204b2f..b3a4e7184c 100644
--- a/libavcodec/fmvc.c
+++ b/libavcodec/fmvc.c
@@ -21,13 +21,12 @@
*/
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define BLOCK_HEIGHT 112u
#define BLOCK_WIDTH 84u
diff --git a/libavcodec/frwu.c b/libavcodec/frwu.c
index e6ee0506ac..225667b4c4 100644
--- a/libavcodec/frwu.c
+++ b/libavcodec/frwu.c
@@ -23,7 +23,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/opt.h"
typedef struct {
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index 66ccd9a28c..f2300e1ca6 100644
--- a/libavcodec/g2meet.c
+++ b/libavcodec/g2meet.c
@@ -36,6 +36,7 @@
#include "blockdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "elsdec.h"
#include "get_bits.h"
#include "idctdsp.h"
diff --git a/libavcodec/g722dec.c b/libavcodec/g722dec.c
index de2f666a1f..23598cb71f 100644
--- a/libavcodec/g722dec.c
+++ b/libavcodec/g722dec.c
@@ -38,9 +38,9 @@
#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "g722.h"
-#include "internal.h"
#define OFFSET(x) offsetof(G722Context, x)
#define AD AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM
diff --git a/libavcodec/g723_1dec.c b/libavcodec/g723_1dec.c
index 257a4e6c30..3904840eba 100644
--- a/libavcodec/g723_1dec.c
+++ b/libavcodec/g723_1dec.c
@@ -33,10 +33,9 @@
#include "acelp_vectors.h"
#include "avcodec.h"
#include "celp_filters.h"
-#include "celp_math.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "g723_1.h"
#define CNG_RANDOM_SEED 12345
diff --git a/libavcodec/g726.c b/libavcodec/g726.c
index 6c9406d3fd..320bc55d15 100644
--- a/libavcodec/g726.c
+++ b/libavcodec/g726.c
@@ -30,8 +30,8 @@
#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "encode.h"
-#include "internal.h"
#include "get_bits.h"
#include "put_bits.h"
diff --git a/libavcodec/g729dec.c b/libavcodec/g729dec.c
index b678510f34..bcaee44d9d 100644
--- a/libavcodec/g729dec.c
+++ b/libavcodec/g729dec.c
@@ -27,12 +27,11 @@
#include "get_bits.h"
#include "audiodsp.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "g729.h"
#include "lsp.h"
-#include "celp_math.h"
#include "celp_filters.h"
#include "acelp_filters.h"
#include "acelp_pitch_delay.h"
diff --git a/libavcodec/gdv.c b/libavcodec/gdv.c
index 148204d4f8..19b4d4bdbb 100644
--- a/libavcodec/gdv.c
+++ b/libavcodec/gdv.c
@@ -25,7 +25,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
typedef struct GDVContext {
AVCodecContext *avctx;
diff --git a/libavcodec/gemdec.c b/libavcodec/gemdec.c
index 0d6acd5303..39bfedb560 100644
--- a/libavcodec/gemdec.c
+++ b/libavcodec/gemdec.c
@@ -27,6 +27,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
static const uint32_t gem_color_palette[16]={
diff --git a/libavcodec/gsmdec.c b/libavcodec/gsmdec.c
index dd8d80e07b..c44c9d992f 100644
--- a/libavcodec/gsmdec.c
+++ b/libavcodec/gsmdec.c
@@ -29,8 +29,8 @@
#include "libavutil/channel_layout.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "msgsmdec.h"
#include "gsmdec_template.c"
diff --git a/libavcodec/hcadec.c b/libavcodec/hcadec.c
index 4c81aa405b..82276589fc 100644
--- a/libavcodec/hcadec.c
+++ b/libavcodec/hcadec.c
@@ -18,15 +18,14 @@
#include "libavutil/crc.h"
#include "libavutil/float_dsp.h"
-#include "libavutil/intreadwrite.h"
#include "libavutil/mem_internal.h"
#include "libavutil/tx.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "hca_data.h"
typedef struct ChannelContext {
diff --git a/libavcodec/hcom.c b/libavcodec/hcom.c
index 9fd47b4273..301b1e02d6 100644
--- a/libavcodec/hcom.c
+++ b/libavcodec/hcom.c
@@ -22,8 +22,8 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
typedef struct HEntry {
int16_t l, r;
diff --git a/libavcodec/hnm4video.c b/libavcodec/hnm4video.c
index db4c877ea4..f68badf195 100644
--- a/libavcodec/hnm4video.c
+++ b/libavcodec/hnm4video.c
@@ -29,7 +29,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define HNM4_CHUNK_ID_PL 19536
#define HNM4_CHUNK_ID_IZ 23113
diff --git a/libavcodec/hq_hqa.c b/libavcodec/hq_hqa.c
index a17fa18bf8..e0fbf7de65 100644
--- a/libavcodec/hq_hqa.c
+++ b/libavcodec/hq_hqa.c
@@ -27,6 +27,7 @@
#include "bytestream.h"
#include "canopus.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
diff --git a/libavcodec/idcinvideo.c b/libavcodec/idcinvideo.c
index 1535e6aced..4d3bcd3e86 100644
--- a/libavcodec/idcinvideo.c
+++ b/libavcodec/idcinvideo.c
@@ -44,14 +44,12 @@
* decoding algorithm and it worked fine on much lower spec machines.
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include <stddef.h>
#include <string.h>
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "libavutil/internal.h"
#define HUFFMAN_TABLE_SIZE 64 * 1024
diff --git a/libavcodec/iff.c b/libavcodec/iff.c
index cd78352350..e31dc4cbd0 100644
--- a/libavcodec/iff.c
+++ b/libavcodec/iff.c
@@ -33,8 +33,7 @@
#include "bytestream.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
-#include "mathops.h"
+#include "decode.h"
// TODO: masking bits
typedef enum {
diff --git a/libavcodec/ilbcdec.c b/libavcodec/ilbcdec.c
index 2bc559a3e8..1ee59ef5c9 100644
--- a/libavcodec/ilbcdec.c
+++ b/libavcodec/ilbcdec.c
@@ -33,7 +33,7 @@
#include "libavutil/channel_layout.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "ilbcdata.h"
diff --git a/libavcodec/imc.c b/libavcodec/imc.c
index e9c51a1760..e751c1da8d 100644
--- a/libavcodec/imc.c
+++ b/libavcodec/imc.c
@@ -33,7 +33,6 @@
#include <math.h>
#include <stddef.h>
-#include <stdio.h>
#include "libavutil/channel_layout.h"
#include "libavutil/ffmath.h"
@@ -45,9 +44,9 @@
#include "avcodec.h"
#include "bswapdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "fft.h"
-#include "internal.h"
#include "sinewin.h"
#include "imcdata.h"
diff --git a/libavcodec/imm4.c b/libavcodec/imm4.c
index fe4e15f381..b2840a2c3f 100644
--- a/libavcodec/imm4.c
+++ b/libavcodec/imm4.c
@@ -30,6 +30,7 @@
#include "avcodec.h"
#include "bswapdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "copy_block.h"
#include "get_bits.h"
#include "idctdsp.h"
diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c
index e634cf3dfd..95708f3636 100644
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@ -34,6 +34,7 @@
#include "libavutil/thread.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "copy_block.h"
#include "bytestream.h"
#include "get_bits.h"
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index fde0cc0ad6..0c581a4cf3 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -213,13 +213,6 @@ static av_always_inline float ff_exp2fi(int x) {
return 0;
}
-/**
- * Get a buffer for a frame. This is a wrapper around
- * AVCodecContext.get_buffer() and should be used instead calling get_buffer()
- * directly.
- */
-int ff_get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags);
-
int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx);
int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec);
diff --git a/libavcodec/interplayacm.c b/libavcodec/interplayacm.c
index 3b14919288..069b1ca704 100644
--- a/libavcodec/interplayacm.c
+++ b/libavcodec/interplayacm.c
@@ -24,8 +24,8 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
static const int8_t map_1bit[] = { -1, +1 };
static const int8_t map_2bit_near[] = { -2, -1, +1, +2 };
diff --git a/libavcodec/interplayvideo.c b/libavcodec/interplayvideo.c
index 75feb8335a..21ceb75210 100644
--- a/libavcodec/interplayvideo.c
+++ b/libavcodec/interplayvideo.c
@@ -35,7 +35,6 @@
*/
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "libavutil/intreadwrite.h"
@@ -47,7 +46,6 @@
#include "decode.h"
#include "get_bits.h"
#include "hpeldsp.h"
-#include "internal.h"
#define PALETTE_COUNT 256
diff --git a/libavcodec/ivi.c b/libavcodec/ivi.c
index 6577fa335f..cddef6f51e 100644
--- a/libavcodec/ivi.c
+++ b/libavcodec/ivi.c
@@ -34,6 +34,7 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
#include "ivi.h"
diff --git a/libavcodec/jvdec.c b/libavcodec/jvdec.c
index 420a00a790..9bca18e32c 100644
--- a/libavcodec/jvdec.c
+++ b/libavcodec/jvdec.c
@@ -32,7 +32,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
typedef struct JvContext {
BlockDSPContext bdsp;
diff --git a/libavcodec/kgv1dec.c b/libavcodec/kgv1dec.c
index 47c2a31b69..0dfb796483 100644
--- a/libavcodec/kgv1dec.c
+++ b/libavcodec/kgv1dec.c
@@ -29,6 +29,7 @@
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
typedef struct KgvContext {
diff --git a/libavcodec/kmvc.c b/libavcodec/kmvc.c
index d5da5412a0..1e37c233f4 100644
--- a/libavcodec/kmvc.c
+++ b/libavcodec/kmvc.c
@@ -25,13 +25,11 @@
*/
#include <stdio.h>
-#include <stdlib.h>
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "libavutil/common.h"
#define KMVC_KEYFRAME 0x80
diff --git a/libavcodec/libaomdec.c b/libavcodec/libaomdec.c
index cb672b0e65..274c67baaa 100644
--- a/libavcodec/libaomdec.c
+++ b/libavcodec/libaomdec.c
@@ -32,6 +32,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "libaom.h"
#include "profiles.h"
diff --git a/libavcodec/libcelt_dec.c b/libavcodec/libcelt_dec.c
index a9c9962b71..0c41a660bc 100644
--- a/libavcodec/libcelt_dec.c
+++ b/libavcodec/libcelt_dec.c
@@ -23,7 +23,7 @@
#include <celt/celt_header.h>
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/intreadwrite.h"
struct libcelt_context {
diff --git a/libavcodec/libcodec2.c b/libavcodec/libcodec2.c
index 0f2e671ab1..11e9d14d3a 100644
--- a/libavcodec/libcodec2.c
+++ b/libavcodec/libcodec2.c
@@ -24,8 +24,8 @@
#include "avcodec.h"
#include "libavutil/opt.h"
#include "codec_internal.h"
+#include "decode.h"
#include "encode.h"
-#include "internal.h"
#include "codec2utils.h"
typedef struct {
diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c
index 87e412f75c..c148d46208 100644
--- a/libavcodec/libfdk-aacdec.c
+++ b/libavcodec/libfdk-aacdec.c
@@ -24,7 +24,7 @@
#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#ifdef AACDECODER_LIB_VL0
#define FDKDEC_VER_AT_LEAST(vl0, vl1) \
diff --git a/libavcodec/libgsmdec.c b/libavcodec/libgsmdec.c
index 6e37122261..ad0b3c2f2a 100644
--- a/libavcodec/libgsmdec.c
+++ b/libavcodec/libgsmdec.c
@@ -40,7 +40,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "gsm.h"
typedef struct LibGSMDecodeContext {
diff --git a/libavcodec/libilbc.c b/libavcodec/libilbc.c
index 250c5fde5b..485762f66c 100644
--- a/libavcodec/libilbc.c
+++ b/libavcodec/libilbc.c
@@ -26,8 +26,8 @@
#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "encode.h"
-#include "internal.h"
#ifndef LIBILBC_VERSION_MAJOR
#define LIBILBC_VERSION_MAJOR 2
diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c
index f54701596b..f0c5533a8b 100644
--- a/libavcodec/libjxldec.c
+++ b/libavcodec/libjxldec.c
@@ -36,6 +36,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include <jxl/decode.h>
diff --git a/libavcodec/libopencore-amr.c b/libavcodec/libopencore-amr.c
index 46c8516010..0d398ff02b 100644
--- a/libavcodec/libopencore-amr.c
+++ b/libavcodec/libopencore-amr.c
@@ -30,8 +30,8 @@
#include "avcodec.h"
#include "audio_frame_queue.h"
#include "codec_internal.h"
+#include "decode.h"
#include "encode.h"
-#include "internal.h"
#if CONFIG_LIBOPENCORE_AMRNB_DECODER || CONFIG_LIBOPENCORE_AMRWB_DECODER
static int amr_decode_fix_avctx(AVCodecContext *avctx)
diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
index 04157d8e34..df270c77df 100644
--- a/libavcodec/libopenh264dec.c
+++ b/libavcodec/libopenh264dec.c
@@ -31,6 +31,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "libopenh264.h"
diff --git a/libavcodec/libopusdec.c b/libavcodec/libopusdec.c
index 7b7d9c8a84..fa7aba9d8a 100644
--- a/libavcodec/libopusdec.c
+++ b/libavcodec/libopusdec.c
@@ -29,6 +29,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "vorbis.h"
#include "mathops.h"
diff --git a/libavcodec/librsvgdec.c b/libavcodec/librsvgdec.c
index 6e949fe3d5..bfb83da614 100644
--- a/libavcodec/librsvgdec.c
+++ b/libavcodec/librsvgdec.c
@@ -21,6 +21,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "libavutil/opt.h"
#include "librsvg-2.0/librsvg/rsvg.h"
diff --git a/libavcodec/libspeexdec.c b/libavcodec/libspeexdec.c
index af0f224b34..b1512549d6 100644
--- a/libavcodec/libspeexdec.c
+++ b/libavcodec/libspeexdec.c
@@ -27,7 +27,7 @@
#include "libavutil/common.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct LibSpeexContext {
SpeexBits bits;
diff --git a/libavcodec/libuavs3d.c b/libavcodec/libuavs3d.c
index 5ccd9893a5..f2649540be 100644
--- a/libavcodec/libuavs3d.c
+++ b/libavcodec/libuavs3d.c
@@ -30,6 +30,7 @@
#include "avcodec.h"
#include "avs3.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "uavs3d.h"
diff --git a/libavcodec/libvorbisdec.c b/libavcodec/libvorbisdec.c
index 38a8314760..f0f16f27cf 100644
--- a/libavcodec/libvorbisdec.c
+++ b/libavcodec/libvorbisdec.c
@@ -23,7 +23,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct OggVorbisDecContext {
vorbis_info vi; /**< vorbis_info used during init */
diff --git a/libavcodec/loco.c b/libavcodec/loco.c
index 4a37cd6fd8..a31bbf38c1 100644
--- a/libavcodec/loco.c
+++ b/libavcodec/loco.c
@@ -26,9 +26,9 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "golomb.h"
-#include "internal.h"
#include "mathops.h"
enum LOCO_MODE {
diff --git a/libavcodec/m101.c b/libavcodec/m101.c
index 16ea6ede32..7c719006ec 100644
--- a/libavcodec/m101.c
+++ b/libavcodec/m101.c
@@ -22,7 +22,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static av_cold int m101_decode_init(AVCodecContext *avctx)
diff --git a/libavcodec/mace.c b/libavcodec/mace.c
index 675725a60e..bf45b36a20 100644
--- a/libavcodec/mace.c
+++ b/libavcodec/mace.c
@@ -26,7 +26,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/common.h"
/*
diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
index 8bf7c1586d..dba2b9ac34 100644
--- a/libavcodec/mlpdec.c
+++ b/libavcodec/mlpdec.c
@@ -36,6 +36,7 @@
#include "libavutil/thread.h"
#include "libavutil/opt.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
#include "libavutil/crc.h"
diff --git a/libavcodec/mpc7.c b/libavcodec/mpc7.c
index 5dabc1b5ff..0f203033ef 100644
--- a/libavcodec/mpc7.c
+++ b/libavcodec/mpc7.c
@@ -33,8 +33,8 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "mpegaudiodsp.h"
#include "mpc.h"
diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c
index f9277e6e62..4ffdb32483 100644
--- a/libavcodec/mpc8.c
+++ b/libavcodec/mpc8.c
@@ -30,8 +30,8 @@
#include "libavutil/thread.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "mpegaudiodsp.h"
#include "mpc.h"
diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
index 0e0bb3d762..34e9ed3505 100644
--- a/libavcodec/mpeg12dec.c
+++ b/libavcodec/mpeg12dec.c
@@ -40,6 +40,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "error_resilience.h"
#include "hwconfig.h"
#include "idctdsp.h"
diff --git a/libavcodec/mpegaudiodec_template.c b/libavcodec/mpegaudiodec_template.c
index a711154a3c..3e4ee79be6 100644
--- a/libavcodec/mpegaudiodec_template.c
+++ b/libavcodec/mpegaudiodec_template.c
@@ -36,8 +36,8 @@
#include "libavutil/thread.h"
#include "avcodec.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "mathops.h"
#include "mpegaudiodsp.h"
diff --git a/libavcodec/mscc.c b/libavcodec/mscc.c
index f7d33e131c..574a3b1526 100644
--- a/libavcodec/mscc.c
+++ b/libavcodec/mscc.c
@@ -21,13 +21,12 @@
*/
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "zlib_wrapper.h"
#include <zlib.h>
diff --git a/libavcodec/msp2dec.c b/libavcodec/msp2dec.c
index 5374c4be81..f51075e961 100644
--- a/libavcodec/msp2dec.c
+++ b/libavcodec/msp2dec.c
@@ -27,7 +27,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static int msp2_decode_frame(AVCodecContext *avctx, AVFrame *p,
int *got_frame, AVPacket *avpkt)
diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c
index f7dade4a29..7dfb626014 100644
--- a/libavcodec/mss2.c
+++ b/libavcodec/mss2.c
@@ -27,7 +27,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "error_resilience.h"
-#include "internal.h"
#include "mpeg_er.h"
#include "mpegvideodec.h"
#include "msmpeg4dec.h"
diff --git a/libavcodec/mv30.c b/libavcodec/mv30.c
index 88c360fbd3..4633fb86bc 100644
--- a/libavcodec/mv30.c
+++ b/libavcodec/mv30.c
@@ -20,8 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include <stddef.h>
#include <string.h>
#include "libavutil/thread.h"
@@ -30,10 +29,10 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "copy_block.h"
+#include "decode.h"
#include "mathops.h"
#include "blockdsp.h"
#include "get_bits.h"
-#include "internal.h"
#include "aandcttab.h"
#define CBP_VLC_BITS 9
diff --git a/libavcodec/mvcdec.c b/libavcodec/mvcdec.c
index 3fa665a5df..d2e9f4b631 100644
--- a/libavcodec/mvcdec.c
+++ b/libavcodec/mvcdec.c
@@ -31,6 +31,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
typedef struct MvcContext {
diff --git a/libavcodec/mvha.c b/libavcodec/mvha.c
index 097a52eff7..c58fd239a7 100644
--- a/libavcodec/mvha.c
+++ b/libavcodec/mvha.c
@@ -20,18 +20,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
#define CACHED_BITSTREAM_READER !ARCH_X86_32
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
-#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "lossless_videodsp.h"
#include "zlib_wrapper.h"
diff --git a/libavcodec/mwsc.c b/libavcodec/mwsc.c
index d804433cbb..8d971fa331 100644
--- a/libavcodec/mwsc.c
+++ b/libavcodec/mwsc.c
@@ -21,13 +21,11 @@
*/
#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "zlib_wrapper.h"
#include <zlib.h>
diff --git a/libavcodec/mxpegdec.c b/libavcodec/mxpegdec.c
index a9f2a2bc2b..b3862c7791 100644
--- a/libavcodec/mxpegdec.c
+++ b/libavcodec/mxpegdec.c
@@ -26,7 +26,7 @@
*/
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mjpeg.h"
#include "mjpegdec.h"
diff --git a/libavcodec/nellymoserdec.c b/libavcodec/nellymoserdec.c
index 5c8b23ecb3..3f1d1e028c 100644
--- a/libavcodec/nellymoserdec.c
+++ b/libavcodec/nellymoserdec.c
@@ -35,14 +35,13 @@
#include "libavutil/float_dsp.h"
#include "libavutil/lfg.h"
#include "libavutil/mem_internal.h"
-#include "libavutil/random_seed.h"
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "fft.h"
#include "get_bits.h"
-#include "internal.h"
#include "nellymoser.h"
#include "sinewin.h"
diff --git a/libavcodec/on2avc.c b/libavcodec/on2avc.c
index 1fccdc8745..3aadac4baf 100644
--- a/libavcodec/on2avc.c
+++ b/libavcodec/on2avc.c
@@ -28,9 +28,9 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "fft.h"
#include "get_bits.h"
-#include "internal.h"
#include "on2avcdata.h"
diff --git a/libavcodec/opusdec.c b/libavcodec/opusdec.c
index 17a4fc96c1..792eeb1507 100644
--- a/libavcodec/opusdec.c
+++ b/libavcodec/opusdec.c
@@ -44,9 +44,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "get_bits.h"
-#include "internal.h"
-#include "mathops.h"
+#include "decode.h"
#include "opus.h"
#include "opustab.h"
#include "opus_celt.h"
diff --git a/libavcodec/pafaudio.c b/libavcodec/pafaudio.c
index fc642db2ed..16f440dd87 100644
--- a/libavcodec/pafaudio.c
+++ b/libavcodec/pafaudio.c
@@ -24,7 +24,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mathops.h"
#include "paf.h"
diff --git a/libavcodec/pcm-bluray.c b/libavcodec/pcm-bluray.c
index 54338e679f..365b69b599 100644
--- a/libavcodec/pcm-bluray.c
+++ b/libavcodec/pcm-bluray.c
@@ -28,7 +28,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
/*
* Channel Mapping according to
diff --git a/libavcodec/pcm-dvd.c b/libavcodec/pcm-dvd.c
index 0f37c6e08e..358c9d5b0f 100644
--- a/libavcodec/pcm-dvd.c
+++ b/libavcodec/pcm-dvd.c
@@ -27,7 +27,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct PCMDVDContext {
uint32_t last_header; // Cached header to see if parsing is needed
diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c
index d097900235..8e87679329 100644
--- a/libavcodec/pcm.c
+++ b/libavcodec/pcm.c
@@ -33,9 +33,8 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "encode.h"
-#include "internal.h"
-#include "mathops.h"
#include "pcm_tablegen.h"
static av_cold int pcm_encode_init(AVCodecContext *avctx)
diff --git a/libavcodec/pcx.c b/libavcodec/pcx.c
index b21bdce5ce..7a47ef827c 100644
--- a/libavcodec/pcx.c
+++ b/libavcodec/pcx.c
@@ -26,6 +26,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
diff --git a/libavcodec/pgxdec.c b/libavcodec/pgxdec.c
index 52e2c2a36c..dcbf2a32dd 100644
--- a/libavcodec/pgxdec.c
+++ b/libavcodec/pgxdec.c
@@ -23,7 +23,7 @@
#include "internal.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "libavutil/imgutils.h"
+#include "decode.h"
static int pgx_get_number(AVCodecContext *avctx, GetByteContext *g, int *number) {
int ret = AVERROR_INVALIDDATA;
diff --git a/libavcodec/pictordec.c b/libavcodec/pictordec.c
index ed0292c797..f215f0d220 100644
--- a/libavcodec/pictordec.c
+++ b/libavcodec/pictordec.c
@@ -29,6 +29,7 @@
#include "bytestream.h"
#include "cga_data.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
typedef struct PicContext {
diff --git a/libavcodec/pnmdec.c b/libavcodec/pnmdec.c
index fbed282e93..6e807a7ac1 100644
--- a/libavcodec/pnmdec.c
+++ b/libavcodec/pnmdec.c
@@ -25,7 +25,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "put_bits.h"
#include "pnm.h"
diff --git a/libavcodec/prosumer.c b/libavcodec/prosumer.c
index c038b9db64..974b1657c3 100644
--- a/libavcodec/prosumer.c
+++ b/libavcodec/prosumer.c
@@ -23,7 +23,6 @@
#include <stdlib.h>
#include <string.h>
-#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem.h"
@@ -31,7 +30,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
typedef struct ProSumerContext {
GetByteContext gb;
diff --git a/libavcodec/psd.c b/libavcodec/psd.c
index 1d92163408..5a5c57e856 100644
--- a/libavcodec/psd.c
+++ b/libavcodec/psd.c
@@ -21,6 +21,7 @@
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
enum PsdCompr {
diff --git a/libavcodec/ptx.c b/libavcodec/ptx.c
index 1102049347..412df4d763 100644
--- a/libavcodec/ptx.c
+++ b/libavcodec/ptx.c
@@ -21,9 +21,9 @@
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
-#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
static int ptx_decode_frame(AVCodecContext *avctx, AVFrame *p,
diff --git a/libavcodec/qcelpdec.c b/libavcodec/qcelpdec.c
index 8a46ec5dab..f9da514834 100644
--- a/libavcodec/qcelpdec.c
+++ b/libavcodec/qcelpdec.c
@@ -27,14 +27,12 @@
* @remark Development mentored by Benjamin Larson
*/
-#include <stddef.h>
-
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "libavutil/float_dsp.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "qcelpdata.h"
#include "celp_filters.h"
diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c
index 12db585aa2..51ca1fb516 100644
--- a/libavcodec/qdm2.c
+++ b/libavcodec/qdm2.c
@@ -33,7 +33,6 @@
#include <math.h>
#include <stddef.h>
-#include <stdio.h>
#include "libavutil/channel_layout.h"
#include "libavutil/mem_internal.h"
@@ -44,7 +43,7 @@
#include "get_bits.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mpegaudio.h"
#include "mpegaudiodsp.h"
#include "rdft.h"
diff --git a/libavcodec/qdmc.c b/libavcodec/qdmc.c
index 0a66d66441..77bb8d1742 100644
--- a/libavcodec/qdmc.c
+++ b/libavcodec/qdmc.c
@@ -21,7 +21,6 @@
#include <math.h>
#include <stddef.h>
-#include <stdio.h>
#define BITSTREAM_READER_LE
@@ -32,8 +31,8 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
typedef struct QDMCTone {
uint8_t mode;
diff --git a/libavcodec/qdrw.c b/libavcodec/qdrw.c
index ff8f97713d..1aac7c8010 100644
--- a/libavcodec/qdrw.c
+++ b/libavcodec/qdrw.c
@@ -31,6 +31,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
enum QuickdrawOpcodes {
diff --git a/libavcodec/qpeg.c b/libavcodec/qpeg.c
index ea92b693cd..ea11e10b1a 100644
--- a/libavcodec/qpeg.c
+++ b/libavcodec/qpeg.c
@@ -28,7 +28,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
typedef struct QpegContext{
AVCodecContext *avctx;
diff --git a/libavcodec/r210dec.c b/libavcodec/r210dec.c
index 5ac285f286..163e203c73 100644
--- a/libavcodec/r210dec.c
+++ b/libavcodec/r210dec.c
@@ -23,7 +23,7 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "config_components.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/bswap.h"
#include "libavutil/common.h"
diff --git a/libavcodec/ra144dec.c b/libavcodec/ra144dec.c
index a56d4f7d51..f9c0900de0 100644
--- a/libavcodec/ra144dec.c
+++ b/libavcodec/ra144dec.c
@@ -25,8 +25,8 @@
#include "libavutil/channel_layout.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "ra144.h"
diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c
index 4b2cc188b4..73242669d3 100644
--- a/libavcodec/ra288.c
+++ b/libavcodec/ra288.c
@@ -28,8 +28,8 @@
#include "avcodec.h"
#include "celp_filters.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "lpc.h"
#include "ra288.h"
diff --git a/libavcodec/ralf.c b/libavcodec/ralf.c
index ff4556b707..5efa919e09 100644
--- a/libavcodec/ralf.c
+++ b/libavcodec/ralf.c
@@ -30,9 +30,9 @@
#include "libavutil/channel_layout.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "golomb.h"
-#include "internal.h"
#include "unary.h"
#include "ralfdata.h"
diff --git a/libavcodec/rasc.c b/libavcodec/rasc.c
index 805e29338d..a74b4d145c 100644
--- a/libavcodec/rasc.c
+++ b/libavcodec/rasc.c
@@ -21,15 +21,14 @@
*/
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
-#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "zlib_wrapper.h"
diff --git a/libavcodec/rl2.c b/libavcodec/rl2.c
index fc022ff43e..e7c3800f9e 100644
--- a/libavcodec/rl2.c
+++ b/libavcodec/rl2.c
@@ -35,6 +35,7 @@
#include "libavutil/mem.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
diff --git a/libavcodec/s302m.c b/libavcodec/s302m.c
index fb7b6e240b..07d036e932 100644
--- a/libavcodec/s302m.c
+++ b/libavcodec/s302m.c
@@ -27,8 +27,7 @@
#include "libavutil/reverse.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
-#include "mathops.h"
+#include "decode.h"
#define AES3_HEADER_LEN 4
diff --git a/libavcodec/sanm.c b/libavcodec/sanm.c
index 775768b7a0..064e812e51 100644
--- a/libavcodec/sanm.c
+++ b/libavcodec/sanm.c
@@ -28,6 +28,7 @@
#include "bytestream.h"
#include "copy_block.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#define NGLYPHS 256
diff --git a/libavcodec/sbcdec.c b/libavcodec/sbcdec.c
index b7e59d7124..3c955d5b96 100644
--- a/libavcodec/sbcdec.c
+++ b/libavcodec/sbcdec.c
@@ -32,7 +32,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem_internal.h"
diff --git a/libavcodec/scpr.c b/libavcodec/scpr.c
index ff78041386..3abde1c17a 100644
--- a/libavcodec/scpr.c
+++ b/libavcodec/scpr.c
@@ -20,15 +20,12 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "scpr.h"
#include "scpr3.h"
diff --git a/libavcodec/scpr3.c b/libavcodec/scpr3.c
index 78c58889cb..d9ea6af1c1 100644
--- a/libavcodec/scpr3.c
+++ b/libavcodec/scpr3.c
@@ -28,7 +28,6 @@
#include "avcodec.h"
#include "bytestream.h"
-#include "internal.h"
#include "scpr.h"
static void renew_table3(uint32_t nsym, uint32_t *cntsum,
diff --git a/libavcodec/sga.c b/libavcodec/sga.c
index 27918ee2b3..febe950424 100644
--- a/libavcodec/sga.c
+++ b/libavcodec/sga.c
@@ -23,6 +23,7 @@
#include "get_bits.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#define PALDATA_FOLLOWS_TILEDATA 4
diff --git a/libavcodec/sgidec.c b/libavcodec/sgidec.c
index 965461de5f..c1070d5c95 100644
--- a/libavcodec/sgidec.c
+++ b/libavcodec/sgidec.c
@@ -23,6 +23,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "sgi.h"
diff --git a/libavcodec/sgirledec.c b/libavcodec/sgirledec.c
index a9fd24c406..c1d1da25c4 100644
--- a/libavcodec/sgirledec.c
+++ b/libavcodec/sgirledec.c
@@ -30,7 +30,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static av_cold int sgirle_decode_init(AVCodecContext *avctx)
{
diff --git a/libavcodec/shorten.c b/libavcodec/shorten.c
index 39aa1475bd..02864d06ae 100644
--- a/libavcodec/shorten.c
+++ b/libavcodec/shorten.c
@@ -30,9 +30,9 @@
#include "bswapdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "golomb.h"
-#include "internal.h"
#define MAX_CHANNELS 8
#define MAX_BLOCKSIZE 65535
diff --git a/libavcodec/sipr.c b/libavcodec/sipr.c
index bf8d627e16..d28bc760ca 100644
--- a/libavcodec/sipr.c
+++ b/libavcodec/sipr.c
@@ -32,8 +32,8 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "lsp.h"
#include "acelp_vectors.h"
#include "acelp_pitch_delay.h"
diff --git a/libavcodec/siren.c b/libavcodec/siren.c
index e7a5a33553..8a22825615 100644
--- a/libavcodec/siren.c
+++ b/libavcodec/siren.c
@@ -28,9 +28,8 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
-#include "mathops.h"
static const uint8_t index_table[8] = {4, 4, 3, 3, 2, 2, 1, 0};
static const uint8_t vector_dimension[8] = { 2, 2, 2, 4, 4, 5, 5, 1 };
diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c
index 5ef84a068f..2b1c4aebb5 100644
--- a/libavcodec/smacker.c
+++ b/libavcodec/smacker.c
@@ -28,8 +28,7 @@
* Based on http://wiki.multimedia.cx/index.php?title=Smacker
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include <stddef.h>
#include "libavutil/channel_layout.h"
@@ -53,8 +52,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
-#include "mathops.h"
typedef struct SmackVContext {
AVCodecContext *avctx;
diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index 5e0033063d..aa15fccc42 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -18,21 +18,16 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/intmath.h"
#include "libavutil/log.h"
-#include "libavutil/opt.h"
#include "libavutil/thread.h"
#include "avcodec.h"
+#include "decode.h"
#include "encode.h"
#include "me_cmp.h"
#include "snow_dwt.h"
-#include "internal.h"
#include "snow.h"
#include "snowdata.h"
-#include "rangecoder.h"
-#include "mathops.h"
-
void ff_snow_inner_add_yblock(const uint8_t *obmc, const int obmc_stride, uint8_t * * block, int b_w, int b_h,
int src_x, int src_y, int src_stride, slice_buffer * sb, int add, uint8_t * dst8){
diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c
index 2dc6ac3f2d..50fd171231 100644
--- a/libavcodec/sonic.c
+++ b/libavcodec/sonic.c
@@ -23,10 +23,10 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "encode.h"
#include "get_bits.h"
#include "golomb.h"
-#include "internal.h"
#include "put_golomb.h"
#include "rangecoder.h"
diff --git a/libavcodec/speedhq.c b/libavcodec/speedhq.c
index c43de4f199..b3b3f091d6 100644
--- a/libavcodec/speedhq.c
+++ b/libavcodec/speedhq.c
@@ -26,7 +26,6 @@
#define BITSTREAM_READER_LE
-#include "config.h"
#include "config_components.h"
#include "libavutil/attributes.h"
#include "libavutil/mem_internal.h"
@@ -34,9 +33,9 @@
#include "avcodec.h"
#include "blockdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "idctdsp.h"
-#include "internal.h"
#include "libavutil/thread.h"
#include "mathops.h"
#include "mpeg12dec.h"
diff --git a/libavcodec/speexdec.c b/libavcodec/speexdec.c
index 92a4f392a7..d16317ddec 100644
--- a/libavcodec/speexdec.c
+++ b/libavcodec/speexdec.c
@@ -56,8 +56,8 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "speexdata.h"
#define SPEEX_NB_MODES 3
diff --git a/libavcodec/sunrast.c b/libavcodec/sunrast.c
index e543757a39..51695c353c 100644
--- a/libavcodec/sunrast.c
+++ b/libavcodec/sunrast.c
@@ -24,6 +24,7 @@
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "sunrast.h"
diff --git a/libavcodec/svq1dec.c b/libavcodec/svq1dec.c
index 27feac354c..e091e4279f 100644
--- a/libavcodec/svq1dec.c
+++ b/libavcodec/svq1dec.c
@@ -37,6 +37,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "h263data.h"
#include "hpeldsp.h"
diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index 1c3ed3c2fd..d4fff0557b 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -47,6 +47,7 @@
#include "libavutil/mem_internal.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "avcodec.h"
#include "mpegutils.h"
diff --git a/libavcodec/targa.c b/libavcodec/targa.c
index 833576c6b3..2901d908de 100644
--- a/libavcodec/targa.c
+++ b/libavcodec/targa.c
@@ -24,6 +24,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "targa.h"
diff --git a/libavcodec/targa_y216dec.c b/libavcodec/targa_y216dec.c
index 1c19857547..ab98597492 100644
--- a/libavcodec/targa_y216dec.c
+++ b/libavcodec/targa_y216dec.c
@@ -21,7 +21,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static av_cold int y216_decode_init(AVCodecContext *avctx)
{
diff --git a/libavcodec/tdsc.c b/libavcodec/tdsc.c
index 7e16a32093..c4e4d35ee8 100644
--- a/libavcodec/tdsc.c
+++ b/libavcodec/tdsc.c
@@ -41,6 +41,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#define BITMAPINFOHEADER_SIZE 0x28
diff --git a/libavcodec/tmv.c b/libavcodec/tmv.c
index 22329f2db0..fff3806e04 100644
--- a/libavcodec/tmv.c
+++ b/libavcodec/tmv.c
@@ -30,7 +30,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/internal.h"
#include "libavutil/xga_font_data.h"
diff --git a/libavcodec/truemotion2rt.c b/libavcodec/truemotion2rt.c
index 46452a772b..265ca87456 100644
--- a/libavcodec/truemotion2rt.c
+++ b/libavcodec/truemotion2rt.c
@@ -29,6 +29,7 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
diff --git a/libavcodec/truespeech.c b/libavcodec/truespeech.c
index f0cfada11c..2493a944cf 100644
--- a/libavcodec/truespeech.c
+++ b/libavcodec/truespeech.c
@@ -20,14 +20,13 @@
*/
#include "libavutil/channel_layout.h"
-#include "libavutil/intreadwrite.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "bswapdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "truespeech_data.h"
/**
diff --git a/libavcodec/twinvq.c b/libavcodec/twinvq.c
index ba84c8c6b0..da10923d78 100644
--- a/libavcodec/twinvq.c
+++ b/libavcodec/twinvq.c
@@ -25,8 +25,8 @@
#include "libavutil/channel_layout.h"
#include "libavutil/float_dsp.h"
#include "avcodec.h"
+#include "decode.h"
#include "fft.h"
-#include "internal.h"
#include "lsp.h"
#include "sinewin.h"
#include "twinvq.h"
diff --git a/libavcodec/txd.c b/libavcodec/txd.c
index 8b1da773a3..8862f14bd8 100644
--- a/libavcodec/txd.c
+++ b/libavcodec/txd.c
@@ -26,6 +26,7 @@
#include "bytestream.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "texturedsp.h"
diff --git a/libavcodec/v210x.c b/libavcodec/v210x.c
index f388a1cf9a..dc188eb8a3 100644
--- a/libavcodec/v210x.c
+++ b/libavcodec/v210x.c
@@ -20,7 +20,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/bswap.h"
#include "libavutil/internal.h"
diff --git a/libavcodec/v308dec.c b/libavcodec/v308dec.c
index a6a699cab7..ee9d723dd6 100644
--- a/libavcodec/v308dec.c
+++ b/libavcodec/v308dec.c
@@ -21,7 +21,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static av_cold int v308_decode_init(AVCodecContext *avctx)
{
diff --git a/libavcodec/v408dec.c b/libavcodec/v408dec.c
index 694ee96b77..0c1d0244d0 100644
--- a/libavcodec/v408dec.c
+++ b/libavcodec/v408dec.c
@@ -23,7 +23,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static av_cold int v408_decode_init(AVCodecContext *avctx)
{
diff --git a/libavcodec/vb.c b/libavcodec/vb.c
index 0bd2cb6185..9024f0947c 100644
--- a/libavcodec/vb.c
+++ b/libavcodec/vb.c
@@ -24,13 +24,10 @@
* VB Video decoder
*/
-#include <stdio.h>
-#include <stdlib.h>
-
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
enum VBFlags {
VB_HAS_GMC = 0x01,
diff --git a/libavcodec/vbndec.c b/libavcodec/vbndec.c
index 8be625c89e..706760f376 100644
--- a/libavcodec/vbndec.c
+++ b/libavcodec/vbndec.c
@@ -26,6 +26,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "texturedsp.h"
#include "vbn.h"
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 065b43cb11..60e86acfd9 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -34,7 +34,6 @@
#include "decode.h"
#include "get_bits.h"
#include "hwconfig.h"
-#include "internal.h"
#include "mpeg_er.h"
#include "mpegvideo.h"
#include "mpegvideodec.h"
diff --git a/libavcodec/vcr1.c b/libavcodec/vcr1.c
index b149c9f162..a97412fe7d 100644
--- a/libavcodec/vcr1.c
+++ b/libavcodec/vcr1.c
@@ -26,7 +26,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/avassert.h"
#include "libavutil/internal.h"
diff --git a/libavcodec/vima.c b/libavcodec/vima.c
index 9a7726168b..0ccf2dd877 100644
--- a/libavcodec/vima.c
+++ b/libavcodec/vima.c
@@ -31,8 +31,8 @@
#include "adpcm_data.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
static uint16_t predict_table[5786 * 2];
diff --git a/libavcodec/vmdaudio.c b/libavcodec/vmdaudio.c
index e54e341f90..158b02f6d9 100644
--- a/libavcodec/vmdaudio.c
+++ b/libavcodec/vmdaudio.c
@@ -42,7 +42,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#define BLOCK_TYPE_AUDIO 1
#define BLOCK_TYPE_INITIAL 2
diff --git a/libavcodec/vmdvideo.c b/libavcodec/vmdvideo.c
index 131e013a94..3e530e6ee5 100644
--- a/libavcodec/vmdvideo.c
+++ b/libavcodec/vmdvideo.c
@@ -40,7 +40,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "bytestream.h"
#define VMD_HEADER_SIZE 0x330
diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c
index b94b4a34e0..8addc07dcf 100644
--- a/libavcodec/vorbisdec.c
+++ b/libavcodec/vorbisdec.c
@@ -35,9 +35,9 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "fft.h"
#include "get_bits.h"
-#include "internal.h"
#include "vorbis.h"
#include "vorbisdsp.h"
#include "xiph.h"
diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c
index 3863af15e5..1c58096bdb 100644
--- a/libavcodec/vp56.c
+++ b/libavcodec/vp56.c
@@ -25,6 +25,7 @@
#include "avcodec.h"
#include "bytestream.h"
+#include "decode.h"
#include "internal.h"
#include "h264chroma.h"
#include "vp56.h"
diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c
index 755fd39521..c3badcd5f9 100644
--- a/libavcodec/wmadec.c
+++ b/libavcodec/wmadec.c
@@ -40,6 +40,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "wma.h"
diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c
index 6ba9f04d25..fa4230c1b5 100644
--- a/libavcodec/wmalosslessdec.c
+++ b/libavcodec/wmalosslessdec.c
@@ -30,11 +30,10 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "put_bits.h"
#include "lossless_audiodsp.h"
-#include "wma.h"
#include "wma_common.h"
/** current decoder limitations */
diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
index 136522bbf6..b90fd581f0 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -98,8 +98,9 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
+#include "internal.h"
#include "put_bits.h"
#include "wmaprodata.h"
#include "sinewin.h"
diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c
index 6f6cc949f9..6b7e9d5a31 100644
--- a/libavcodec/wmavoice.c
+++ b/libavcodec/wmavoice.c
@@ -33,7 +33,7 @@
#include "libavutil/thread.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "put_bits.h"
#include "wmavoice_data.h"
diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c
index 8e568e7386..ff5238eed0 100644
--- a/libavcodec/wnv1.c
+++ b/libavcodec/wnv1.c
@@ -29,8 +29,8 @@
#define BITSTREAM_READER_LE
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
static const uint8_t code_tab[16][2] = {
{ 7, 1 }, { 8, 3 }, { 6, 3 }, { 9, 4 }, { 5, 4 }, { 10, 5 }, { 4, 5 },
diff --git a/libavcodec/ws-snd1.c b/libavcodec/ws-snd1.c
index ceda57597f..6dcb8d2a24 100644
--- a/libavcodec/ws-snd1.c
+++ b/libavcodec/ws-snd1.c
@@ -26,7 +26,7 @@
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
/**
* @file
diff --git a/libavcodec/xan.c b/libavcodec/xan.c
index cdc302f6d1..d9df569a04 100644
--- a/libavcodec/xan.c
+++ b/libavcodec/xan.c
@@ -28,8 +28,6 @@
* The xan_wc3 decoder outputs PAL8 data.
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "libavutil/intreadwrite.h"
@@ -39,8 +37,8 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#define RUNTIME_GAMMA 0
diff --git a/libavcodec/xbmdec.c b/libavcodec/xbmdec.c
index 62ce46f3a7..a28da08a29 100644
--- a/libavcodec/xbmdec.c
+++ b/libavcodec/xbmdec.c
@@ -25,6 +25,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "mathops.h"
diff --git a/libavcodec/xfacedec.c b/libavcodec/xfacedec.c
index 880a62c976..eb16bb6727 100644
--- a/libavcodec/xfacedec.c
+++ b/libavcodec/xfacedec.c
@@ -24,11 +24,9 @@
* X-Face decoder, based on libcompface, by James Ashton.
*/
-#include "libavutil/pixdesc.h"
#include "avcodec.h"
-#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "xface.h"
static int pop_integer(BigInt *b, const ProbRange *pranges)
diff --git a/libavcodec/xl.c b/libavcodec/xl.c
index 6fb050d71f..ada0959346 100644
--- a/libavcodec/xl.c
+++ b/libavcodec/xl.c
@@ -28,7 +28,7 @@
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static const int xl_table[32] = {
0, 1, 2, 3, 4, 5, 6, 7,
diff --git a/libavcodec/xpmdec.c b/libavcodec/xpmdec.c
index 26d076d2e8..a1d5635874 100644
--- a/libavcodec/xpmdec.c
+++ b/libavcodec/xpmdec.c
@@ -21,10 +21,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/parseutils.h"
#include "libavutil/avstring.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#define MIN_ELEMENT ' '
diff --git a/libavcodec/xwddec.c b/libavcodec/xwddec.c
index f8afab598d..43d4bb5e84 100644
--- a/libavcodec/xwddec.c
+++ b/libavcodec/xwddec.c
@@ -26,6 +26,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "internal.h"
#include "xwd.h"
diff --git a/libavcodec/y41pdec.c b/libavcodec/y41pdec.c
index 717909745b..7d63228937 100644
--- a/libavcodec/y41pdec.c
+++ b/libavcodec/y41pdec.c
@@ -22,7 +22,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static av_cold int y41p_decode_init(AVCodecContext *avctx)
{
diff --git a/libavcodec/yuv4dec.c b/libavcodec/yuv4dec.c
index 4a1551eb6c..274b8b7b2d 100644
--- a/libavcodec/yuv4dec.c
+++ b/libavcodec/yuv4dec.c
@@ -22,7 +22,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
static av_cold int yuv4_decode_init(AVCodecContext *avctx)
{
diff --git a/libavcodec/zerocodec.c b/libavcodec/zerocodec.c
index 8a0d8bc677..c369ff8e3c 100644
--- a/libavcodec/zerocodec.c
+++ b/libavcodec/zerocodec.c
@@ -20,7 +20,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "zlib_wrapper.h"
#include "libavutil/common.h"
diff --git a/libavcodec/zmbv.c b/libavcodec/zmbv.c
index a6d9824197..edbd88eb73 100644
--- a/libavcodec/zmbv.c
+++ b/libavcodec/zmbv.c
@@ -24,15 +24,14 @@
* Zip Motion Blocks Video decoder
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include <stddef.h>
#include "libavutil/common.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "zlib_wrapper.h"
#include <zlib.h>
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 16/21] avcodec/internal: Move ff_set_sar() to decode.h
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (13 preceding siblings ...)
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 15/21] avcodec/internal: Move ff_get_buffer() " Andreas Rheinhardt
@ 2022-08-25 16:33 ` Andreas Rheinhardt
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 17/21] avcodec/internal: Move ff_set_dimensions() " Andreas Rheinhardt
` (5 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 16:33 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Only used by decoders, as the SAR has to be set by the user
when encoding.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/av1dec.c | 1 +
libavcodec/decode.h | 6 ++++++
libavcodec/dvdec.c | 1 +
libavcodec/exr.c | 1 +
libavcodec/h264_slice.c | 1 +
libavcodec/hevcdec.c | 1 +
libavcodec/internal.h | 6 ------
libavcodec/vc1.c | 1 +
libavcodec/vp3.c | 1 +
9 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
index 8abb7b3b34..7b5b2c996a 100644
--- a/libavcodec/av1dec.c
+++ b/libavcodec/av1dec.c
@@ -27,6 +27,7 @@
#include "av1dec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "hwconfig.h"
#include "internal.h"
#include "profiles.h"
diff --git a/libavcodec/decode.h b/libavcodec/decode.h
index 25db4a9e4d..b82d953516 100644
--- a/libavcodec/decode.h
+++ b/libavcodec/decode.h
@@ -99,6 +99,12 @@ int ff_copy_palette(void *dst, const AVPacket *src, void *logctx);
*/
int ff_decode_preinit(AVCodecContext *avctx);
+/**
+ * Check that the provided sample aspect ratio is valid and set it on the codec
+ * context.
+ */
+int ff_set_sar(AVCodecContext *avctx, AVRational sar);
+
/**
* Select the (possibly hardware accelerated) pixel format.
* This is a wrapper around AVCodecContext.get_format() and should be used
diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c
index f7423580aa..d1de9cd9e2 100644
--- a/libavcodec/dvdec.c
+++ b/libavcodec/dvdec.c
@@ -44,6 +44,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "dv.h"
#include "dv_profile_internal.h"
#include "dvdata.h"
diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index 859dd6fedd..a62cc95d28 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -51,6 +51,7 @@
#endif
#include "codec_internal.h"
+#include "decode.h"
#include "exrdsp.h"
#include "get_bits.h"
#include "internal.h"
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 8f9d0a6231..6f0a7c1fb7 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -36,6 +36,7 @@
#include "internal.h"
#include "cabac.h"
#include "cabac_functions.h"
+#include "decode.h"
#include "error_resilience.h"
#include "avcodec.h"
#include "h264.h"
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index 477d6d9d36..ed6cef6bfb 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -42,6 +42,7 @@
#include "bytestream.h"
#include "cabac_functions.h"
#include "codec_internal.h"
+#include "decode.h"
#include "golomb.h"
#include "hevc.h"
#include "hevc_data.h"
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 0c581a4cf3..13d33f0ad3 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -223,12 +223,6 @@ int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec);
*/
int ff_set_dimensions(AVCodecContext *s, int width, int height);
-/**
- * Check that the provided sample aspect ratio is valid and set it on the codec
- * context.
- */
-int ff_set_sar(AVCodecContext *avctx, AVRational sar);
-
/**
* Add or update AV_FRAME_DATA_MATRIXENCODING side data.
*/
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 1070b8ca90..d46f551020 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -30,6 +30,7 @@
#include "libavutil/thread.h"
#include "internal.h"
#include "avcodec.h"
+#include "decode.h"
#include "mpegvideo.h"
#include "vc1.h"
#include "vc1data.h"
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index 3f6b0100d9..0f040c338f 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -41,6 +41,7 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "hpeldsp.h"
#include "internal.h"
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 17/21] avcodec/internal: Move ff_set_dimensions() to decode.h
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (14 preceding siblings ...)
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 16/21] avcodec/internal: Move ff_set_sar() " Andreas Rheinhardt
@ 2022-08-25 16:33 ` Andreas Rheinhardt
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 18/21] avcodec/internal: Move ff_samples_to_time_base() to encode.h Andreas Rheinhardt
` (4 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 16:33 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Decoder-only, as the dimensions are set by the user when encoding.
Also fixup the other headers a bit while removing unnecessary internal.h
inclusions.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/agm.c | 3 ---
libavcodec/aliaspixdec.c | 1 -
libavcodec/ansi.c | 2 --
libavcodec/av1dec.c | 1 -
libavcodec/avs.c | 1 -
libavcodec/bmp.c | 1 -
libavcodec/brenderpix.c | 1 -
libavcodec/c93.c | 1 -
libavcodec/cavsdec.c | 1 -
libavcodec/cdgraphics.c | 1 -
libavcodec/cdxl.c | 2 --
libavcodec/cfhd.c | 4 ++--
libavcodec/clearvideo.c | 1 -
libavcodec/cri.c | 2 +-
libavcodec/dds.c | 2 --
libavcodec/decode.h | 6 ++++++
libavcodec/diracdec.c | 3 ---
libavcodec/dnxhddec.c | 4 ++--
libavcodec/dpx.c | 2 --
libavcodec/dvbsubdec.c | 2 +-
libavcodec/dvdec.c | 3 ---
libavcodec/dvdsubdec.c | 2 +-
libavcodec/eacmv.c | 1 -
libavcodec/eamad.c | 1 -
libavcodec/eatgq.c | 1 -
libavcodec/eatgv.c | 2 --
libavcodec/eatqi.c | 1 -
libavcodec/exr.c | 1 -
libavcodec/fitsdec.c | 1 -
libavcodec/flashsv.c | 4 +---
libavcodec/g2meet.c | 3 ---
libavcodec/gemdec.c | 1 -
libavcodec/gifdec.c | 2 --
libavcodec/h261dec.c | 2 +-
libavcodec/h263dec.c | 1 -
libavcodec/hdrdec.c | 5 +----
libavcodec/hq_hqa.c | 2 --
libavcodec/imm4.c | 4 +---
libavcodec/indeo3.c | 1 -
libavcodec/internal.h | 6 ------
libavcodec/ivi.c | 1 -
libavcodec/jpeg2000dec.c | 2 +-
libavcodec/kgv1dec.c | 1 -
libavcodec/libaomdec.c | 1 -
libavcodec/libjxldec.c | 1 -
libavcodec/libopenh264dec.c | 1 -
libavcodec/libopenjpegdec.c | 2 +-
libavcodec/librsvgdec.c | 1 -
libavcodec/libuavs3d.c | 1 -
libavcodec/libvpxdec.c | 1 -
libavcodec/magicyuv.c | 3 +--
libavcodec/mediacodecdec_common.c | 1 -
libavcodec/mimic.c | 4 +---
libavcodec/mpeg4video_parser.c | 2 +-
libavcodec/mpegvideo_parser.c | 2 +-
libavcodec/mvcdec.c | 1 -
libavcodec/notchlc.c | 4 +---
libavcodec/nuv.c | 6 +-----
libavcodec/pcx.c | 2 --
libavcodec/pgssubdec.c | 3 +--
libavcodec/pgxdec.c | 1 -
libavcodec/photocd.c | 2 +-
libavcodec/pictordec.c | 1 -
libavcodec/pixlet.c | 4 +---
libavcodec/pngdec.c | 2 +-
libavcodec/pnm.c | 2 +-
libavcodec/proresdec2.c | 3 +--
libavcodec/psd.c | 1 -
libavcodec/ptx.c | 1 -
libavcodec/qdrw.c | 1 -
libavcodec/qoidec.c | 5 +----
libavcodec/rasc.c | 1 -
libavcodec/rl2.c | 3 ---
libavcodec/rv10.c | 2 +-
libavcodec/rv34.c | 3 +--
libavcodec/sanm.c | 3 ---
libavcodec/sga.c | 1 -
libavcodec/sgidec.c | 2 --
libavcodec/sunrast.c | 2 --
libavcodec/svq1dec.c | 1 -
libavcodec/svq3.c | 3 ---
libavcodec/targa.c | 3 ---
libavcodec/tdsc.c | 1 -
libavcodec/tiertexseqv.c | 1 -
libavcodec/tiff.c | 5 +----
libavcodec/truemotion1.c | 1 -
libavcodec/truemotion2rt.c | 6 ------
libavcodec/txd.c | 3 ---
libavcodec/v4l2_context.c | 2 +-
libavcodec/vbndec.c | 1 -
libavcodec/vc1.c | 1 -
libavcodec/vp3.c | 4 +---
libavcodec/vp5.c | 3 +--
libavcodec/vp56.c | 1 -
libavcodec/vp6.c | 2 +-
libavcodec/vp8.c | 3 ---
libavcodec/vp9.c | 2 +-
libavcodec/vqavideo.c | 3 ---
libavcodec/wbmpdec.c | 2 +-
libavcodec/webp.c | 2 +-
libavcodec/xbmdec.c | 3 ---
libavcodec/xpmdec.c | 1 -
libavcodec/xwddec.c | 1 -
103 files changed, 42 insertions(+), 178 deletions(-)
diff --git a/libavcodec/agm.c b/libavcodec/agm.c
index 08a5f05b91..38d9c67f80 100644
--- a/libavcodec/agm.c
+++ b/libavcodec/agm.c
@@ -20,8 +20,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#define BITSTREAM_READER_LE
@@ -35,7 +33,6 @@
#include "decode.h"
#include "get_bits.h"
#include "idctdsp.h"
-#include "internal.h"
static const uint8_t unscaled_luma[64] = {
16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19,
diff --git a/libavcodec/aliaspixdec.c b/libavcodec/aliaspixdec.c
index 522b894af5..7dedfe3aa1 100644
--- a/libavcodec/aliaspixdec.c
+++ b/libavcodec/aliaspixdec.c
@@ -25,7 +25,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define ALIAS_HEADER_SIZE 10
diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c
index 1cd9ebceba..89bde59b40 100644
--- a/libavcodec/ansi.c
+++ b/libavcodec/ansi.c
@@ -26,13 +26,11 @@
#include "libavutil/common.h"
#include "libavutil/frame.h"
-#include "libavutil/lfg.h"
#include "libavutil/xga_font_data.h"
#include "avcodec.h"
#include "cga_data.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define ATTR_BOLD 0x01 /**< Bold/Bright-foreground (mode 1) */
#define ATTR_FAINT 0x02 /**< Faint (mode 2) */
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
index 7b5b2c996a..401462701f 100644
--- a/libavcodec/av1dec.c
+++ b/libavcodec/av1dec.c
@@ -29,7 +29,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "hwconfig.h"
-#include "internal.h"
#include "profiles.h"
#include "thread.h"
diff --git a/libavcodec/avs.c b/libavcodec/avs.c
index 86a41a31be..ca2b2d4701 100644
--- a/libavcodec/avs.c
+++ b/libavcodec/avs.c
@@ -23,7 +23,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
typedef struct AvsContext {
AVFrame *frame;
diff --git a/libavcodec/bmp.c b/libavcodec/bmp.c
index 7bbaabcda4..d381eb2eee 100644
--- a/libavcodec/bmp.c
+++ b/libavcodec/bmp.c
@@ -26,7 +26,6 @@
#include "bmp.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "msrledec.h"
static int bmp_decode_frame(AVCodecContext *avctx, AVFrame *p,
diff --git a/libavcodec/brenderpix.c b/libavcodec/brenderpix.c
index 2d8e978c1e..170acc39a3 100644
--- a/libavcodec/brenderpix.c
+++ b/libavcodec/brenderpix.c
@@ -27,7 +27,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define HEADER1_CHUNK 0x03
#define HEADER2_CHUNK 0x3D
diff --git a/libavcodec/c93.c b/libavcodec/c93.c
index 871ae589e6..03381f1e88 100644
--- a/libavcodec/c93.c
+++ b/libavcodec/c93.c
@@ -23,7 +23,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
typedef struct C93DecoderContext {
AVFrame *pictures[2];
diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c
index 417c73bd2e..3d4e306c93 100644
--- a/libavcodec/cavsdec.c
+++ b/libavcodec/cavsdec.c
@@ -32,7 +32,6 @@
#include "cavs.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "mathops.h"
#include "mpeg12data.h"
#include "startcode.h"
diff --git a/libavcodec/cdgraphics.c b/libavcodec/cdgraphics.c
index 240c57d5f8..19366bdcfe 100644
--- a/libavcodec/cdgraphics.c
+++ b/libavcodec/cdgraphics.c
@@ -23,7 +23,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
/**
* @file
diff --git a/libavcodec/cdxl.c b/libavcodec/cdxl.c
index 64fcdffba4..5821aaeb22 100644
--- a/libavcodec/cdxl.c
+++ b/libavcodec/cdxl.c
@@ -28,13 +28,11 @@
#define UNCHECKED_BITSTREAM_READER 1
#include "libavutil/intreadwrite.h"
-#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#define BIT_PLANAR 0x00
#define CHUNKY 0x20
diff --git a/libavcodec/cfhd.c b/libavcodec/cfhd.c
index 9f218f6384..f908aaf8fb 100644
--- a/libavcodec/cfhd.c
+++ b/libavcodec/cfhd.c
@@ -26,13 +26,13 @@
#include "libavutil/attributes.h"
#include "libavutil/buffer.h"
#include "libavutil/common.h"
-#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
-#include "libavutil/opt.h"
+#include "libavutil/pixdesc.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
#include "thread.h"
diff --git a/libavcodec/clearvideo.c b/libavcodec/clearvideo.c
index 4e5fc02e23..8615bf2a51 100644
--- a/libavcodec/clearvideo.c
+++ b/libavcodec/clearvideo.c
@@ -33,7 +33,6 @@
#include "decode.h"
#include "get_bits.h"
#include "idctdsp.h"
-#include "internal.h"
#include "mathops.h"
#include "clearvideodata.h"
diff --git a/libavcodec/cri.c b/libavcodec/cri.c
index 2ac04575b7..65eb53d22e 100644
--- a/libavcodec/cri.c
+++ b/libavcodec/cri.c
@@ -32,8 +32,8 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "thread.h"
typedef struct CRIContext {
diff --git a/libavcodec/dds.c b/libavcodec/dds.c
index 63f63efca2..6904191310 100644
--- a/libavcodec/dds.c
+++ b/libavcodec/dds.c
@@ -35,9 +35,7 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "texturedsp.h"
-#include "thread.h"
#define DDPF_FOURCC (1 << 2)
#define DDPF_PALETTE (1 << 5)
diff --git a/libavcodec/decode.h b/libavcodec/decode.h
index b82d953516..d40327d5ab 100644
--- a/libavcodec/decode.h
+++ b/libavcodec/decode.h
@@ -99,6 +99,12 @@ int ff_copy_palette(void *dst, const AVPacket *src, void *logctx);
*/
int ff_decode_preinit(AVCodecContext *avctx);
+/**
+ * Check that the provided frame dimensions are valid and set them on the codec
+ * context.
+ */
+int ff_set_dimensions(AVCodecContext *s, int width, int height);
+
/**
* Check that the provided sample aspect ratio is valid and set it on the codec
* context.
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index 59c5e81904..ef00c29150 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -31,14 +31,11 @@
#include "libavutil/thread.h"
#include "avcodec.h"
#include "get_bits.h"
-#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "golomb.h"
#include "dirac_arith.h"
#include "dirac_vlc.h"
-#include "mpeg12data.h"
#include "mpegpicture.h"
#include "mpegvideoencdsp.h"
#include "dirac_dwt.h"
diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
index 8b6c473c5b..1c749d026c 100644
--- a/libavcodec/dnxhddec.c
+++ b/libavcodec/dnxhddec.c
@@ -24,17 +24,17 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/imgutils.h"
#include "libavutil/mem_internal.h"
+#include "libavutil/pixdesc.h"
#include "avcodec.h"
#include "blockdsp.h"
#include "codec_internal.h"
+#include "decode.h"
#define UNCHECKED_BITSTREAM_READER 1
#include "get_bits.h"
#include "dnxhddata.h"
#include "idctdsp.h"
-#include "internal.h"
#include "profiles.h"
#include "thread.h"
diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c
index c3f0d3f95a..afd9f17b04 100644
--- a/libavcodec/dpx.c
+++ b/libavcodec/dpx.c
@@ -24,11 +24,9 @@
#include "libavutil/intfloat.h"
#include "libavutil/imgutils.h"
#include "libavutil/timecode.h"
-#include "bytestream.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
enum DPX_TRC {
DPX_TRC_USER_DEFINED = 0,
diff --git a/libavcodec/dvbsubdec.c b/libavcodec/dvbsubdec.c
index 90c062502b..63d4a13bcb 100644
--- a/libavcodec/dvbsubdec.c
+++ b/libavcodec/dvbsubdec.c
@@ -23,7 +23,7 @@
#include "get_bits.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "libavutil/colorspace.h"
#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c
index d1de9cd9e2..12e837c9ff 100644
--- a/libavcodec/dvdec.c
+++ b/libavcodec/dvdec.c
@@ -36,10 +36,8 @@
*/
#include "libavutil/avassert.h"
-#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/mem_internal.h"
-#include "libavutil/pixdesc.h"
#include "libavutil/thread.h"
#include "avcodec.h"
@@ -49,7 +47,6 @@
#include "dv_profile_internal.h"
#include "dvdata.h"
#include "get_bits.h"
-#include "internal.h"
#include "put_bits.h"
#include "simple_idct.h"
#include "thread.h"
diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
index 7fa3363a9c..4b692c093f 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
@@ -21,13 +21,13 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "internal.h"
#include "libavutil/attributes.h"
#include "libavutil/colorspace.h"
#include "libavutil/opt.h"
-#include "libavutil/imgutils.h"
#include "libavutil/bswap.h"
typedef struct DVDSubContext
diff --git a/libavcodec/eacmv.c b/libavcodec/eacmv.c
index 733cc2a1c0..e8d757ed37 100644
--- a/libavcodec/eacmv.c
+++ b/libavcodec/eacmv.c
@@ -34,7 +34,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
typedef struct CmvContext {
AVCodecContext *avctx;
diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c
index 70cea0ed6c..4904730c65 100644
--- a/libavcodec/eamad.c
+++ b/libavcodec/eamad.c
@@ -40,7 +40,6 @@
#include "aandcttab.h"
#include "eaidct.h"
#include "idctdsp.h"
-#include "internal.h"
#include "mpeg12data.h"
#include "mpeg12vlc.h"
diff --git a/libavcodec/eatgq.c b/libavcodec/eatgq.c
index 5d57fb34f8..bdf70292fd 100644
--- a/libavcodec/eatgq.c
+++ b/libavcodec/eatgq.c
@@ -40,7 +40,6 @@
#include "eaidct.h"
#include "get_bits.h"
#include "idctdsp.h"
-#include "internal.h"
typedef struct TgqContext {
AVCodecContext *avctx;
diff --git a/libavcodec/eatgv.c b/libavcodec/eatgv.c
index b1483cc586..02a547b2da 100644
--- a/libavcodec/eatgv.c
+++ b/libavcodec/eatgv.c
@@ -28,7 +28,6 @@
* http://wiki.multimedia.cx/index.php?title=Electronic_Arts_TGV
*/
-#include "libavutil/imgutils.h"
#include "libavutil/mem.h"
#define BITSTREAM_READER_LE
@@ -36,7 +35,6 @@
#include "get_bits.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define EA_PREAMBLE_SIZE 8
#define kVGT_TAG MKTAG('k', 'V', 'G', 'T')
diff --git a/libavcodec/eatqi.c b/libavcodec/eatqi.c
index 013e5415d2..1aafd9af0c 100644
--- a/libavcodec/eatqi.c
+++ b/libavcodec/eatqi.c
@@ -37,7 +37,6 @@
#include "aandcttab.h"
#include "eaidct.h"
#include "idctdsp.h"
-#include "internal.h"
#include "mpeg12data.h"
#include "mpeg12dec.h"
diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index a62cc95d28..f6eab048f4 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -54,7 +54,6 @@
#include "decode.h"
#include "exrdsp.h"
#include "get_bits.h"
-#include "internal.h"
#include "mathops.h"
#include "thread.h"
diff --git a/libavcodec/fitsdec.c b/libavcodec/fitsdec.c
index 28954f370c..7e45f2a65f 100644
--- a/libavcodec/fitsdec.c
+++ b/libavcodec/fitsdec.c
@@ -33,7 +33,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include <float.h>
#include "libavutil/intreadwrite.h"
#include "libavutil/intfloat.h"
diff --git a/libavcodec/flashsv.c b/libavcodec/flashsv.c
index 11d6657394..76459df4cb 100644
--- a/libavcodec/flashsv.c
+++ b/libavcodec/flashsv.c
@@ -35,8 +35,7 @@
#include "config_components.h"
-#include <stdio.h>
-#include <stdlib.h>
+#include <stddef.h>
#include <zlib.h>
#include "libavutil/intreadwrite.h"
@@ -45,7 +44,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "zlib_wrapper.h"
typedef struct BlockInfo {
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index f2300e1ca6..154ff10aad 100644
--- a/libavcodec/g2meet.c
+++ b/libavcodec/g2meet.c
@@ -29,7 +29,6 @@
#include <zlib.h>
#include "libavutil/imgutils.h"
-#include "libavutil/intreadwrite.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
@@ -40,9 +39,7 @@
#include "elsdec.h"
#include "get_bits.h"
#include "idctdsp.h"
-#include "internal.h"
#include "jpegtables.h"
-#include "mjpeg.h"
#include "mjpegdec.h"
#define EPIC_PIX_STACK_SIZE 1024
diff --git a/libavcodec/gemdec.c b/libavcodec/gemdec.c
index 39bfedb560..5533f981dc 100644
--- a/libavcodec/gemdec.c
+++ b/libavcodec/gemdec.c
@@ -28,7 +28,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
static const uint32_t gem_color_palette[16]={
0xFFFFFFFF, 0xFFFF0000, 0xFF00FF00, 0xFFFFFF00,
diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c
index 15d4f9743f..d8638a37be 100644
--- a/libavcodec/gifdec.c
+++ b/libavcodec/gifdec.c
@@ -21,13 +21,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "lzw.h"
#include "gif.h"
diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c
index 97c126ab5a..70a26f443d 100644
--- a/libavcodec/h261dec.c
+++ b/libavcodec/h261dec.c
@@ -29,12 +29,12 @@
#include "libavutil/thread.h"
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "mpeg_er.h"
#include "mpegutils.h"
#include "mpegvideo.h"
#include "mpegvideodec.h"
#include "h261.h"
-#include "internal.h"
#define H261_MBA_VLC_BITS 8
#define H261_MTYPE_VLC_BITS 6
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index 87fbf87c8a..8b4101272a 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -40,7 +40,6 @@
#include "h263_parser.h"
#endif
#include "hwconfig.h"
-#include "internal.h"
#include "mpeg_er.h"
#include "mpeg4video.h"
#include "mpeg4videodec.h"
diff --git a/libavcodec/hdrdec.c b/libavcodec/hdrdec.c
index 29e87057fa..9079e4a843 100644
--- a/libavcodec/hdrdec.c
+++ b/libavcodec/hdrdec.c
@@ -18,13 +18,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdlib.h>
-
-#include "libavutil/imgutils.h"
#include "avcodec.h"
-#include "internal.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "thread.h"
#define MINELEN 8
diff --git a/libavcodec/hq_hqa.c b/libavcodec/hq_hqa.c
index e0fbf7de65..075c74d105 100644
--- a/libavcodec/hq_hqa.c
+++ b/libavcodec/hq_hqa.c
@@ -21,7 +21,6 @@
#include <stdint.h>
#include "libavutil/attributes.h"
-#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
@@ -29,7 +28,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "hq_hqa.h"
#include "hq_hqadsp.h"
diff --git a/libavcodec/imm4.c b/libavcodec/imm4.c
index b2840a2c3f..96a395a100 100644
--- a/libavcodec/imm4.c
+++ b/libavcodec/imm4.c
@@ -20,8 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include <stddef.h>
#include <string.h>
#include "libavutil/mem_internal.h"
@@ -34,7 +33,6 @@
#include "copy_block.h"
#include "get_bits.h"
#include "idctdsp.h"
-#include "internal.h"
#define CBPLO_VLC_BITS 6
#define CBPHI_VLC_BITS 6
diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c
index 95708f3636..a41608bb7e 100644
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@ -39,7 +39,6 @@
#include "bytestream.h"
#include "get_bits.h"
#include "hpeldsp.h"
-#include "internal.h"
#include "indeo3data.h"
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 13d33f0ad3..bb3312dd42 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -217,12 +217,6 @@ int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx);
int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec);
-/**
- * Check that the provided frame dimensions are valid and set them on the codec
- * context.
- */
-int ff_set_dimensions(AVCodecContext *s, int width, int height);
-
/**
* Add or update AV_FRAME_DATA_MATRIXENCODING side data.
*/
diff --git a/libavcodec/ivi.c b/libavcodec/ivi.c
index cddef6f51e..43f3cb1da3 100644
--- a/libavcodec/ivi.c
+++ b/libavcodec/ivi.c
@@ -36,7 +36,6 @@
#include "avcodec.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "ivi.h"
#include "ivi_dsp.h"
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index 5e177cec25..2c1191035c 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -37,7 +37,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "thread.h"
#include "jpeg2000.h"
#include "jpeg2000dsp.h"
diff --git a/libavcodec/kgv1dec.c b/libavcodec/kgv1dec.c
index 0dfb796483..11dfc1b84f 100644
--- a/libavcodec/kgv1dec.c
+++ b/libavcodec/kgv1dec.c
@@ -30,7 +30,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
typedef struct KgvContext {
uint16_t *frame_buffer;
diff --git a/libavcodec/libaomdec.c b/libavcodec/libaomdec.c
index 274c67baaa..5ed219b43d 100644
--- a/libavcodec/libaomdec.c
+++ b/libavcodec/libaomdec.c
@@ -33,7 +33,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "libaom.h"
#include "profiles.h"
diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c
index f0c5533a8b..0d59160d27 100644
--- a/libavcodec/libjxldec.c
+++ b/libavcodec/libjxldec.c
@@ -37,7 +37,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include <jxl/decode.h>
#include <jxl/thread_parallel_runner.h>
diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
index df270c77df..3a8be36bf6 100644
--- a/libavcodec/libopenh264dec.c
+++ b/libavcodec/libopenh264dec.c
@@ -32,7 +32,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "libopenh264.h"
typedef struct SVCContext {
diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c
index fa420f145b..be2337d9b2 100644
--- a/libavcodec/libopenjpegdec.c
+++ b/libavcodec/libopenjpegdec.c
@@ -32,7 +32,7 @@
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "thread.h"
#include <openjpeg.h>
diff --git a/libavcodec/librsvgdec.c b/libavcodec/librsvgdec.c
index bfb83da614..cfafae2652 100644
--- a/libavcodec/librsvgdec.c
+++ b/libavcodec/librsvgdec.c
@@ -22,7 +22,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "libavutil/opt.h"
#include "librsvg-2.0/librsvg/rsvg.h"
diff --git a/libavcodec/libuavs3d.c b/libavcodec/libuavs3d.c
index f2649540be..95616fcacb 100644
--- a/libavcodec/libuavs3d.c
+++ b/libavcodec/libuavs3d.c
@@ -31,7 +31,6 @@
#include "avs3.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "uavs3d.h"
typedef struct uavs3d_context {
diff --git a/libavcodec/libvpxdec.c b/libavcodec/libvpxdec.c
index c5b95332d3..c7cb744312 100644
--- a/libavcodec/libvpxdec.c
+++ b/libavcodec/libvpxdec.c
@@ -37,7 +37,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "libvpx.h"
#include "profiles.h"
diff --git a/libavcodec/magicyuv.c b/libavcodec/magicyuv.c
index 65dbb6a2f1..8b30ce08ac 100644
--- a/libavcodec/magicyuv.c
+++ b/libavcodec/magicyuv.c
@@ -29,9 +29,8 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "huffyuvdsp.h"
-#include "internal.h"
#include "lossless_videodsp.h"
#include "thread.h"
diff --git a/libavcodec/mediacodecdec_common.c b/libavcodec/mediacodecdec_common.c
index 7952c3c34c..9fa769656c 100644
--- a/libavcodec/mediacodecdec_common.c
+++ b/libavcodec/mediacodecdec_common.c
@@ -33,7 +33,6 @@
#include "avcodec.h"
#include "decode.h"
-#include "internal.h"
#include "mediacodec.h"
#include "mediacodec_surface.h"
diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c
index bcf10b7ae1..f5164e82e7 100644
--- a/libavcodec/mimic.c
+++ b/libavcodec/mimic.c
@@ -19,8 +19,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdlib.h>
-#include <string.h>
#include <stdint.h>
#include "libavutil/mem_internal.h"
@@ -29,7 +27,7 @@
#include "avcodec.h"
#include "blockdsp.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "bytestream.h"
#include "bswapdsp.h"
diff --git a/libavcodec/mpeg4video_parser.c b/libavcodec/mpeg4video_parser.c
index 3d0d0e4714..bbdb2209cf 100644
--- a/libavcodec/mpeg4video_parser.c
+++ b/libavcodec/mpeg4video_parser.c
@@ -22,7 +22,7 @@
#define UNCHECKED_BITSTREAM_READER 1
-#include "internal.h"
+#include "decode.h"
#include "parser.h"
#include "mpegvideo.h"
#include "mpeg4video.h"
diff --git a/libavcodec/mpegvideo_parser.c b/libavcodec/mpegvideo_parser.c
index 97da5bfe11..ac6efb6909 100644
--- a/libavcodec/mpegvideo_parser.c
+++ b/libavcodec/mpegvideo_parser.c
@@ -20,7 +20,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "internal.h"
+#include "decode.h"
#include "parser.h"
#include "mpeg12.h"
#include "mpeg12data.h"
diff --git a/libavcodec/mvcdec.c b/libavcodec/mvcdec.c
index d2e9f4b631..0040ff0853 100644
--- a/libavcodec/mvcdec.c
+++ b/libavcodec/mvcdec.c
@@ -32,7 +32,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
typedef struct MvcContext {
int vflip;
diff --git a/libavcodec/notchlc.c b/libavcodec/notchlc.c
index 7f2bca35f2..fce11e97f2 100644
--- a/libavcodec/notchlc.c
+++ b/libavcodec/notchlc.c
@@ -20,16 +20,14 @@
*/
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#define BITSTREAM_READER_LE
-#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "lzf.h"
#include "thread.h"
diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c
index c404bd8cf0..8dbfa7f726 100644
--- a/libavcodec/nuv.c
+++ b/libavcodec/nuv.c
@@ -19,11 +19,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include <stddef.h>
#include <limits.h>
-#include "libavutil/bswap.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/lzo.h"
@@ -31,8 +29,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "idctdsp.h"
-#include "internal.h"
#include "rtjpeg.h"
typedef struct NuvContext {
diff --git a/libavcodec/pcx.c b/libavcodec/pcx.c
index 7a47ef827c..3b82e5ba3e 100644
--- a/libavcodec/pcx.c
+++ b/libavcodec/pcx.c
@@ -22,13 +22,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#define PCX_HEADER_SIZE 128
diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c
index 13c570c3c2..69aabfe2b0 100644
--- a/libavcodec/pgssubdec.c
+++ b/libavcodec/pgssubdec.c
@@ -27,11 +27,10 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "mathops.h"
#include "libavutil/colorspace.h"
-#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#define RGBA(r,g,b,a) (((unsigned)(a) << 24) | ((r) << 16) | ((g) << 8) | (b))
diff --git a/libavcodec/pgxdec.c b/libavcodec/pgxdec.c
index dcbf2a32dd..177ad66468 100644
--- a/libavcodec/pgxdec.c
+++ b/libavcodec/pgxdec.c
@@ -20,7 +20,6 @@
*/
#include "avcodec.h"
-#include "internal.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
diff --git a/libavcodec/photocd.c b/libavcodec/photocd.c
index 239b7a1b54..b31666d78a 100644
--- a/libavcodec/photocd.c
+++ b/libavcodec/photocd.c
@@ -36,8 +36,8 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "thread.h"
typedef struct PhotoCDContext {
diff --git a/libavcodec/pictordec.c b/libavcodec/pictordec.c
index f215f0d220..fcd9e8a9ed 100644
--- a/libavcodec/pictordec.c
+++ b/libavcodec/pictordec.c
@@ -30,7 +30,6 @@
#include "cga_data.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
typedef struct PicContext {
int width, height;
diff --git a/libavcodec/pixlet.c b/libavcodec/pixlet.c
index 1f43b4c8e0..d7c40052a5 100644
--- a/libavcodec/pixlet.c
+++ b/libavcodec/pixlet.c
@@ -21,15 +21,13 @@
#include <stdint.h>
-#include "libavutil/imgutils.h"
#include "libavutil/intmath.h"
-#include "libavutil/opt.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
#include "thread.h"
#include "unary.h"
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index 1d6ca7f4c3..7cb3d98bd6 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -34,7 +34,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "apng.h"
#include "png.h"
#include "pngdsp.h"
diff --git a/libavcodec/pnm.c b/libavcodec/pnm.c
index aabc788684..77d24eeaf7 100644
--- a/libavcodec/pnm.c
+++ b/libavcodec/pnm.c
@@ -26,7 +26,7 @@
#include "libavutil/imgutils.h"
#include "libavutil/avstring.h"
#include "avcodec.h"
-#include "internal.h"
+#include "decode.h"
#include "pnm.h"
static inline int pnm_space(int c)
diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c
index 659f9ff16b..df864c77ec 100644
--- a/libavcodec/proresdec2.c
+++ b/libavcodec/proresdec2.c
@@ -35,12 +35,11 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "hwconfig.h"
#include "idctdsp.h"
-#include "internal.h"
#include "profiles.h"
-#include "simple_idct.h"
#include "proresdec.h"
#include "proresdata.h"
#include "thread.h"
diff --git a/libavcodec/psd.c b/libavcodec/psd.c
index 5a5c57e856..3ac3f46dd5 100644
--- a/libavcodec/psd.c
+++ b/libavcodec/psd.c
@@ -22,7 +22,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
enum PsdCompr {
PSD_RAW,
diff --git a/libavcodec/ptx.c b/libavcodec/ptx.c
index 412df4d763..84fe1872d2 100644
--- a/libavcodec/ptx.c
+++ b/libavcodec/ptx.c
@@ -24,7 +24,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
static int ptx_decode_frame(AVCodecContext *avctx, AVFrame *p,
int *got_frame, AVPacket *avpkt)
diff --git a/libavcodec/qdrw.c b/libavcodec/qdrw.c
index 1aac7c8010..4405ff2b4e 100644
--- a/libavcodec/qdrw.c
+++ b/libavcodec/qdrw.c
@@ -32,7 +32,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
enum QuickdrawOpcodes {
CLIP = 0x0001,
diff --git a/libavcodec/qoidec.c b/libavcodec/qoidec.c
index 1e052f659b..1053d784a2 100644
--- a/libavcodec/qoidec.c
+++ b/libavcodec/qoidec.c
@@ -18,13 +18,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdlib.h>
-
-#include "libavutil/imgutils.h"
#include "avcodec.h"
-#include "internal.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "thread.h"
#include "qoi.h"
diff --git a/libavcodec/rasc.c b/libavcodec/rasc.c
index a74b4d145c..a04dff6d90 100644
--- a/libavcodec/rasc.c
+++ b/libavcodec/rasc.c
@@ -29,7 +29,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "zlib_wrapper.h"
#include <zlib.h>
diff --git a/libavcodec/rl2.c b/libavcodec/rl2.c
index e7c3800f9e..2e6f555b8c 100644
--- a/libavcodec/rl2.c
+++ b/libavcodec/rl2.c
@@ -26,8 +26,6 @@
* @see http://wiki.multimedia.cx/index.php?title=RL2
*/
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "libavutil/internal.h"
@@ -36,7 +34,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define EXTRADATA1_SIZE (6 + 256 * 3) ///< video base, clr count, palette
diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c
index abf42612cb..d8b8900795 100644
--- a/libavcodec/rv10.c
+++ b/libavcodec/rv10.c
@@ -32,11 +32,11 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "error_resilience.h"
#include "h263.h"
#include "h263data.h"
#include "h263dec.h"
-#include "internal.h"
#include "mpeg_er.h"
#include "mpegutils.h"
#include "mpegvideo.h"
diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c
index 61d1e4c527..acf77d103d 100644
--- a/libavcodec/rv34.c
+++ b/libavcodec/rv34.c
@@ -29,15 +29,14 @@
#include "libavutil/internal.h"
#include "libavutil/mem_internal.h"
#include "libavutil/thread.h"
-#include "libavutil/video_enc_params.h"
#include "avcodec.h"
+#include "decode.h"
#include "error_resilience.h"
#include "mpegutils.h"
#include "mpegvideo.h"
#include "mpegvideodec.h"
#include "golomb.h"
-#include "internal.h"
#include "mathops.h"
#include "mpeg_er.h"
#include "qpeldsp.h"
diff --git a/libavcodec/sanm.c b/libavcodec/sanm.c
index 064e812e51..aceddaf835 100644
--- a/libavcodec/sanm.c
+++ b/libavcodec/sanm.c
@@ -21,15 +21,12 @@
*/
#include "libavutil/avassert.h"
-#include "libavutil/bswap.h"
-#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "copy_block.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define NGLYPHS 256
#define GLYPH_COORD_VECT_SIZE 16
diff --git a/libavcodec/sga.c b/libavcodec/sga.c
index febe950424..296ab5dd5d 100644
--- a/libavcodec/sga.c
+++ b/libavcodec/sga.c
@@ -24,7 +24,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define PALDATA_FOLLOWS_TILEDATA 4
#define HAVE_COMPRESSED_TILEMAP 32
diff --git a/libavcodec/sgidec.c b/libavcodec/sgidec.c
index c1070d5c95..e33a739ecd 100644
--- a/libavcodec/sgidec.c
+++ b/libavcodec/sgidec.c
@@ -19,12 +19,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "sgi.h"
typedef struct SgiState {
diff --git a/libavcodec/sunrast.c b/libavcodec/sunrast.c
index 51695c353c..ee648ba95d 100644
--- a/libavcodec/sunrast.c
+++ b/libavcodec/sunrast.c
@@ -21,11 +21,9 @@
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
-#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "sunrast.h"
static int sunrast_decode_frame(AVCodecContext *avctx, AVFrame *p,
diff --git a/libavcodec/svq1dec.c b/libavcodec/svq1dec.c
index e091e4279f..c96f65249a 100644
--- a/libavcodec/svq1dec.c
+++ b/libavcodec/svq1dec.c
@@ -41,7 +41,6 @@
#include "get_bits.h"
#include "h263data.h"
#include "hpeldsp.h"
-#include "internal.h"
#include "mathops.h"
#include "svq1.h"
diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index d4fff0557b..ea9842f9b4 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -48,7 +48,6 @@
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "avcodec.h"
#include "mpegutils.h"
#include "h264data.h"
@@ -66,8 +65,6 @@
#include <zlib.h>
#endif
-#include "svq1.h"
-
/**
* @file
* svq3 decoder.
diff --git a/libavcodec/targa.c b/libavcodec/targa.c
index 2901d908de..bbf4f6ca19 100644
--- a/libavcodec/targa.c
+++ b/libavcodec/targa.c
@@ -19,13 +19,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/intreadwrite.h"
-#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "targa.h"
typedef struct TargaContext {
diff --git a/libavcodec/tdsc.c b/libavcodec/tdsc.c
index c4e4d35ee8..aeb1ea363e 100644
--- a/libavcodec/tdsc.c
+++ b/libavcodec/tdsc.c
@@ -42,7 +42,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define BITMAPINFOHEADER_SIZE 0x28
#define TDSF_HEADER_SIZE 0x56
diff --git a/libavcodec/tiertexseqv.c b/libavcodec/tiertexseqv.c
index 9e1b10a40c..785ccfbdcf 100644
--- a/libavcodec/tiertexseqv.c
+++ b/libavcodec/tiertexseqv.c
@@ -29,7 +29,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
typedef struct SeqVideoContext {
diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
index 043ff79e0a..b0595b56c0 100644
--- a/libavcodec/tiff.c
+++ b/libavcodec/tiff.c
@@ -34,19 +34,16 @@
#endif
#include "libavutil/attributes.h"
-#include "libavutil/avstring.h"
#include "libavutil/error.h"
#include "libavutil/intreadwrite.h"
-#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "libavutil/reverse.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "faxcompr.h"
-#include "internal.h"
#include "lzw.h"
-#include "mathops.h"
#include "tiff.h"
#include "tiff_data.h"
#include "mjpegdec.h"
diff --git a/libavcodec/truemotion1.c b/libavcodec/truemotion1.c
index ee41b0ed4d..ab632e99dc 100644
--- a/libavcodec/truemotion1.c
+++ b/libavcodec/truemotion1.c
@@ -36,7 +36,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
diff --git a/libavcodec/truemotion2rt.c b/libavcodec/truemotion2rt.c
index 265ca87456..a0bf4749f3 100644
--- a/libavcodec/truemotion2rt.c
+++ b/libavcodec/truemotion2rt.c
@@ -18,11 +18,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
@@ -31,7 +26,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
typedef struct TrueMotion2RTContext {
GetBitContext gb;
diff --git a/libavcodec/txd.c b/libavcodec/txd.c
index 8862f14bd8..7e8b33646b 100644
--- a/libavcodec/txd.c
+++ b/libavcodec/txd.c
@@ -21,13 +21,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/intreadwrite.h"
-#include "libavutil/imgutils.h"
#include "bytestream.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "texturedsp.h"
#define TXD_DXT1 0x31545844
diff --git a/libavcodec/v4l2_context.c b/libavcodec/v4l2_context.c
index e891649f92..a40be94690 100644
--- a/libavcodec/v4l2_context.c
+++ b/libavcodec/v4l2_context.c
@@ -28,7 +28,7 @@
#include <fcntl.h>
#include <poll.h>
#include "libavcodec/avcodec.h"
-#include "libavcodec/internal.h"
+#include "decode.h"
#include "v4l2_buffers.h"
#include "v4l2_fmt.h"
#include "v4l2_m2m.h"
diff --git a/libavcodec/vbndec.c b/libavcodec/vbndec.c
index 706760f376..d8a3c61c8c 100644
--- a/libavcodec/vbndec.c
+++ b/libavcodec/vbndec.c
@@ -27,7 +27,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "texturedsp.h"
#include "vbn.h"
#include "libavutil/imgutils.h"
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index d46f551020..c9257b290f 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -28,7 +28,6 @@
#include "libavutil/attributes.h"
#include "libavutil/thread.h"
-#include "internal.h"
#include "avcodec.h"
#include "decode.h"
#include "mpegvideo.h"
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index 0f040c338f..4734025244 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -32,8 +32,7 @@
#include "config_components.h"
-#include <stdio.h>
-#include <stdlib.h>
+#include <stddef.h>
#include <string.h>
#include "libavutil/imgutils.h"
@@ -44,7 +43,6 @@
#include "decode.h"
#include "get_bits.h"
#include "hpeldsp.h"
-#include "internal.h"
#include "mathops.h"
#include "thread.h"
#include "threadframe.h"
diff --git a/libavcodec/vp5.c b/libavcodec/vp5.c
index 8ba4de71e5..9ddc6fa70d 100644
--- a/libavcodec/vp5.c
+++ b/libavcodec/vp5.c
@@ -23,12 +23,11 @@
* VP5 compatible video decoder
*/
-#include <stdlib.h>
#include <string.h>
#include "avcodec.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "vp56.h"
#include "vp56data.h"
diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c
index 1c58096bdb..bd994428a4 100644
--- a/libavcodec/vp56.c
+++ b/libavcodec/vp56.c
@@ -26,7 +26,6 @@
#include "avcodec.h"
#include "bytestream.h"
#include "decode.h"
-#include "internal.h"
#include "h264chroma.h"
#include "vp56.h"
#include "vp56data.h"
diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c
index ad81060886..f7815d7398 100644
--- a/libavcodec/vp6.c
+++ b/libavcodec/vp6.c
@@ -31,9 +31,9 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "huffman.h"
-#include "internal.h"
#include "vp56.h"
#include "vp56data.h"
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index 6bf846dbfe..ab38c76735 100644
--- a/libavcodec/vp8.c
+++ b/libavcodec/vp8.c
@@ -26,16 +26,13 @@
#include "config_components.h"
-#include "libavutil/imgutils.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
#include "hwconfig.h"
-#include "internal.h"
#include "mathops.h"
-#include "rectangle.h"
#include "thread.h"
#include "threadframe.h"
#include "vp8.h"
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 621627ddc5..fe85c17133 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -25,9 +25,9 @@
#include "avcodec.h"
#include "codec_internal.h"
+#include "decode.h"
#include "get_bits.h"
#include "hwconfig.h"
-#include "internal.h"
#include "profiles.h"
#include "thread.h"
#include "threadframe.h"
diff --git a/libavcodec/vqavideo.c b/libavcodec/vqavideo.c
index 61c30c2a62..4006b1433c 100644
--- a/libavcodec/vqavideo.c
+++ b/libavcodec/vqavideo.c
@@ -70,16 +70,13 @@
*/
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include "libavutil/intreadwrite.h"
-#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define PALETTE_COUNT 256
#define VQA_HEADER_SIZE 0x2A
diff --git a/libavcodec/wbmpdec.c b/libavcodec/wbmpdec.c
index 0d0e574d9c..c289b08bcc 100644
--- a/libavcodec/wbmpdec.c
+++ b/libavcodec/wbmpdec.c
@@ -21,7 +21,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "decode.h"
#include "thread.h"
static unsigned int getv(GetByteContext * gb)
diff --git a/libavcodec/webp.c b/libavcodec/webp.c
index fb5688fc95..dca5e451f2 100644
--- a/libavcodec/webp.c
+++ b/libavcodec/webp.c
@@ -46,9 +46,9 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
+#include "decode.h"
#include "exif.h"
#include "get_bits.h"
-#include "internal.h"
#include "thread.h"
#include "tiff_common.h"
#include "vp8.h"
diff --git a/libavcodec/xbmdec.c b/libavcodec/xbmdec.c
index a28da08a29..f38f9dd1e8 100644
--- a/libavcodec/xbmdec.c
+++ b/libavcodec/xbmdec.c
@@ -20,14 +20,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/avstring.h"
#include "libavutil/reverse.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
-#include "mathops.h"
static int get_nibble(uint8_t x)
{
diff --git a/libavcodec/xpmdec.c b/libavcodec/xpmdec.c
index a1d5635874..c005dc1e3a 100644
--- a/libavcodec/xpmdec.c
+++ b/libavcodec/xpmdec.c
@@ -25,7 +25,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#define MIN_ELEMENT ' '
#define MAX_ELEMENT 0xfe
diff --git a/libavcodec/xwddec.c b/libavcodec/xwddec.c
index 43d4bb5e84..f3703292ca 100644
--- a/libavcodec/xwddec.c
+++ b/libavcodec/xwddec.c
@@ -27,7 +27,6 @@
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
-#include "internal.h"
#include "xwd.h"
static int xwd_decode_frame(AVCodecContext *avctx, AVFrame *p,
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 18/21] avcodec/internal: Move ff_samples_to_time_base() to encode.h
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (15 preceding siblings ...)
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 17/21] avcodec/internal: Move ff_set_dimensions() " Andreas Rheinhardt
@ 2022-08-25 16:33 ` Andreas Rheinhardt
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 19/21] avcodec/internal: Move ff_side_data_update_matrix_encoding to decode.h Andreas Rheinhardt
` (3 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 16:33 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
It is only used by encoders; in fact, AVCodecContext.time_base
is only used by encoders, so it is only useful for encoders.
Also constify the AVCodecContext parameter in it.
Also fixup the other headers a bit while removing now unnecessary
internal.h inclusions.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/ac3enc.c | 2 --
libavcodec/audio_frame_queue.c | 2 +-
libavcodec/encode.h | 12 ++++++++++++
libavcodec/flacenc.c | 1 -
libavcodec/g722enc.c | 1 -
libavcodec/internal.h | 12 ------------
libavcodec/libtwolame.c | 1 -
libavcodec/libvo-amrwbenc.c | 1 -
libavcodec/libvorbisenc.c | 1 -
libavcodec/mpegaudioenc_template.c | 1 -
libavcodec/wmaenc.c | 1 -
11 files changed, 13 insertions(+), 22 deletions(-)
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index c57904b01b..3fe625a659 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -30,7 +30,6 @@
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
-#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "libavutil/crc.h"
#include "libavutil/internal.h"
@@ -41,7 +40,6 @@
#include "codec_internal.h"
#include "config_components.h"
#include "encode.h"
-#include "internal.h"
#include "me_cmp.h"
#include "put_bits.h"
#include "audiodsp.h"
diff --git a/libavcodec/audio_frame_queue.c b/libavcodec/audio_frame_queue.c
index f2ccd69281..08b4b368c7 100644
--- a/libavcodec/audio_frame_queue.c
+++ b/libavcodec/audio_frame_queue.c
@@ -22,7 +22,7 @@
#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "audio_frame_queue.h"
-#include "internal.h"
+#include "encode.h"
#include "libavutil/avassert.h"
av_cold void ff_af_queue_init(AVCodecContext *avctx, AudioFrameQueue *afq)
diff --git a/libavcodec/encode.h b/libavcodec/encode.h
index e5d6b754b1..296ffd312e 100644
--- a/libavcodec/encode.h
+++ b/libavcodec/encode.h
@@ -78,4 +78,16 @@ int ff_encode_preinit(AVCodecContext *avctx);
int ff_encode_encode_cb(AVCodecContext *avctx, AVPacket *avpkt,
const AVFrame *frame, int *got_packet);
+/**
+ * Rescale from sample rate to AVCodecContext.time_base.
+ */
+static av_always_inline int64_t ff_samples_to_time_base(const AVCodecContext *avctx,
+ int64_t samples)
+{
+ if (samples == AV_NOPTS_VALUE)
+ return AV_NOPTS_VALUE;
+ return av_rescale_q(samples, (AVRational){ 1, avctx->sample_rate },
+ avctx->time_base);
+}
+
#endif /* AVCODEC_ENCODE_H */
diff --git a/libavcodec/flacenc.c b/libavcodec/flacenc.c
index 00f78fc814..73cf185314 100644
--- a/libavcodec/flacenc.c
+++ b/libavcodec/flacenc.c
@@ -32,7 +32,6 @@
#include "encode.h"
#include "put_bits.h"
#include "put_golomb.h"
-#include "internal.h"
#include "lpc.h"
#include "flac.h"
#include "flacdata.h"
diff --git a/libavcodec/g722enc.c b/libavcodec/g722enc.c
index 2c0a5019dd..7ba283df61 100644
--- a/libavcodec/g722enc.c
+++ b/libavcodec/g722enc.c
@@ -32,7 +32,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
-#include "internal.h"
#include "g722.h"
#include "libavutil/common.h"
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index bb3312dd42..2c67bff1d4 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -182,18 +182,6 @@ void ff_color_frame(AVFrame *frame, const int color[4]);
*/
#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - AV_INPUT_BUFFER_PADDING_SIZE)
-/**
- * Rescale from sample rate to AVCodecContext.time_base.
- */
-static av_always_inline int64_t ff_samples_to_time_base(AVCodecContext *avctx,
- int64_t samples)
-{
- if(samples == AV_NOPTS_VALUE)
- return AV_NOPTS_VALUE;
- return av_rescale_q(samples, (AVRational){ 1, avctx->sample_rate },
- avctx->time_base);
-}
-
/**
* 2^(x) for integer x
* @return correctly rounded float
diff --git a/libavcodec/libtwolame.c b/libavcodec/libtwolame.c
index 9929248485..3da57bb779 100644
--- a/libavcodec/libtwolame.c
+++ b/libavcodec/libtwolame.c
@@ -33,7 +33,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
-#include "internal.h"
#include "mpegaudio.h"
typedef struct TWOLAMEContext {
diff --git a/libavcodec/libvo-amrwbenc.c b/libavcodec/libvo-amrwbenc.c
index 3c94bcba32..a2d7f33ef7 100644
--- a/libavcodec/libvo-amrwbenc.c
+++ b/libavcodec/libvo-amrwbenc.c
@@ -29,7 +29,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
-#include "internal.h"
#define MAX_PACKET_SIZE (1 + (477 + 7) / 8)
diff --git a/libavcodec/libvorbisenc.c b/libavcodec/libvorbisenc.c
index 3353776083..718e9d1912 100644
--- a/libavcodec/libvorbisenc.c
+++ b/libavcodec/libvorbisenc.c
@@ -28,7 +28,6 @@
#include "audio_frame_queue.h"
#include "codec_internal.h"
#include "encode.h"
-#include "internal.h"
#include "version.h"
#include "vorbis.h"
#include "vorbis_parser.h"
diff --git a/libavcodec/mpegaudioenc_template.c b/libavcodec/mpegaudioenc_template.c
index 839bd98dd1..67b8069102 100644
--- a/libavcodec/mpegaudioenc_template.c
+++ b/libavcodec/mpegaudioenc_template.c
@@ -28,7 +28,6 @@
#include "avcodec.h"
#include "encode.h"
-#include "internal.h"
#include "put_bits.h"
#define FRAC_BITS 15 /* fractional bits for sb_samples and dct */
diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c
index 99f0100dc1..95b992859a 100644
--- a/libavcodec/wmaenc.c
+++ b/libavcodec/wmaenc.c
@@ -27,7 +27,6 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
-#include "internal.h"
#include "wma.h"
#include "libavutil/avassert.h"
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 19/21] avcodec/internal: Move ff_side_data_update_matrix_encoding to decode.h
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (16 preceding siblings ...)
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 18/21] avcodec/internal: Move ff_samples_to_time_base() to encode.h Andreas Rheinhardt
@ 2022-08-25 16:33 ` Andreas Rheinhardt
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 20/21] avcodec/internal: Move ff_dvdsub_parse_palette() to new header dvdsub.h Andreas Rheinhardt
` (2 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 16:33 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/ac3dec.c | 1 -
libavcodec/dca_core.c | 1 -
libavcodec/dca_lbr.c | 1 -
libavcodec/dca_xll.c | 1 -
libavcodec/decode.h | 6 ++++++
libavcodec/internal.h | 6 ------
libavcodec/mlpdec.c | 3 ---
7 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index b1db3dc9e6..5d0add40fe 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -38,7 +38,6 @@
#include "libavutil/opt.h"
#include "libavutil/thread.h"
#include "bswapdsp.h"
-#include "internal.h"
#include "aac_ac3_parser.h"
#include "ac3_parser_internal.h"
#include "ac3dec.h"
diff --git a/libavcodec/dca_core.c b/libavcodec/dca_core.c
index b181171104..1655116eed 100644
--- a/libavcodec/dca_core.c
+++ b/libavcodec/dca_core.c
@@ -26,7 +26,6 @@
#include "dcamath.h"
#include "dca_syncwords.h"
#include "decode.h"
-#include "internal.h"
#if ARCH_ARM
#include "arm/dca.h"
diff --git a/libavcodec/dca_lbr.c b/libavcodec/dca_lbr.c
index ec55404c7b..5343bcde8a 100644
--- a/libavcodec/dca_lbr.c
+++ b/libavcodec/dca_lbr.c
@@ -29,7 +29,6 @@
#include "dca_syncwords.h"
#include "bytestream.h"
#include "decode.h"
-#include "internal.h"
#define AMP_MAX 56
diff --git a/libavcodec/dca_xll.c b/libavcodec/dca_xll.c
index 242c3a13fe..fe2c766d98 100644
--- a/libavcodec/dca_xll.c
+++ b/libavcodec/dca_xll.c
@@ -24,7 +24,6 @@
#include "dcamath.h"
#include "dca_syncwords.h"
#include "decode.h"
-#include "internal.h"
#include "unary.h"
static int get_linear(GetBitContext *gb, int n)
diff --git a/libavcodec/decode.h b/libavcodec/decode.h
index d40327d5ab..5d95369b5e 100644
--- a/libavcodec/decode.h
+++ b/libavcodec/decode.h
@@ -138,4 +138,10 @@ int ff_get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags);
*/
int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame, int flags);
+/**
+ * Add or update AV_FRAME_DATA_MATRIXENCODING side data.
+ */
+int ff_side_data_update_matrix_encoding(AVFrame *frame,
+ enum AVMatrixEncoding matrix_encoding);
+
#endif /* AVCODEC_DECODE_H */
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 2c67bff1d4..e63d985091 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -205,12 +205,6 @@ int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx);
int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec);
-/**
- * Add or update AV_FRAME_DATA_MATRIXENCODING side data.
- */
-int ff_side_data_update_matrix_encoding(AVFrame *frame,
- enum AVMatrixEncoding matrix_encoding);
-
/**
* Add a CPB properties side data to an encoding context.
*/
diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
index dba2b9ac34..bfd0091323 100644
--- a/libavcodec/mlpdec.c
+++ b/libavcodec/mlpdec.c
@@ -38,9 +38,6 @@
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
-#include "internal.h"
-#include "libavutil/crc.h"
-#include "parser.h"
#include "mlp_parse.h"
#include "mlpdsp.h"
#include "mlp.h"
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 20/21] avcodec/internal: Move ff_dvdsub_parse_palette() to new header dvdsub.h
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (17 preceding siblings ...)
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 19/21] avcodec/internal: Move ff_side_data_update_matrix_encoding to decode.h Andreas Rheinhardt
@ 2022-08-25 16:33 ` Andreas Rheinhardt
2022-08-25 16:34 ` [FFmpeg-devel] [PATCH 21/21] avcodec/targa: Fix indentation Andreas Rheinhardt
2022-08-26 0:31 ` [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 16:33 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/dvdsub.c | 3 ++-
libavcodec/dvdsub.h | 26 ++++++++++++++++++++++++++
libavcodec/dvdsubdec.c | 2 +-
libavcodec/dvdsubenc.c | 2 +-
libavcodec/internal.h | 2 --
5 files changed, 30 insertions(+), 5 deletions(-)
create mode 100644 libavcodec/dvdsub.h
diff --git a/libavcodec/dvdsub.c b/libavcodec/dvdsub.c
index 87215d2bd1..fb415677d9 100644
--- a/libavcodec/dvdsub.c
+++ b/libavcodec/dvdsub.c
@@ -19,10 +19,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "internal.h"
#include "libavutil/avstring.h"
#include <stdlib.h>
+#include "dvdsub.h"
+
void ff_dvdsub_parse_palette(uint32_t *palette, const char *p)
{
for (int i = 0; i < 16; i++) {
diff --git a/libavcodec/dvdsub.h b/libavcodec/dvdsub.h
new file mode 100644
index 0000000000..3f51c3f805
--- /dev/null
+++ b/libavcodec/dvdsub.h
@@ -0,0 +1,26 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVCODEC_DVDSUB_H
+#define AVCODEC_DVDSUB_H
+
+#include <stdint.h>
+
+void ff_dvdsub_parse_palette(uint32_t *palette, const char *p);
+
+#endif /* AVCODEC_DVDSUB_H */
diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
index 4b692c093f..3338cd6b92 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
@@ -22,8 +22,8 @@
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
+#include "dvdsub.h"
#include "get_bits.h"
-#include "internal.h"
#include "libavutil/attributes.h"
#include "libavutil/colorspace.h"
diff --git a/libavcodec/dvdsubenc.c b/libavcodec/dvdsubenc.c
index 3fe50ae199..37d6efdd5d 100644
--- a/libavcodec/dvdsubenc.c
+++ b/libavcodec/dvdsubenc.c
@@ -21,7 +21,7 @@
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
-#include "internal.h"
+#include "dvdsub.h"
#include "libavutil/avassert.h"
#include "libavutil/bprint.h"
#include "libavutil/imgutils.h"
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index e63d985091..0da8f296d0 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -244,6 +244,4 @@ int64_t ff_guess_coded_bitrate(AVCodecContext *avctx);
int ff_int_from_list_or_default(void *ctx, const char * val_name, int val,
const int * array_valid_values, int default_value);
-void ff_dvdsub_parse_palette(uint32_t *palette, const char *p);
-
#endif /* AVCODEC_INTERNAL_H */
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* [FFmpeg-devel] [PATCH 21/21] avcodec/targa: Fix indentation
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (18 preceding siblings ...)
2022-08-25 16:33 ` [FFmpeg-devel] [PATCH 20/21] avcodec/internal: Move ff_dvdsub_parse_palette() to new header dvdsub.h Andreas Rheinhardt
@ 2022-08-25 16:34 ` Andreas Rheinhardt
2022-08-26 0:31 ` [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 16:34 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Forgotten after 1e85a698c01133a7f8d35502d5901e3b65fa3317.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/targa.c | 75 +++++++++++++++++++++++-----------------------
1 file changed, 37 insertions(+), 38 deletions(-)
diff --git a/libavcodec/targa.c b/libavcodec/targa.c
index bbf4f6ca19..daade89e28 100644
--- a/libavcodec/targa.c
+++ b/libavcodec/targa.c
@@ -253,49 +253,48 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p,
}
}
- if (compr & TGA_RLE) {
- int res = targa_decode_rle(avctx, s, dst, w, h, stride, bpp, interleave);
- if (res < 0)
- return res;
- } else {
- uint8_t *line;
- if (bytestream2_get_bytes_left(&s->gb) < img_size * h) {
- av_log(avctx, AV_LOG_ERROR,
- "Not enough data available for image\n");
- return AVERROR_INVALIDDATA;
- }
-
- line = dst;
- y = 0;
- do {
- bytestream2_get_buffer(&s->gb, line, img_size);
- line = advance_line(dst, line, stride, &y, h, interleave);
- } while (line);
+ if (compr & TGA_RLE) {
+ int res = targa_decode_rle(avctx, s, dst, w, h, stride, bpp, interleave);
+ if (res < 0)
+ return res;
+ } else {
+ uint8_t *line;
+ if (bytestream2_get_bytes_left(&s->gb) < img_size * h) {
+ av_log(avctx, AV_LOG_ERROR,
+ "Not enough data available for image\n");
+ return AVERROR_INVALIDDATA;
}
- if (flags & TGA_RIGHTTOLEFT) { // right-to-left, needs horizontal flip
- int x;
- for (y = 0; y < h; y++) {
- void *line = &p->data[0][y * p->linesize[0]];
- for (x = 0; x < w >> 1; x++) {
- switch (bpp) {
- case 32:
- FFSWAP(uint32_t, ((uint32_t *)line)[x], ((uint32_t *)line)[w - x - 1]);
- break;
- case 24:
- FFSWAP(uint8_t, ((uint8_t *)line)[3 * x ], ((uint8_t *)line)[3 * w - 3 * x - 3]);
- FFSWAP(uint8_t, ((uint8_t *)line)[3 * x + 1], ((uint8_t *)line)[3 * w - 3 * x - 2]);
- FFSWAP(uint8_t, ((uint8_t *)line)[3 * x + 2], ((uint8_t *)line)[3 * w - 3 * x - 1]);
- break;
- case 16:
- FFSWAP(uint16_t, ((uint16_t *)line)[x], ((uint16_t *)line)[w - x - 1]);
- break;
- case 8:
- FFSWAP(uint8_t, ((uint8_t *)line)[x], ((uint8_t *)line)[w - x - 1]);
- }
+ line = dst;
+ y = 0;
+ do {
+ bytestream2_get_buffer(&s->gb, line, img_size);
+ line = advance_line(dst, line, stride, &y, h, interleave);
+ } while (line);
+ }
+
+ if (flags & TGA_RIGHTTOLEFT) { // right-to-left, needs horizontal flip
+ for (int y = 0; y < h; y++) {
+ void *line = &p->data[0][y * p->linesize[0]];
+ for (int x = 0; x < w >> 1; x++) {
+ switch (bpp) {
+ case 32:
+ FFSWAP(uint32_t, ((uint32_t *)line)[x], ((uint32_t *)line)[w - x - 1]);
+ break;
+ case 24:
+ FFSWAP(uint8_t, ((uint8_t *)line)[3 * x ], ((uint8_t *)line)[3 * w - 3 * x - 3]);
+ FFSWAP(uint8_t, ((uint8_t *)line)[3 * x + 1], ((uint8_t *)line)[3 * w - 3 * x - 2]);
+ FFSWAP(uint8_t, ((uint8_t *)line)[3 * x + 2], ((uint8_t *)line)[3 * w - 3 * x - 1]);
+ break;
+ case 16:
+ FFSWAP(uint16_t, ((uint16_t *)line)[x], ((uint16_t *)line)[w - x - 1]);
+ break;
+ case 8:
+ FFSWAP(uint8_t, ((uint8_t *)line)[x], ((uint8_t *)line)[w - x - 1]);
}
}
}
+ }
*got_frame = 1;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay
2022-08-24 1:28 [FFmpeg-devel] [PATCH 01/11] avcodec/tests/avcodec: Mark frame-thrd encoder incompatible with delay Andreas Rheinhardt
` (19 preceding siblings ...)
2022-08-25 16:34 ` [FFmpeg-devel] [PATCH 21/21] avcodec/targa: Fix indentation Andreas Rheinhardt
@ 2022-08-26 0:31 ` Andreas Rheinhardt
20 siblings, 0 replies; 24+ messages in thread
From: Andreas Rheinhardt @ 2022-08-26 0:31 UTC (permalink / raw)
To: ffmpeg-devel
Andreas Rheinhardt:
> The API for frame-threaded encoders only works
> for one-in-one-out encoders.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> ---
> libavcodec/tests/avcodec.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/libavcodec/tests/avcodec.c b/libavcodec/tests/avcodec.c
> index 08b5fbede1..3288a85f64 100644
> --- a/libavcodec/tests/avcodec.c
> +++ b/libavcodec/tests/avcodec.c
> @@ -155,6 +155,9 @@ int main(void){
> if (codec->capabilities & AV_CODEC_CAP_FRAME_THREADS &&
> codec->capabilities & AV_CODEC_CAP_ENCODER_FLUSH)
> ERR("Frame-threaded encoder %s claims to support flushing\n");
> + if (codec->capabilities & AV_CODEC_CAP_FRAME_THREADS &&
> + codec->capabilities & AV_CODEC_CAP_DELAY)
> + ERR("Frame-threaded encoder %s claims to have delay\n");
> } else {
> if ((codec->type == AVMEDIA_TYPE_SUBTITLE) != (codec2->cb_type == FF_CODEC_CB_TYPE_DECODE_SUB))
> ERR("Subtitle decoder %s does not implement decode_sub callback\n");
Will apply the first eleven patches of this patchset (with v2 of #11)
tonight unless there are objections.
- Andreas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 24+ messages in thread