diff mbox series

[FFmpeg-devel,03/20] avformat/matroskaenc: Remove useless AVIOContext

Message ID 20200101005837.11356-4-andreas.rheinhardt@gmail.com
State Accepted
Headers show
Series Matroska muxer patches
Related show

Checks

Context Check Description
andriy/ffmpeg-patchwork pending
andriy/ffmpeg-patchwork success Applied patch
andriy/ffmpeg-patchwork success Configure finished
andriy/ffmpeg-patchwork success Make finished
andriy/ffmpeg-patchwork success Make fate finished

Commit Message

Andreas Rheinhardt Jan. 1, 2020, 12:58 a.m. UTC
Write a few numbers directly via AV_WB32 instead of using an AVIOContext
(that is initialized only for this very purpose) to write these numbers
at known offsets into a fixed buffer.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
 libavformat/matroskaenc.c | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

Comments

James Almer Jan. 27, 2020, 7:43 p.m. UTC | #1
On 12/31/2019 9:58 PM, Andreas Rheinhardt wrote:
> Write a few numbers directly via AV_WB32 instead of using an AVIOContext
> (that is initialized only for this very purpose) to write these numbers
> at known offsets into a fixed buffer.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
> ---
>  libavformat/matroskaenc.c | 23 ++++++++++-------------
>  1 file changed, 10 insertions(+), 13 deletions(-)
> 
> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
> index bbf9b55e78..d51c8cbebf 100644
> --- a/libavformat/matroskaenc.c
> +++ b/libavformat/matroskaenc.c
> @@ -946,7 +946,6 @@ static int mkv_write_video_color(AVIOContext *pb, AVCodecParameters *par, AVStre
>  static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb,
>                                        AVStream *st)
>  {
> -    AVIOContext b;
>      ebml_master projection;
>      int side_data_size = 0;
>      uint8_t private[20];
> @@ -976,26 +975,24 @@ static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb,
>                        MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
>          break;
>      case AV_SPHERICAL_EQUIRECTANGULAR_TILE:
> -        ffio_init_context(&b, private, 20, 1, NULL, NULL, NULL, NULL);
>          put_ebml_uint(pb, MATROSKA_ID_VIDEOPROJECTIONTYPE,
>                        MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
> -        avio_wb32(&b, 0); // version + flags
> -        avio_wb32(&b, spherical->bound_top);
> -        avio_wb32(&b, spherical->bound_bottom);
> -        avio_wb32(&b, spherical->bound_left);
> -        avio_wb32(&b, spherical->bound_right);
> +        AV_WB32(private     , 0); // version + flags
> +        AV_WB32(private +  4, spherical->bound_top);
> +        AV_WB32(private +  8, spherical->bound_bottom);
> +        AV_WB32(private + 12, spherical->bound_left);
> +        AV_WB32(private + 16, spherical->bound_right);
>          put_ebml_binary(pb, MATROSKA_ID_VIDEOPROJECTIONPRIVATE,
> -                        private, avio_tell(&b));
> +                        private, 20);
>          break;
>      case AV_SPHERICAL_CUBEMAP:
> -        ffio_init_context(&b, private, 12, 1, NULL, NULL, NULL, NULL);
>          put_ebml_uint(pb, MATROSKA_ID_VIDEOPROJECTIONTYPE,
>                        MATROSKA_VIDEO_PROJECTION_TYPE_CUBEMAP);
> -        avio_wb32(&b, 0); // version + flags
> -        avio_wb32(&b, 0); // layout
> -        avio_wb32(&b, spherical->padding);
> +        AV_WB32(private    , 0); // version + flags
> +        AV_WB32(private + 4, 0); // layout
> +        AV_WB32(private + 8, spherical->padding);
>          put_ebml_binary(pb, MATROSKA_ID_VIDEOPROJECTIONPRIVATE,
> -                        private, avio_tell(&b));
> +                        private, 12);
>          break;
>      }

Pushed.
diff mbox series

Patch

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index bbf9b55e78..d51c8cbebf 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -946,7 +946,6 @@  static int mkv_write_video_color(AVIOContext *pb, AVCodecParameters *par, AVStre
 static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb,
                                       AVStream *st)
 {
-    AVIOContext b;
     ebml_master projection;
     int side_data_size = 0;
     uint8_t private[20];
@@ -976,26 +975,24 @@  static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb,
                       MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
         break;
     case AV_SPHERICAL_EQUIRECTANGULAR_TILE:
-        ffio_init_context(&b, private, 20, 1, NULL, NULL, NULL, NULL);
         put_ebml_uint(pb, MATROSKA_ID_VIDEOPROJECTIONTYPE,
                       MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
-        avio_wb32(&b, 0); // version + flags
-        avio_wb32(&b, spherical->bound_top);
-        avio_wb32(&b, spherical->bound_bottom);
-        avio_wb32(&b, spherical->bound_left);
-        avio_wb32(&b, spherical->bound_right);
+        AV_WB32(private     , 0); // version + flags
+        AV_WB32(private +  4, spherical->bound_top);
+        AV_WB32(private +  8, spherical->bound_bottom);
+        AV_WB32(private + 12, spherical->bound_left);
+        AV_WB32(private + 16, spherical->bound_right);
         put_ebml_binary(pb, MATROSKA_ID_VIDEOPROJECTIONPRIVATE,
-                        private, avio_tell(&b));
+                        private, 20);
         break;
     case AV_SPHERICAL_CUBEMAP:
-        ffio_init_context(&b, private, 12, 1, NULL, NULL, NULL, NULL);
         put_ebml_uint(pb, MATROSKA_ID_VIDEOPROJECTIONTYPE,
                       MATROSKA_VIDEO_PROJECTION_TYPE_CUBEMAP);
-        avio_wb32(&b, 0); // version + flags
-        avio_wb32(&b, 0); // layout
-        avio_wb32(&b, spherical->padding);
+        AV_WB32(private    , 0); // version + flags
+        AV_WB32(private + 4, 0); // layout
+        AV_WB32(private + 8, spherical->padding);
         put_ebml_binary(pb, MATROSKA_ID_VIDEOPROJECTIONPRIVATE,
-                        private, avio_tell(&b));
+                        private, 12);
         break;
     }