History

filter_units, trace_headers: Always use fragment from context

This is in preparation for another patch that will stop needless reallocations of the unit array.

Andreas Rheinhardt committed 7 years ago

Commit c5b452e1 parent 976dae82 files · +11 −10Browse files

Unified · Split

2 files
  1. libavcodec/filter_units_bsf.c +4 −4
  2. libavcodec/trace_headers_bsf.c +7 −6
libavcodec/filter_units_bsf.c+4−4
@@ -199,18 +199,18 @@ static int filter_units_init(AVBSFContext *bsf) · 198 unmodified lines
199199 ctx->cbc->nb_decompose_unit_types = 0;
200200
201201 if (bsf->par_in->extradata) {
202− CodedBitstreamFragment ps;
202+ CodedBitstreamFragment *frag = &ctx->fragment;
203203
204− err = ff_cbs_read_extradata(ctx->cbc, &ps, bsf->par_in);
204+ err = ff_cbs_read_extradata(ctx->cbc, frag, bsf->par_in);
205205 if (err < 0) {
206206 av_log(bsf, AV_LOG_ERROR, "Failed to read extradata.\n");
207207 } else {
208− err = ff_cbs_write_extradata(ctx->cbc, bsf->par_out, &ps);
208+ err = ff_cbs_write_extradata(ctx->cbc, bsf->par_out, frag);
209209 if (err < 0)
210210 av_log(bsf, AV_LOG_ERROR, "Failed to write extradata.\n");
211211 }
212212
213− ff_cbs_fragment_uninit(ctx->cbc, &ps);
213+ ff_cbs_fragment_uninit(ctx->cbc, frag);
214214 }
215215
216216 return err;
libavcodec/trace_headers_bsf.c+7−6
@@ -28,6 +28,7 @@ · 27 unmodified lines
2828
2929 typedef struct TraceHeadersContext {
3030 CodedBitstreamContext *cbc;
31+ CodedBitstreamFragment fragment;
3132 } TraceHeadersContext;
3233
3334
@@ -44,13 +45,13 @@ static int trace_headers_init(AVBSFContext *bsf) · 10 unmodified lines
4445 ctx->cbc->trace_level = AV_LOG_INFO;
4546
4647 if (bsf->par_in->extradata) {
47− CodedBitstreamFragment ps;
48+ CodedBitstreamFragment *frag = &ctx->fragment;
4849
4950 av_log(bsf, AV_LOG_INFO, "Extradata\n");
5051
51− err = ff_cbs_read_extradata(ctx->cbc, &ps, bsf->par_in);
52+ err = ff_cbs_read_extradata(ctx->cbc, frag, bsf->par_in);
5253
53− ff_cbs_fragment_uninit(ctx->cbc, &ps);
54+ ff_cbs_fragment_uninit(ctx->cbc, frag);
5455 }
5556
5657 return err;
@@ -66,7 +67,7 @@ static void trace_headers_close(AVBSFContext *bsf) · 9 unmodified lines
6667 static int trace_headers(AVBSFContext *bsf, AVPacket *pkt)
6768 {
6869 TraceHeadersContext *ctx = bsf->priv_data;
69− CodedBitstreamFragment au;
70+ CodedBitstreamFragment *frag = &ctx->fragment;
7071 char tmp[256] = { 0 };
7172 int err;
7273
@@ -92,9 +93,9 @@ static int trace_headers(AVBSFContext *bsf, AVPacket *pkt) · 19 unmodified lines
9293
9394 av_log(bsf, AV_LOG_INFO, "Packet: %d bytes%s.\n", pkt->size, tmp);
9495
95− err = ff_cbs_read_packet(ctx->cbc, &au, pkt);
96+ err = ff_cbs_read_packet(ctx->cbc, frag, pkt);
9697
97− ff_cbs_fragment_uninit(ctx->cbc, &au);
98+ ff_cbs_fragment_uninit(ctx->cbc, frag);
9899
99100 if (err < 0)
100101 av_packet_unref(pkt);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t