Browse Source

avcodec/chomp: move the reference in the bsf internal buffer

There's no need to allocate a new packet for it.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
tags/n4.0
James Almer 8 years ago
parent
commit
27d4249fad
1 changed files with 4 additions and 8 deletions
  1. +4
    -8
      libavcodec/chomp_bsf.c

+ 4
- 8
libavcodec/chomp_bsf.c View File

@@ -23,20 +23,16 @@
#include "bsf.h"
#include "internal.h"

static int chomp_filter(AVBSFContext *ctx, AVPacket *out)
static int chomp_filter(AVBSFContext *ctx, AVPacket *pkt)
{
AVPacket *in;
int ret;

ret = ff_bsf_get_packet(ctx, &in);
ret = ff_bsf_get_packet_ref(ctx, pkt);
if (ret < 0)
return ret;

while (in->size > 0 && !in->data[in->size - 1])
in->size--;

av_packet_move_ref(out, in);
av_packet_free(&in);
while (pkt->size > 0 && !pkt->data[pkt->size - 1])
pkt->size--;

return 0;
}


Loading…
Cancel
Save