[FFmpeg-devel] [PATCH] avformat/smoothstreamingenc: Move buffers to the end of structs
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sun Dec 5 13:36:11 EET 2021
Andreas Rheinhardt:
> This reduces codesize because the offsets of commonly used elements
> are now smaller and thus need less bytes to encode in ptr+offset
> addressing modes (with GCC 11.2 on x64: 0x1b8b -> 0x1a7b).
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> libavformat/smoothstreamingenc.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/libavformat/smoothstreamingenc.c b/libavformat/smoothstreamingenc.c
> index 27b59c299c..ab0920c16f 100644
> --- a/libavformat/smoothstreamingenc.c
> +++ b/libavformat/smoothstreamingenc.c
> @@ -40,17 +40,15 @@
> #include "libavutil/intreadwrite.h"
>
> typedef struct Fragment {
> - char file[1024];
> - char infofile[1024];
> int64_t start_time, duration;
> int n;
> int64_t start_pos, size;
> + char file[1024];
> + char infofile[1024];
> } Fragment;
>
> typedef struct OutputStream {
> AVFormatContext *ctx;
> - char dirname[1024];
> - uint8_t iobuf[32768];
> URLContext *out; // Current output stream where all output is written
> URLContext *out2; // Auxiliary output stream where all output is also written
> URLContext *tail_out; // The actual main output stream, if we're currently seeked back to write elsewhere
> @@ -64,6 +62,8 @@ typedef struct OutputStream {
> char *private_str;
> int packet_size;
> int audio_tag;
> + char dirname[1024];
> + uint8_t iobuf[32768];
> } OutputStream;
>
> typedef struct SmoothStreamingContext {
>
Will apply this patchset tonight unless there are objections.
- Andreas
More information about the ffmpeg-devel
mailing list