Commit 44be0573 authored by Andreas Rheinhardt's avatar Andreas Rheinhardt Committed by James Almer

avformat/matroskaenc: Remove useless AVIOContext

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: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
parent 9c8aa868
...@@ -944,7 +944,6 @@ static int mkv_write_video_color(AVIOContext *pb, AVCodecParameters *par, AVStre ...@@ -944,7 +944,6 @@ static int mkv_write_video_color(AVIOContext *pb, AVCodecParameters *par, AVStre
static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb, static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb,
AVStream *st) AVStream *st)
{ {
AVIOContext b;
ebml_master projection; ebml_master projection;
int side_data_size = 0; int side_data_size = 0;
uint8_t private[20]; uint8_t private[20];
...@@ -974,26 +973,24 @@ static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb, ...@@ -974,26 +973,24 @@ static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb,
MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR); MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
break; break;
case AV_SPHERICAL_EQUIRECTANGULAR_TILE: case AV_SPHERICAL_EQUIRECTANGULAR_TILE:
ffio_init_context(&b, private, 20, 1, NULL, NULL, NULL, NULL);
put_ebml_uint(pb, MATROSKA_ID_VIDEOPROJECTIONTYPE, put_ebml_uint(pb, MATROSKA_ID_VIDEOPROJECTIONTYPE,
MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR); MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR);
avio_wb32(&b, 0); // version + flags AV_WB32(private, 0); // version + flags
avio_wb32(&b, spherical->bound_top); AV_WB32(private + 4, spherical->bound_top);
avio_wb32(&b, spherical->bound_bottom); AV_WB32(private + 8, spherical->bound_bottom);
avio_wb32(&b, spherical->bound_left); AV_WB32(private + 12, spherical->bound_left);
avio_wb32(&b, spherical->bound_right); AV_WB32(private + 16, spherical->bound_right);
put_ebml_binary(pb, MATROSKA_ID_VIDEOPROJECTIONPRIVATE, put_ebml_binary(pb, MATROSKA_ID_VIDEOPROJECTIONPRIVATE,
private, avio_tell(&b)); private, 20);
break; break;
case AV_SPHERICAL_CUBEMAP: case AV_SPHERICAL_CUBEMAP:
ffio_init_context(&b, private, 12, 1, NULL, NULL, NULL, NULL);
put_ebml_uint(pb, MATROSKA_ID_VIDEOPROJECTIONTYPE, put_ebml_uint(pb, MATROSKA_ID_VIDEOPROJECTIONTYPE,
MATROSKA_VIDEO_PROJECTION_TYPE_CUBEMAP); MATROSKA_VIDEO_PROJECTION_TYPE_CUBEMAP);
avio_wb32(&b, 0); // version + flags AV_WB32(private, 0); // version + flags
avio_wb32(&b, 0); // layout AV_WB32(private + 4, 0); // layout
avio_wb32(&b, spherical->padding); AV_WB32(private + 8, spherical->padding);
put_ebml_binary(pb, MATROSKA_ID_VIDEOPROJECTIONPRIVATE, put_ebml_binary(pb, MATROSKA_ID_VIDEOPROJECTIONPRIVATE,
private, avio_tell(&b)); private, 12);
break; break;
default: default:
av_assert0(0); av_assert0(0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment