ffmpeg-cvslog
Threads by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
May 2010
- 30 participants
- 436 discussions
Author: michael
Date: Thu Apr 16 06:46:44 2009
New Revision: 18533
Log:
Support broken avc nal encapsulation.
Fixes issue987.
Modified:
trunk/libavcodec/h264.c
Modified: trunk/libavcodec/h264.c
==============================================================================
--- trunk/libavcodec/h264.c Thu Apr 16 04:28:49 2009 (r18532)
+++ trunk/libavcodec/h264.c Thu Apr 16 06:46:44 2009 (r18533)
@@ -7461,6 +7461,7 @@ static int decode_nal_units(H264Context
int buf_index=0;
H264Context *hx; ///< thread context
int context_count = 0;
+ int next_avc= h->is_avc ? 0 : buf_size;
h->max_contexts = avctx->thread_count;
#if 0
@@ -7484,7 +7485,7 @@ static int decode_nal_units(H264Context
int i, nalsize = 0;
int err;
- if(h->is_avc) {
+ if(buf_index >= next_avc) {
if(buf_index >= buf_size) break;
nalsize = 0;
for(i = 0; i < h->nal_length_size; i++)
@@ -7498,6 +7499,7 @@ static int decode_nal_units(H264Context
break;
}
}
+ next_avc= buf_index + nalsize;
} else {
// start code prefix search
for(; buf_index + 3 < buf_size; buf_index++){
@@ -7513,7 +7515,7 @@ static int decode_nal_units(H264Context
hx = h->thread_context[context_count];
- ptr= ff_h264_decode_nal(hx, buf + buf_index, &dst_length, &consumed, h->is_avc ? nalsize : buf_size - buf_index);
+ ptr= ff_h264_decode_nal(hx, buf + buf_index, &dst_length, &consumed, next_avc - buf_index);
if (ptr==NULL || dst_length < 0){
return -1;
}
@@ -7525,13 +7527,12 @@ static int decode_nal_units(H264Context
av_log(h->s.avctx, AV_LOG_DEBUG, "NAL %d at %d/%d length %d\n", hx->nal_unit_type, buf_index, buf_size, dst_length);
}
- if (h->is_avc && (nalsize != consumed)){
+ if (h->is_avc && (nalsize != consumed) && nalsize){
int i, debug_level = AV_LOG_DEBUG;
for (i = consumed; i < nalsize; i++)
if (buf[buf_index+i])
debug_level = AV_LOG_ERROR;
av_log(h->s.avctx, debug_level, "AVC: Consumed only %d bytes instead of %d\n", consumed, nalsize);
- consumed= nalsize;
}
buf_index += consumed;
3
7
Author: michael
Date: Sun Oct 19 03:02:48 2008
New Revision: 15641
Log:
Check for pts==dts on I/P frames in the presence of non low delay decoding and
discard these invalid timestamps.
fixes issue171.
Modified:
trunk/libavformat/utils.c
Modified: trunk/libavformat/utils.c
==============================================================================
--- trunk/libavformat/utils.c (original)
+++ trunk/libavformat/utils.c Sun Oct 19 03:02:48 2008
@@ -838,6 +838,14 @@ static void compute_pkt_fields(AVFormatC
pkt->dts -= 1LL<<st->pts_wrap_bits;
}
+ // some mpeg2 in mpeg-ps lack dts (issue171 / input_file.mpg)
+ // we take the conservative approach and discard both
+ // Note, if this is misbehaving for a H.264 file then possibly presentation_delayed is not set correctly.
+ if(delay==1 && pkt->dts == pkt->pts && pkt->dts != AV_NOPTS_VALUE && presentation_delayed){
+ av_log(s, AV_LOG_ERROR, "invalid dts/pts combination\n");
+ pkt->dts= pkt->pts= AV_NOPTS_VALUE;
+ }
+
if (pkt->duration == 0) {
compute_frame_duration(&num, &den, st, pc, pkt);
if (den && num) {
2
1
Author: michael
Date: Sat Dec 12 20:44:01 2009
New Revision: 20814
Log:
Be less picky on invalid invalid frame_pred_frame_dct values.
Fixed issue1615.
Modified:
trunk/libavcodec/mpeg12.c
Modified: trunk/libavcodec/mpeg12.c
==============================================================================
--- trunk/libavcodec/mpeg12.c Sat Dec 12 20:15:56 2009 (r20813)
+++ trunk/libavcodec/mpeg12.c Sat Dec 12 20:44:01 2009 (r20814)
@@ -1557,7 +1557,7 @@ static void mpeg_decode_picture_coding_e
s->picture_structure= PICT_FRAME;
}
- if(s->progressive_frame && !s->frame_pred_frame_dct){
+ if(s->progressive_sequence && !s->frame_pred_frame_dct){
av_log(s->avctx, AV_LOG_ERROR, "invalid frame_pred_frame_dct\n");
s->frame_pred_frame_dct= 1;
}
3
3
Author: alexc
Date: Mon Mar 8 01:00:50 2010
New Revision: 22301
Log:
av_find_stream_info(): Add a workaround for backwards compatible HE-AAC signaling.
The sample rate, frame size, and channel count from the container are
not reliable when backwards compatible signaling is used.
Modified:
trunk/libavformat/avformat.h
trunk/libavformat/utils.c
Modified: trunk/libavformat/avformat.h
==============================================================================
--- trunk/libavformat/avformat.h Mon Mar 8 00:53:47 2010 (r22300)
+++ trunk/libavformat/avformat.h Mon Mar 8 01:00:50 2010 (r22301)
@@ -22,7 +22,7 @@
#define AVFORMAT_AVFORMAT_H
#define LIBAVFORMAT_VERSION_MAJOR 52
-#define LIBAVFORMAT_VERSION_MINOR 54
+#define LIBAVFORMAT_VERSION_MINOR 55
#define LIBAVFORMAT_VERSION_MICRO 0
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
Modified: trunk/libavformat/utils.c
==============================================================================
--- trunk/libavformat/utils.c Mon Mar 8 00:53:47 2010 (r22300)
+++ trunk/libavformat/utils.c Mon Mar 8 01:00:50 2010 (r22301)
@@ -2116,6 +2116,11 @@ int av_find_stream_info(AVFormatContext
for(i=0;i<ic->nb_streams;i++) {
st = ic->streams[i];
+ if (st->codec->codec_id == CODEC_ID_AAC) {
+ st->codec->sample_rate = 0;
+ st->codec->frame_size = 0;
+ st->codec->channels = 0;
+ }
if(st->codec->codec_type == CODEC_TYPE_VIDEO){
/* if(!st->time_base.num)
st->time_base= */
3
2
r21666 - in trunk: Changelog libavformat/Makefile libavformat/allformats.c libavformat/avformat.h libavformat/concat.c
by subversion@mplayerhq.hu 21 Sep '10
by subversion@mplayerhq.hu 21 Sep '10
21 Sep '10
Author: stefano
Date: Sun Feb 7 11:25:58 2010
New Revision: 21666
Log:
Implement a physical concatenation protocol.
Patch by Michele Orr? reverse(<moc.liamg at yp.rekam>).
Added:
trunk/libavformat/concat.c
Modified:
trunk/Changelog
trunk/libavformat/Makefile
trunk/libavformat/allformats.c
trunk/libavformat/avformat.h
Modified: trunk/Changelog
==============================================================================
--- trunk/Changelog Sun Feb 7 03:00:00 2010 (r21665)
+++ trunk/Changelog Sun Feb 7 11:25:58 2010 (r21666)
@@ -54,6 +54,7 @@ version <next>:
- Bink demuxer and Bink Audio decoder
- enable symbol versioning by default for linkers that support it
- IFF PBM/ILBM bitmap decoder
+- concat protocol
Modified: trunk/libavformat/Makefile
==============================================================================
--- trunk/libavformat/Makefile Sun Feb 7 03:00:00 2010 (r21665)
+++ trunk/libavformat/Makefile Sun Feb 7 11:25:58 2010 (r21666)
@@ -269,6 +269,7 @@ OBJS-$(CONFIG_RTMP_PROTOCOL)
OBJS-$(CONFIG_RTP_PROTOCOL) += rtpproto.o
OBJS-$(CONFIG_TCP_PROTOCOL) += tcp.o
OBJS-$(CONFIG_UDP_PROTOCOL) += udp.o
+OBJS-$(CONFIG_CONCAT_PROTOCOL) += concat.o
# libavdevice dependencies
OBJS-$(CONFIG_JACK_INDEV) += timefilter.o
Modified: trunk/libavformat/allformats.c
==============================================================================
--- trunk/libavformat/allformats.c Sun Feb 7 03:00:00 2010 (r21665)
+++ trunk/libavformat/allformats.c Sun Feb 7 11:25:58 2010 (r21666)
@@ -221,4 +221,5 @@ void av_register_all(void)
REGISTER_PROTOCOL (RTP, rtp);
REGISTER_PROTOCOL (TCP, tcp);
REGISTER_PROTOCOL (UDP, udp);
+ REGISTER_PROTOCOL (CONCAT, concat);
}
Modified: trunk/libavformat/avformat.h
==============================================================================
--- trunk/libavformat/avformat.h Sun Feb 7 03:00:00 2010 (r21665)
+++ trunk/libavformat/avformat.h Sun Feb 7 11:25:58 2010 (r21666)
@@ -22,7 +22,7 @@
#define AVFORMAT_AVFORMAT_H
#define LIBAVFORMAT_VERSION_MAJOR 52
-#define LIBAVFORMAT_VERSION_MINOR 50
+#define LIBAVFORMAT_VERSION_MINOR 51
#define LIBAVFORMAT_VERSION_MICRO 0
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
Added: trunk/libavformat/concat.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/libavformat/concat.c Sun Feb 7 11:25:58 2010 (r21666)
@@ -0,0 +1,198 @@
+/*
+ * Concat URL protocol
+ * Copyright (c) 2006 Steve Lhomme
+ * Copyright (c) 2007 Wolfram Gloger
+ * Copyright (c) 2010 Michele Orr?
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "avformat.h"
+#include "libavutil/avstring.h"
+#include "libavutil/mem.h"
+
+#define AV_CAT_SEPARATOR "|"
+
+struct concat_nodes {
+ URLContext *uc; ///< node's URLContext
+ int64_t size; ///< url filesize
+};
+
+struct concat_data {
+ struct concat_nodes *nodes; ///< list of nodes to concat
+ size_t length; ///< number of cat'ed nodes
+ size_t current; ///< index of currently read node
+};
+
+static av_cold int concat_close(URLContext *h)
+{
+ int err = 0;
+ size_t i;
+ struct concat_data *data = h->priv_data;
+ struct concat_nodes *nodes = data->nodes;
+
+ for (i = 0; i != data->length; i++)
+ err |= url_close(nodes[i].uc);
+
+ av_freep(&data->nodes);
+ av_freep(&h->priv_data);
+
+ return err < 0 ? -1 : 0;
+}
+
+static av_cold int concat_open(URLContext *h, const char *uri, int flags)
+{
+ char *node_uri = NULL, *tmp_uri;
+ int err = 0;
+ int64_t size;
+ size_t len, i;
+ URLContext *uc;
+ struct concat_data *data;
+ struct concat_nodes *nodes;
+
+ av_strstart(uri, "concat:", &uri);
+
+ /* creating data */
+ if (!(data = av_mallocz(sizeof(*data))))
+ return AVERROR(ENOMEM);
+ h->priv_data = data;
+
+ for (i = 0, len = 1; uri[i]; i++)
+ if (uri[i] == *AV_CAT_SEPARATOR)
+ /* integer overflow */
+ if (++len == UINT_MAX / sizeof(*nodes)) {
+ av_freep(&h->priv_data);
+ return AVERROR(ENAMETOOLONG);
+ }
+
+ if (!(nodes = av_malloc(sizeof(*nodes) * len))) {
+ av_freep(&h->priv_data);
+ return AVERROR(ENOMEM);
+ } else
+ data->nodes = nodes;
+
+ /* handle input */
+ if (!*uri)
+ err = AVERROR(ENOENT);
+ for (i = 0; *uri; i++) {
+ /* parsing uri */
+ len = strcspn(uri, AV_CAT_SEPARATOR);
+ if (!(tmp_uri = av_realloc(node_uri, len+1))) {
+ err = AVERROR(ENOMEM);
+ break;
+ } else
+ node_uri = tmp_uri;
+ av_strlcpy(node_uri, uri, len+1);
+ uri += len + strspn(uri+len, AV_CAT_SEPARATOR);
+
+ /* creating URLContext */
+ if ((err = url_open(&uc, node_uri, flags)) < 0)
+ break;
+
+ /* creating size */
+ if ((size = url_filesize(uc)) < 0) {
+ url_close(uc);
+ err = AVERROR(ENOSYS);
+ break;
+ }
+
+ /* assembling */
+ nodes[i].uc = uc;
+ nodes[i].size = size;
+ }
+ av_free(node_uri);
+ data->length = i;
+
+ if (err < 0)
+ concat_close(h);
+ else if (!(nodes = av_realloc(nodes, data->length * sizeof(*nodes)))) {
+ concat_close(h);
+ err = AVERROR(ENOMEM);
+ } else
+ data->nodes = nodes;
+ return err;
+}
+
+static int concat_read(URLContext *h, unsigned char *buf, int size)
+{
+ int result, total = 0;
+ struct concat_data *data = h->priv_data;
+ struct concat_nodes *nodes = data->nodes;
+ size_t i = data->current;
+
+ while (size > 0) {
+ result = url_read(nodes[i].uc, buf, size);
+ if (result < 0)
+ return total ? total : result;
+ if (!result)
+ if (i + 1 == data->length ||
+ url_seek(nodes[++i].uc, 0, SEEK_SET) < 0)
+ break;
+ total += result;
+ buf += result;
+ size -= result;
+ }
+ data->current = i;
+ return total;
+}
+
+static int64_t concat_seek(URLContext *h, int64_t pos, int whence)
+{
+ int64_t result;
+ struct concat_data *data = h->priv_data;
+ struct concat_nodes *nodes = data->nodes;
+ size_t i;
+
+ switch (whence) {
+ case SEEK_END:
+ for (i = data->length - 1;
+ i && pos < -nodes[i-1].size;
+ i--)
+ pos += nodes[i-1].size;
+ break;
+ case SEEK_CUR:
+ /* get the absolute position */
+ for (i = 0; i != data->current; i++)
+ pos += nodes[i].size;
+ pos += url_seek(nodes[i].uc, 0, SEEK_CUR);
+ whence = SEEK_SET;
+ /* fall through with the absolute position */
+ case SEEK_SET:
+ for (i = 0; i != data->length - 1 && pos >= nodes[i].size; i++)
+ pos -= nodes[i].size;
+ break;
+ default:
+ return AVERROR(EINVAL);
+ }
+
+ result = url_seek(nodes[i].uc, pos, whence);
+ if (result >= 0) {
+ data->current = i;
+ while (i)
+ result += nodes[i--].size;
+ }
+ return result;
+}
+
+URLProtocol concat_protocol = {
+ "concat",
+ concat_open,
+ concat_read,
+ NULL,
+ concat_seek,
+ concat_close,
+};
2
1
Author: hyc
Date: Fri May 28 20:50:39 2010
New Revision: 23363
Log:
Parse avctx->extradata if available.
Fixes many "non-existing PPS referenced" error messages
Modified:
trunk/libavcodec/h264.h
trunk/libavcodec/h264_parser.c
Modified: trunk/libavcodec/h264.h
==============================================================================
--- trunk/libavcodec/h264.h Fri May 28 20:21:57 2010 (r23362)
+++ trunk/libavcodec/h264.h Fri May 28 20:50:39 2010 (r23363)
@@ -465,6 +465,7 @@ typedef struct H264Context{
int is_avc; ///< this flag is != 0 if codec is avc1
int nal_length_size; ///< Number of bytes used for nal length (1, 2 or 4)
+ int first_picture;
SPS *sps_buffers[MAX_SPS_COUNT];
PPS *pps_buffers[MAX_PPS_COUNT];
Modified: trunk/libavcodec/h264_parser.c
==============================================================================
--- trunk/libavcodec/h264_parser.c Fri May 28 20:21:57 2010 (r23362)
+++ trunk/libavcodec/h264_parser.c Fri May 28 20:50:39 2010 (r23363)
@@ -245,6 +245,14 @@ static int h264_parse(AVCodecParserConte
ParseContext *pc = &h->s.parse_context;
int next;
+ if (h->first_picture) {
+ h->first_picture = 0;
+ if (avctx->extradata_size) {
+ h->s.avctx = avctx;
+ ff_h264_decode_extradata(h);
+ }
+ }
+
if(s->flags & PARSER_FLAG_COMPLETE_FRAMES){
next= buf_size;
}else{
@@ -319,6 +327,7 @@ static int init(AVCodecParserContext *s)
{
H264Context *h = s->priv_data;
h->thread_context[0] = h;
+ h->first_picture = 1;
return 0;
}
2
1
18 Jul '10
Author: michael
Date: Fri May 7 03:25:00 2010
New Revision: 23039
Log:
Add "Memory buffer source filter" from SOC.
This is needed by the current SOC-ffmpeg.c code.
Added:
trunk/libavfilter/vsrc_buffer.c
trunk/libavfilter/vsrc_buffer.h
Added: trunk/libavfilter/vsrc_buffer.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/libavfilter/vsrc_buffer.c Fri May 7 03:25:00 2010 (r23039)
@@ -0,0 +1,140 @@
+/*
+ * Memory buffer source filter
+ * Copyright (c) 2008 Vitor Sessak
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "avfilter.h"
+#include "vsrc_buffer.h"
+
+typedef struct {
+ int64_t pts;
+ AVFrame frame;
+ int has_frame;
+ int h, w, pix_fmt;
+ AVRational pixel_aspect;
+} BufferSourceContext;
+
+
+int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame,
+ int64_t pts, AVRational pixel_aspect)
+{
+ BufferSourceContext *c = buffer_filter->priv;
+
+ if (c->has_frame) {
+ av_log(buffer_filter, AV_LOG_ERROR,
+ "Buffering several frames is not supported. "
+ "Please consume all available frames before adding a new one.\n"
+ );
+ //return -1;
+ }
+
+ memcpy(c->frame.data , frame->data , sizeof(frame->data));
+ memcpy(c->frame.linesize, frame->linesize, sizeof(frame->linesize));
+ c->pts = pts;
+ c->pixel_aspect = pixel_aspect;
+ c->has_frame = 1;
+
+ return 0;
+}
+
+static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
+{
+ BufferSourceContext *c = ctx->priv;
+
+ if(args && sscanf(args, "%d:%d:%d", &c->w, &c->h, &c->pix_fmt) == 3)
+ return 0;
+
+ av_log(ctx, AV_LOG_ERROR, "init() expected 3 arguments:'%s'\n", args);
+ return -1;
+}
+
+static int query_formats(AVFilterContext *ctx)
+{
+ BufferSourceContext *c = ctx->priv;
+ enum PixelFormat pix_fmts[] = { c->pix_fmt, PIX_FMT_NONE };
+
+ avfilter_set_common_formats(ctx, avfilter_make_format_list(pix_fmts));
+ return 0;
+}
+
+static int config_props(AVFilterLink *link)
+{
+ BufferSourceContext *c = link->src->priv;
+
+ link->w = c->w;
+ link->h = c->h;
+
+ return 0;
+}
+
+
+static int request_frame(AVFilterLink *link)
+{
+ BufferSourceContext *c = link->src->priv;
+ AVFilterPicRef *picref;
+
+ if (!c->has_frame) {
+ av_log(link->src, AV_LOG_ERROR,
+ "request_frame() called with no available frame!\n");
+ //return -1;
+ }
+
+ /* This picture will be needed unmodified later for decoding the next
+ * frame */
+ picref = avfilter_get_video_buffer(link, AV_PERM_WRITE | AV_PERM_PRESERVE |
+ AV_PERM_REUSE2,
+ link->w, link->h);
+
+ av_picture_copy((AVPicture *)&picref->data, (AVPicture *)&c->frame,
+ picref->pic->format, link->w, link->h);
+
+ picref->pts = c->pts;
+ picref->pixel_aspect = c->pixel_aspect;
+ avfilter_start_frame(link, avfilter_ref_pic(picref, ~0));
+ avfilter_draw_slice(link, 0, link->h, 1);
+ avfilter_end_frame(link);
+ avfilter_unref_pic(picref);
+
+ c->has_frame = 0;
+
+ return 0;
+}
+
+static int poll_frame(AVFilterLink *link)
+{
+ BufferSourceContext *c = link->src->priv;
+ return !!(c->has_frame);
+}
+
+AVFilter avfilter_vsrc_buffer =
+{
+ .name = "buffer",
+ .priv_size = sizeof(BufferSourceContext),
+ .query_formats = query_formats,
+
+ .init = init,
+
+ .inputs = (AVFilterPad[]) {{ .name = NULL }},
+ .outputs = (AVFilterPad[]) {{ .name = "default",
+ .type = AVMEDIA_TYPE_VIDEO,
+ .request_frame = request_frame,
+ .poll_frame = poll_frame,
+ .config_props = config_props, },
+ { .name = NULL}},
+};
Added: trunk/libavfilter/vsrc_buffer.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/libavfilter/vsrc_buffer.h Fri May 7 03:25:00 2010 (r23039)
@@ -0,0 +1,24 @@
+/*
+ * Memory buffer source filter
+ * Copyright (c) 2008 Vitor Sessak
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame,
+ int64_t pts, AVRational pixel_aspect);
+
4
9
Author: mru
Date: Sat Aug 8 20:27:27 2009
New Revision: 19609
Log:
Generate dependencies while compiling if supported by compiler
Modified:
trunk/common.mak
trunk/configure
Modified: trunk/common.mak
==============================================================================
--- trunk/common.mak Sat Aug 8 20:27:22 2009 (r19608)
+++ trunk/common.mak Sat Aug 8 20:27:27 2009 (r19609)
@@ -21,12 +21,12 @@ ALLFFLIBS = avcodec avdevice avfilter av
CPPFLAGS := -DHAVE_AV_CONFIG_H -I$(BUILD_ROOT_REL) -I$(SRC_PATH) $(CPPFLAGS)
%.o: %.c
- $(DEPEND_CMD)
- $(CC) $(CPPFLAGS) $(CFLAGS) $(LIBOBJFLAGS) -c $(CC_O) $<
+ $(CCDEP)
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(CC_DEPFLAGS) $(LIBOBJFLAGS) -c $(CC_O) $<
%.o: %.S
- $(DEPEND_CMD)
- $(AS) $(CPPFLAGS) $(ASFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
+ $(ASDEP)
+ $(AS) $(CPPFLAGS) $(ASFLAGS) $(AS_DEPFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
%.ho: %.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(LIBOBJFLAGS) -Wno-unused -c -o $@ -x c $<
Modified: trunk/configure
==============================================================================
--- trunk/configure Sat Aug 8 20:27:22 2009 (r19608)
+++ trunk/configure Sat Aug 8 20:27:27 2009 (r19609)
@@ -1510,8 +1510,12 @@ filter_asflags=echo
if $cc --version 2>/dev/null | grep -qi gcc; then
cc_type=gcc
+ CC_DEPFLAGS='-MMD'
+ AS_DEPFLAGS='-MMD'
elif $cc --version 2>/dev/null | grep -q Intel; then
cc_type=icc
+ CC_DEPFLAGS='-MMD'
+ AS_DEPFLAGS='-MMD'
elif $cc -v 2>&1 | grep -q xlc; then
cc_type=xlc
elif $cc -V 2>/dev/null | grep -q Compaq; then
@@ -1530,17 +1534,19 @@ elif $cc --vsn 2>/dev/null | grep -q RVC
die "Error creating armcc configuration file."
cc="$cc --arm_linux_config_file=$armcc_conf --translate_gcc"
as_default="${cross_prefix}gcc"
+ CC_DEPFLAGS='-MMD'
+ AS_DEPFLAGS='-MMD'
elif $cc -version 2>/dev/null | grep -q TMS470; then
cc_type=tms470
cc="$cc --gcc --abi=eabi -eo=.o -mc -me"
CC_O='-fr=$(@D)'
as_default="${cross_prefix}gcc"
ld_default="${cross_prefix}gcc"
- dep_cc_default="${cross_prefix}gcc"
TMPO=$(basename $TMPC .c).o
append TMPFILES $TMPO
add_cflags -D__gnuc_va_list=va_list -D__USER_LABEL_PREFIX__=
- DEPFLAGS='$(CPPFLAGS) -MM'
+ CC_DEPFLAGS='-ppa -ppd=$(@:.o=.d)'
+ AS_DEPFLAGS='-MMD'
filter_cflags=tms470_flags
tms470_flags(){
for flag; do
@@ -1574,6 +1580,9 @@ test -n "$cc_type" && enable $cc_type ||
: ${ld_default:=$cc}
set_default as dep_cc ld
+test -n "$CC_DEPFLAGS" || CCDEP=$DEPEND_CMD
+test -n "$AS_DEPFLAGS" || ASDEP=$DEPEND_CMD
+
add_cflags $extra_cflags
add_asflags $extra_cflags
@@ -2611,8 +2620,11 @@ echo "SLIBPREF=$SLIBPREF" >> config.mak
echo "SLIBSUF=$SLIBSUF" >> config.mak
echo "EXESUF=$EXESUF" >> config.mak
echo "EXTRA_VERSION=$extra_version" >> config.mak
-echo "DEPEND_CMD=$DEPEND_CMD" >> config.mak
echo "DEPFLAGS=$DEPFLAGS" >> config.mak
+echo "CCDEP=$CCDEP" >> config.mak
+echo "ASDEP=$ASDEP" >> config.mak
+echo "CC_DEPFLAGS=$CC_DEPFLAGS" >> config.mak
+echo "AS_DEPFLAGS=$AS_DEPFLAGS" >> config.mak
echo "HOSTCC=$host_cc" >> config.mak
echo "HOSTCFLAGS=$host_cflags" >> config.mak
echo "HOSTEXESUF=$HOSTEXESUF" >> config.mak
5
4
Author: conrad
Date: Wed May 5 23:38:02 2010
New Revision: 23030
Log:
schroenc: Set colorspace info
Modified:
trunk/libavcodec/libschroedingerenc.c
Modified: trunk/libavcodec/libschroedingerenc.c
==============================================================================
--- trunk/libavcodec/libschroedingerenc.c Wed May 5 23:37:58 2010 (r23029)
+++ trunk/libavcodec/libschroedingerenc.c Wed May 5 23:38:02 2010 (r23030)
@@ -128,6 +128,24 @@ static int libschroedinger_encode_init(A
if (SetSchroChromaFormat(avccontext) == -1)
return -1;
+ if (avccontext->color_primaries == AVCOL_PRI_BT709) {
+ p_schro_params->format->colour_primaries = SCHRO_COLOUR_PRIMARY_HDTV;
+ } else if (avccontext->color_primaries == AVCOL_PRI_BT470BG) {
+ p_schro_params->format->colour_primaries = SCHRO_COLOUR_PRIMARY_SDTV_625;
+ } else if (avccontext->color_primaries == AVCOL_PRI_SMPTE170M) {
+ p_schro_params->format->colour_primaries = SCHRO_COLOUR_PRIMARY_SDTV_525;
+ }
+
+ if (avccontext->colorspace == AVCOL_SPC_BT709) {
+ p_schro_params->format->colour_matrix = SCHRO_COLOUR_MATRIX_HDTV;
+ } else if (avccontext->colorspace == AVCOL_SPC_BT470BG) {
+ p_schro_params->format->colour_matrix = SCHRO_COLOUR_MATRIX_SDTV;
+ }
+
+ if (avccontext->color_trc == AVCOL_TRC_BT709) {
+ p_schro_params->format->transfer_function = SCHRO_TRANSFER_CHAR_TV_GAMMA;
+ }
+
if (ff_get_schro_frame_format(p_schro_params->format->chroma_format,
&p_schro_params->frame_format) == -1) {
av_log(avccontext, AV_LOG_ERROR,
2
2
r18351 - in trunk/libavcodec: 4xm.c 8bps.c 8svx.c aac.c aasc.c ac3dec.c adpcm.c adxdec.c alac.c apedec.c asv1.c atrac3.c avcodec.h avs.c bethsoftvideo.c bfi.c bmp.c c93.c cavsdec.c cinepak.c cljr.c...
by subversion@mplayerhq.hu 14 Jul '10
by subversion@mplayerhq.hu 14 Jul '10
14 Jul '10
Author: rbultje
Date: Tue Apr 7 17:59:50 2009
New Revision: 18351
Log:
Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.
Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.
Modified:
trunk/libavcodec/4xm.c
trunk/libavcodec/8bps.c
trunk/libavcodec/8svx.c
trunk/libavcodec/aac.c
trunk/libavcodec/aasc.c
trunk/libavcodec/ac3dec.c
trunk/libavcodec/adpcm.c
trunk/libavcodec/adxdec.c
trunk/libavcodec/alac.c
trunk/libavcodec/apedec.c
trunk/libavcodec/asv1.c
trunk/libavcodec/atrac3.c
trunk/libavcodec/avcodec.h
trunk/libavcodec/avs.c
trunk/libavcodec/bethsoftvideo.c
trunk/libavcodec/bfi.c
trunk/libavcodec/bmp.c
trunk/libavcodec/c93.c
trunk/libavcodec/cavsdec.c
trunk/libavcodec/cinepak.c
trunk/libavcodec/cljr.c
trunk/libavcodec/cook.c
trunk/libavcodec/cscd.c
trunk/libavcodec/cyuv.c
trunk/libavcodec/dca.c
trunk/libavcodec/dnxhddec.c
trunk/libavcodec/dpcm.c
trunk/libavcodec/dsicinav.c
trunk/libavcodec/dv.c
trunk/libavcodec/dvbsubdec.c
trunk/libavcodec/dvdsubdec.c
trunk/libavcodec/dxa.c
trunk/libavcodec/eacmv.c
trunk/libavcodec/eatgq.c
trunk/libavcodec/eatgv.c
trunk/libavcodec/eatqi.c
trunk/libavcodec/escape124.c
trunk/libavcodec/ffv1.c
trunk/libavcodec/flacdec.c
trunk/libavcodec/flashsv.c
trunk/libavcodec/flicvideo.c
trunk/libavcodec/fraps.c
trunk/libavcodec/g726.c
trunk/libavcodec/gifdec.c
trunk/libavcodec/h261dec.c
trunk/libavcodec/h263dec.c
trunk/libavcodec/h264.c
trunk/libavcodec/huffyuv.c
trunk/libavcodec/idcinvideo.c
trunk/libavcodec/imc.c
trunk/libavcodec/indeo2.c
trunk/libavcodec/indeo3.c
trunk/libavcodec/interplayvideo.c
trunk/libavcodec/kmvc.c
trunk/libavcodec/lcldec.c
trunk/libavcodec/libamr.c
trunk/libavcodec/libdiracdec.c
trunk/libavcodec/libfaad.c
trunk/libavcodec/libgsm.c
trunk/libavcodec/libopenjpeg.c
trunk/libavcodec/libschroedingerdec.c
trunk/libavcodec/libspeexdec.c
trunk/libavcodec/loco.c
trunk/libavcodec/mace.c
trunk/libavcodec/mdec.c
trunk/libavcodec/mimic.c
trunk/libavcodec/mjpegbdec.c
trunk/libavcodec/mjpegdec.c
trunk/libavcodec/mjpegdec.h
trunk/libavcodec/mlpdec.c
trunk/libavcodec/mmvideo.c
trunk/libavcodec/motionpixels.c
trunk/libavcodec/mpc7.c
trunk/libavcodec/mpc8.c
trunk/libavcodec/mpeg12.c
trunk/libavcodec/mpegaudiodec.c
trunk/libavcodec/mpegvideo.h
trunk/libavcodec/msrle.c
trunk/libavcodec/msvideo1.c
trunk/libavcodec/nellymoserdec.c
trunk/libavcodec/nuv.c
trunk/libavcodec/pcm.c
trunk/libavcodec/pcx.c
trunk/libavcodec/pngdec.c
trunk/libavcodec/pnmenc.c
trunk/libavcodec/ptx.c
trunk/libavcodec/qcelpdec.c
trunk/libavcodec/qdm2.c
trunk/libavcodec/qdrw.c
trunk/libavcodec/qpeg.c
trunk/libavcodec/qtrle.c
trunk/libavcodec/ra144.c
trunk/libavcodec/ra288.c
trunk/libavcodec/rawdec.c
trunk/libavcodec/rl2.c
trunk/libavcodec/roqvideodec.c
trunk/libavcodec/rpza.c
trunk/libavcodec/rv10.c
trunk/libavcodec/rv34.c
trunk/libavcodec/rv34.h
trunk/libavcodec/sgidec.c
trunk/libavcodec/shorten.c
trunk/libavcodec/smacker.c
trunk/libavcodec/smc.c
trunk/libavcodec/snow.c
trunk/libavcodec/sonic.c
trunk/libavcodec/sp5xdec.c
trunk/libavcodec/sunrast.c
trunk/libavcodec/svq1dec.c
trunk/libavcodec/svq3.c
trunk/libavcodec/targa.c
trunk/libavcodec/tiertexseqv.c
trunk/libavcodec/tiff.c
trunk/libavcodec/truemotion1.c
trunk/libavcodec/truemotion2.c
trunk/libavcodec/truespeech.c
trunk/libavcodec/tscc.c
trunk/libavcodec/tta.c
trunk/libavcodec/txd.c
trunk/libavcodec/ulti.c
trunk/libavcodec/utils.c
trunk/libavcodec/vb.c
trunk/libavcodec/vc1.c
trunk/libavcodec/vcr1.c
trunk/libavcodec/vmdav.c
trunk/libavcodec/vmnc.c
trunk/libavcodec/vorbis_dec.c
trunk/libavcodec/vp3.c
trunk/libavcodec/vqavideo.c
trunk/libavcodec/wavpack.c
trunk/libavcodec/wmadec.c
trunk/libavcodec/wnv1.c
trunk/libavcodec/ws-snd1.c
trunk/libavcodec/xan.c
trunk/libavcodec/xl.c
trunk/libavcodec/xsubdec.c
trunk/libavcodec/zmbv.c
Modified: trunk/libavcodec/4xm.c
==============================================================================
--- trunk/libavcodec/4xm.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/4xm.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -677,8 +677,10 @@ static int decode_i_frame(FourXContext *
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
FourXContext * const f = avctx->priv_data;
AVFrame *picture = data;
AVFrame *p, temp;
Modified: trunk/libavcodec/8bps.c
==============================================================================
--- trunk/libavcodec/8bps.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/8bps.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -58,8 +58,10 @@ typedef struct EightBpsContext {
* Decode a frame
*
*/
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
EightBpsContext * const c = avctx->priv_data;
const unsigned char *encoded = buf;
unsigned char *pixptr, *pixptr_end;
Modified: trunk/libavcodec/8svx.c
==============================================================================
--- trunk/libavcodec/8svx.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/8svx.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -42,8 +42,10 @@ static const int16_t exponential[16] = {
/** decode a frame */
static int eightsvx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
EightSvxContext *esc = avctx->priv_data;
int16_t *out_data = data;
int consumed = buf_size;
Modified: trunk/libavcodec/aac.c
==============================================================================
--- trunk/libavcodec/aac.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/aac.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1604,7 +1604,9 @@ static int parse_adts_frame_header(AACCo
return size;
}
-static int aac_decode_frame(AVCodecContext * avccontext, void * data, int * data_size, const uint8_t * buf, int buf_size) {
+static int aac_decode_frame(AVCodecContext * avccontext, void * data, int * data_size, AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
AACContext * ac = avccontext->priv_data;
ChannelElement * che = NULL;
GetBitContext gb;
Modified: trunk/libavcodec/aasc.c
==============================================================================
--- trunk/libavcodec/aasc.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/aasc.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -59,8 +59,10 @@ static av_cold int aasc_decode_init(AVCo
static int aasc_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
AascContext *s = avctx->priv_data;
int compr, i, stride;
Modified: trunk/libavcodec/ac3dec.c
==============================================================================
--- trunk/libavcodec/ac3dec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/ac3dec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1226,8 +1226,10 @@ static int decode_audio_block(AC3DecodeC
* Decode a single AC-3 frame.
*/
static int ac3_decode_frame(AVCodecContext * avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
AC3DecodeContext *s = avctx->priv_data;
int16_t *out_samples = (int16_t *)data;
int blk, ch, err;
Modified: trunk/libavcodec/adpcm.c
==============================================================================
--- trunk/libavcodec/adpcm.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/adpcm.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -877,8 +877,10 @@ static void xa_decode(short *out, const
static int adpcm_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
ADPCMContext *c = avctx->priv_data;
ADPCMChannelStatus *cs;
int n, m, channel, i;
Modified: trunk/libavcodec/adxdec.c
==============================================================================
--- trunk/libavcodec/adxdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/adxdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -104,8 +104,10 @@ static int adx_decode_header(AVCodecCont
static int adx_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf0, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf0 = avpkt->data;
+ int buf_size = avpkt->size;
ADXContext *c = avctx->priv_data;
short *samples = data;
const uint8_t *buf = buf0;
Modified: trunk/libavcodec/alac.c
==============================================================================
--- trunk/libavcodec/alac.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/alac.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -400,8 +400,10 @@ static void reconstruct_stereo_16(int32_
static int alac_decode_frame(AVCodecContext *avctx,
void *outbuffer, int *outputsize,
- const uint8_t *inbuffer, int input_buffer_size)
+ AVPacket *avpkt)
{
+ const uint8_t *inbuffer = avpkt->data;
+ int input_buffer_size = avpkt->size;
ALACContext *alac = avctx->priv_data;
int channels;
Modified: trunk/libavcodec/apedec.c
==============================================================================
--- trunk/libavcodec/apedec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/apedec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -806,8 +806,10 @@ static void ape_unpack_stereo(APEContext
static int ape_decode_frame(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
APEContext *s = avctx->priv_data;
int16_t *samples = data;
int nblocks;
Modified: trunk/libavcodec/asv1.c
==============================================================================
--- trunk/libavcodec/asv1.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/asv1.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -387,8 +387,10 @@ static inline void dct_get(ASV1Context *
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
ASV1Context * const a = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p= (AVFrame*)&a->picture;
Modified: trunk/libavcodec/atrac3.c
==============================================================================
--- trunk/libavcodec/atrac3.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/atrac3.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -878,7 +878,9 @@ static int decodeFrame(ATRAC3Context *q,
static int atrac3_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
ATRAC3Context *q = avctx->priv_data;
int result = 0, i;
const uint8_t* databuf;
Modified: trunk/libavcodec/avcodec.h
==============================================================================
--- trunk/libavcodec/avcodec.h Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/avcodec.h Tue Apr 7 17:59:50 2009 (r18351)
@@ -2429,8 +2429,7 @@ typedef struct AVCodec {
int (*init)(AVCodecContext *);
int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data);
int (*close)(AVCodecContext *);
- int (*decode)(AVCodecContext *, void *outdata, int *outdata_size,
- const uint8_t *buf, int buf_size);
+ int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt);
/**
* Codec capabilities.
* see CODEC_CAP_*
@@ -3020,26 +3019,45 @@ int avcodec_default_execute(AVCodecConte
*/
int avcodec_open(AVCodecContext *avctx, AVCodec *codec);
+#if LIBAVCODEC_VERSION_MAJOR < 53
/**
* Decodes an audio frame from \p buf into \p samples.
- * The avcodec_decode_audio2() function decodes an audio frame from the input
- * buffer \p buf of size \p buf_size. To decode it, it makes use of the
+ * Wrapper function which calls avcodec_decode_audio3.
+ *
+ * @deprecated Use avcodec_decode_audio3 instead.
+ * @param avctx the codec context
+ * @param[out] samples the output buffer
+ * @param[in,out] frame_size_ptr the output buffer size in bytes
+ * @param[in] buf the input buffer
+ * @param[in] buf_size the input buffer size in bytes
+ * @return On error a negative value is returned, otherwise the number of bytes
+ * used or zero if no frame could be decompressed.
+ */
+attribute_deprecated int avcodec_decode_audio2(AVCodecContext *avctx, int16_t *samples,
+ int *frame_size_ptr,
+ const uint8_t *buf, int buf_size);
+#endif
+
+/**
+ * Decodes an audio frame from \p avpkt->data into \p samples.
+ * The avcodec_decode_audio3() function decodes an audio frame from the input
+ * buffer \p avpkt->data of size \p avpkt->size. To decode it, it makes use of the
* audio codec which was coupled with \p avctx using avcodec_open(). The
* resulting decoded frame is stored in output buffer \p samples. If no frame
* could be decompressed, \p frame_size_ptr is zero. Otherwise, it is the
* decompressed frame size in \e bytes.
*
* @warning You \e must set \p frame_size_ptr to the allocated size of the
- * output buffer before calling avcodec_decode_audio2().
+ * output buffer before calling avcodec_decode_audio3().
*
* @warning The input buffer must be \c FF_INPUT_BUFFER_PADDING_SIZE larger than
* the actual read bytes because some optimized bitstream readers read 32 or 64
* bits at once and could read over the end.
*
- * @warning The end of the input buffer \p buf should be set to 0 to ensure that
+ * @warning The end of the input buffer \p avpkt->data should be set to 0 to ensure that
* no overreading happens for damaged MPEG streams.
*
- * @note You might have to align the input buffer \p buf and output buffer \p
+ * @note You might have to align the input buffer \p avpkt->data and output buffer \p
* samples. The alignment requirements depend on the CPU: On some CPUs it isn't
* necessary at all, on others it won't work at all if not aligned and on others
* it will work but it will have an impact on performance. In practice, the
@@ -3051,19 +3069,37 @@ int avcodec_open(AVCodecContext *avctx,
* @param avctx the codec context
* @param[out] samples the output buffer
* @param[in,out] frame_size_ptr the output buffer size in bytes
- * @param[in] buf the input buffer
- * @param[in] buf_size the input buffer size in bytes
+ * @param[in] avpkt The input AVPacket containing the input buffer.
* @return On error a negative value is returned, otherwise the number of bytes
* used or zero if no frame could be decompressed.
*/
-int avcodec_decode_audio2(AVCodecContext *avctx, int16_t *samples,
+int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples,
int *frame_size_ptr,
- const uint8_t *buf, int buf_size);
+ AVPacket *avpkt);
+#if LIBAVCODEC_VERSION_MAJOR < 53
/**
* Decodes a video frame from \p buf into \p picture.
- * The avcodec_decode_video() function decodes a video frame from the input
- * buffer \p buf of size \p buf_size. To decode it, it makes use of the
+ * Wrapper function which calls avcodec_decode_video2.
+ *
+ * @deprecated Use avcodec_decode_video2 instead.
+ * @param avctx the codec context
+ * @param[out] picture The AVFrame in which the decoded video frame will be stored.
+ * @param[in] buf the input buffer
+ * @param[in] buf_size the size of the input buffer in bytes
+ * @param[in,out] got_picture_ptr Zero if no frame could be decompressed, otherwise, it is nonzero.
+ * @return On error a negative value is returned, otherwise the number of bytes
+ * used or zero if no frame could be decompressed.
+ */
+attribute_deprecated int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture,
+ int *got_picture_ptr,
+ const uint8_t *buf, int buf_size);
+#endif
+
+/**
+ * Decodes a video frame from \p avpkt->data into \p picture.
+ * The avcodec_decode_video2() function decodes a video frame from the input
+ * buffer \p avpkt->data of size \p avpkt->size. To decode it, it makes use of the
* video codec which was coupled with \p avctx using avcodec_open(). The
* resulting decoded frame is stored in \p picture.
*
@@ -3074,7 +3110,7 @@ int avcodec_decode_audio2(AVCodecContext
* @warning The end of the input buffer \p buf should be set to 0 to ensure that
* no overreading happens for damaged MPEG streams.
*
- * @note You might have to align the input buffer \p buf and output buffer \p
+ * @note You might have to align the input buffer \p avpkt->data and output buffer \p
* samples. The alignment requirements depend on the CPU: on some CPUs it isn't
* necessary at all, on others it won't work at all if not aligned and on others
* it will work but it will have an impact on performance. In practice, the
@@ -3084,26 +3120,42 @@ int avcodec_decode_audio2(AVCodecContext
* start of the buffer to 16.
*
* @note Some codecs have a delay between input and output, these need to be
- * feeded with buf=NULL, buf_size=0 at the end to return the remaining frames.
+ * feeded with avpkt->data=NULL, avpkt->size=0 at the end to return the remaining frames.
*
* @param avctx the codec context
* @param[out] picture The AVFrame in which the decoded video frame will be stored.
- * @param[in] buf the input buffer
- * @param[in] buf_size the size of the input buffer in bytes
+ * @param[in] avpkt The input AVpacket containing the input buffer.
* @param[in,out] got_picture_ptr Zero if no frame could be decompressed, otherwise, it is nonzero.
* @return On error a negative value is returned, otherwise the number of bytes
* used or zero if no frame could be decompressed.
*/
-int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture,
+int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
int *got_picture_ptr,
- const uint8_t *buf, int buf_size);
+ AVPacket *avpkt);
+#if LIBAVCODEC_VERSION_MAJOR < 53
/* Decode a subtitle message. Return -1 if error, otherwise return the
* number of bytes used. If no subtitle could be decompressed,
* got_sub_ptr is zero. Otherwise, the subtitle is stored in *sub. */
-int avcodec_decode_subtitle(AVCodecContext *avctx, AVSubtitle *sub,
+attribute_deprecated int avcodec_decode_subtitle(AVCodecContext *avctx, AVSubtitle *sub,
int *got_sub_ptr,
const uint8_t *buf, int buf_size);
+#endif
+
+/**
+ * Decodes a subtitle message.
+ * Returns -1 if error, otherwise returns the number of bytes used.
+ * If no subtitle could be decompressed, \p got_sub_ptr is zero.
+ * Otherwise, the subtitle is stored in \p *sub.
+ *
+ * @param avctx the codec context
+ * @param[out] sub The AVSubtitle in which the decoded subtitle will be stored.
+ * @param[in,out] got_sub_ptr Zero if no subtitle could be decompressed, otherwise, it is nonzero.
+ * @param[in] avpkt The input AVPacket containing the input buffer.
+ */
+int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
+ int *got_sub_ptr,
+ AVPacket *avpkt);
int avcodec_parse_frame(AVCodecContext *avctx, uint8_t **pdata,
int *data_size_ptr,
uint8_t *buf, int buf_size);
Modified: trunk/libavcodec/avs.c
==============================================================================
--- trunk/libavcodec/avs.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/avs.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -44,8 +44,10 @@ typedef enum {
static int
avs_decode_frame(AVCodecContext * avctx,
- void *data, int *data_size, const uint8_t * buf, int buf_size)
+ void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
AvsContext *const avs = avctx->priv_data;
AVFrame *picture = data;
AVFrame *const p = (AVFrame *) & avs->picture;
Modified: trunk/libavcodec/bethsoftvideo.c
==============================================================================
--- trunk/libavcodec/bethsoftvideo.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/bethsoftvideo.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -58,8 +58,10 @@ static void set_palette(AVFrame * frame,
static int bethsoftvid_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
BethsoftvidContext * vid = avctx->priv_data;
char block_type;
uint8_t * dst;
Modified: trunk/libavcodec/bfi.c
==============================================================================
--- trunk/libavcodec/bfi.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/bfi.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -45,9 +45,10 @@ static av_cold int bfi_decode_init(AVCod
}
static int bfi_decode_frame(AVCodecContext * avctx, void *data,
- int *data_size, const uint8_t * buf,
- int buf_size)
+ int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
BFIContext *bfi = avctx->priv_data;
uint8_t *dst = bfi->dst;
uint8_t *src, *dst_offset, colour1, colour2;
Modified: trunk/libavcodec/bmp.c
==============================================================================
--- trunk/libavcodec/bmp.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/bmp.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -35,8 +35,10 @@ static av_cold int bmp_decode_init(AVCod
static int bmp_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
BMPContext *s = avctx->priv_data;
AVFrame *picture = data;
AVFrame *p = &s->picture;
Modified: trunk/libavcodec/c93.c
==============================================================================
--- trunk/libavcodec/c93.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/c93.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -113,8 +113,10 @@ static inline void draw_n_color(uint8_t
}
static int decode_frame(AVCodecContext *avctx, void *data,
- int *data_size, const uint8_t * buf, int buf_size)
+ int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
C93DecoderContext * const c93 = avctx->priv_data;
AVFrame * const newpic = &c93->pictures[c93->currentpic];
AVFrame * const oldpic = &c93->pictures[c93->currentpic^1];
Modified: trunk/libavcodec/cavsdec.c
==============================================================================
--- trunk/libavcodec/cavsdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/cavsdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -625,7 +625,9 @@ static void cavs_flush(AVCodecContext *
}
static int cavs_decode_frame(AVCodecContext * avctx,void *data, int *data_size,
- const uint8_t * buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
AVSContext *h = avctx->priv_data;
MpegEncContext *s = &h->s;
int input_size;
Modified: trunk/libavcodec/cinepak.c
==============================================================================
--- trunk/libavcodec/cinepak.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/cinepak.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -411,8 +411,10 @@ static av_cold int cinepak_decode_init(A
static int cinepak_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
CinepakContext *s = avctx->priv_data;
s->data = buf;
Modified: trunk/libavcodec/cljr.c
==============================================================================
--- trunk/libavcodec/cljr.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/cljr.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -42,8 +42,10 @@ typedef struct CLJRContext{
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
CLJRContext * const a = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p= (AVFrame*)&a->picture;
Modified: trunk/libavcodec/cook.c
==============================================================================
--- trunk/libavcodec/cook.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/cook.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -979,7 +979,9 @@ static int decode_subpacket(COOKContext
static int cook_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
COOKContext *q = avctx->priv_data;
if (buf_size < avctx->block_align)
Modified: trunk/libavcodec/cscd.c
==============================================================================
--- trunk/libavcodec/cscd.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/cscd.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -135,7 +135,9 @@ static void add_frame_32(AVFrame *f, con
#endif
static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
CamStudioContext *c = avctx->priv_data;
AVFrame *picture = data;
Modified: trunk/libavcodec/cyuv.c
==============================================================================
--- trunk/libavcodec/cyuv.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/cyuv.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -60,8 +60,10 @@ static av_cold int cyuv_decode_init(AVCo
static int cyuv_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
CyuvDecodeContext *s=avctx->priv_data;
unsigned char *y_plane;
Modified: trunk/libavcodec/dca.c
==============================================================================
--- trunk/libavcodec/dca.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/dca.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1209,8 +1209,10 @@ static int dca_convert_bitstream(const u
*/
static int dca_decode_frame(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
int i;
int16_t *samples = data;
Modified: trunk/libavcodec/dnxhddec.c
==============================================================================
--- trunk/libavcodec/dnxhddec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/dnxhddec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -278,8 +278,10 @@ static int dnxhd_decode_macroblocks(DNXH
}
static int dnxhd_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
DNXHDContext *ctx = avctx->priv_data;
AVFrame *picture = data;
int first_field = 1;
Modified: trunk/libavcodec/dpcm.c
==============================================================================
--- trunk/libavcodec/dpcm.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/dpcm.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -161,8 +161,10 @@ static av_cold int dpcm_decode_init(AVCo
static int dpcm_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
DPCMContext *s = avctx->priv_data;
int in, out = 0;
int predictor[2];
Modified: trunk/libavcodec/dsicinav.c
==============================================================================
--- trunk/libavcodec/dsicinav.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/dsicinav.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -195,8 +195,10 @@ static void cin_decode_rle(const unsigne
static int cinvideo_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
CinVideoContext *cin = avctx->priv_data;
int i, y, palette_type, palette_colors_count, bitmap_frame_type, bitmap_frame_size;
@@ -312,8 +314,10 @@ static av_cold int cinaudio_decode_init(
static int cinaudio_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
CinAudioContext *cin = avctx->priv_data;
const uint8_t *src = buf;
int16_t *samples = (int16_t *)data;
Modified: trunk/libavcodec/dv.c
==============================================================================
--- trunk/libavcodec/dv.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/dv.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1111,8 +1111,10 @@ static int dv_encode_video_segment(AVCod
144000 bytes for PAL - or twice those for 50Mbps) */
static int dvvideo_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
DVVideoContext *s = avctx->priv_data;
s->sys = dv_frame_profile(buf);
Modified: trunk/libavcodec/dvbsubdec.c
==============================================================================
--- trunk/libavcodec/dvbsubdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/dvbsubdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1345,8 +1345,10 @@ static int dvbsub_display_end_segment(AV
static int dvbsub_decode(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
AVSubtitle *sub = (AVSubtitle*) data;
const uint8_t *p, *p_end;
Modified: trunk/libavcodec/dvdsubdec.c
==============================================================================
--- trunk/libavcodec/dvdsubdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/dvdsubdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -475,8 +475,10 @@ static void ppm_save(const char *filenam
static int dvdsub_decode(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
AVSubtitle *sub = (void *)data;
int is_menu;
Modified: trunk/libavcodec/dxa.c
==============================================================================
--- trunk/libavcodec/dxa.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/dxa.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -188,8 +188,10 @@ static int decode_13(AVCodecContext *avc
return 0;
}
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
DxaDecContext * const c = avctx->priv_data;
uint8_t *outptr, *srcptr, *tmpptr;
unsigned long dsize;
Modified: trunk/libavcodec/eacmv.c
==============================================================================
--- trunk/libavcodec/eacmv.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/eacmv.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -144,8 +144,10 @@ static void cmv_process_header(CmvContex
static int cmv_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
CmvContext *s = avctx->priv_data;
const uint8_t *buf_end = buf + buf_size;
Modified: trunk/libavcodec/eatgq.c
==============================================================================
--- trunk/libavcodec/eatgq.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/eatgq.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -190,7 +190,9 @@ static void tgq_calculate_qtable(TgqCont
static int tgq_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size){
+ AVPacket *avpkt){
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
const uint8_t *buf_start = buf;
const uint8_t *buf_end = buf + buf_size;
TgqContext *s = avctx->priv_data;
Modified: trunk/libavcodec/eatgv.c
==============================================================================
--- trunk/libavcodec/eatgv.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/eatgv.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -237,8 +237,10 @@ static void cond_release_buffer(AVFrame
static int tgv_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
TgvContext *s = avctx->priv_data;
const uint8_t *buf_end = buf + buf_size;
int chunk_type;
Modified: trunk/libavcodec/eatqi.c
==============================================================================
--- trunk/libavcodec/eatqi.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/eatqi.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -101,8 +101,10 @@ static void tqi_calculate_qtable(MpegEnc
static int tqi_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
const uint8_t *buf_end = buf+buf_size;
TqiContext *t = avctx->priv_data;
MpegEncContext *s = &t->s;
Modified: trunk/libavcodec/escape124.c
==============================================================================
--- trunk/libavcodec/escape124.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/escape124.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -206,8 +206,10 @@ static const uint16_t mask_matrix[] = {0
*/
static int escape124_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
Escape124Context *s = avctx->priv_data;
GetBitContext gb;
Modified: trunk/libavcodec/ffv1.c
==============================================================================
--- trunk/libavcodec/ffv1.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/ffv1.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -936,7 +936,9 @@ static av_cold int decode_init(AVCodecCo
return 0;
}
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size){
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt){
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
FFV1Context *f = avctx->priv_data;
RangeCoder * const c= &f->c;
const int width= f->width;
Modified: trunk/libavcodec/flacdec.c
==============================================================================
--- trunk/libavcodec/flacdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/flacdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -636,8 +636,10 @@ static int decode_frame(FLACContext *s)
static int flac_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
FLACContext *s = avctx->priv_data;
int i, j = 0, input_buf_size = 0, bytes_read = 0;
int16_t *samples_16 = data;
Modified: trunk/libavcodec/flashsv.c
==============================================================================
--- trunk/libavcodec/flashsv.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/flashsv.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -102,8 +102,10 @@ static av_cold int flashsv_decode_init(A
static int flashsv_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
FlashSVContext *s = avctx->priv_data;
int h_blocks, v_blocks, h_part, v_part, i, j;
GetBitContext gb;
Modified: trunk/libavcodec/flicvideo.c
==============================================================================
--- trunk/libavcodec/flicvideo.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/flicvideo.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -701,8 +701,10 @@ static int flic_decode_frame_24BPP(AVCod
static int flic_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
if (avctx->pix_fmt == PIX_FMT_PAL8) {
return flic_decode_frame_8BPP(avctx, data, data_size,
buf, buf_size);
Modified: trunk/libavcodec/fraps.c
==============================================================================
--- trunk/libavcodec/fraps.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/fraps.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -130,8 +130,10 @@ static int fraps2_decode_plane(FrapsCont
*/
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
FrapsContext * const s = avctx->priv_data;
AVFrame *frame = data;
AVFrame * const f = (AVFrame*)&s->frame;
Modified: trunk/libavcodec/g726.c
==============================================================================
--- trunk/libavcodec/g726.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/g726.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -363,8 +363,10 @@ static int g726_encode_frame(AVCodecCont
static int g726_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
G726Context *c = avctx->priv_data;
short *samples = data;
GetBitContext gb;
Modified: trunk/libavcodec/gifdec.c
==============================================================================
--- trunk/libavcodec/gifdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/gifdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -282,8 +282,10 @@ static av_cold int gif_decode_init(AVCod
return 0;
}
-static int gif_decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int gif_decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
GifState *s = avctx->priv_data;
AVFrame *picture = data;
int ret;
Modified: trunk/libavcodec/h261dec.c
==============================================================================
--- trunk/libavcodec/h261dec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/h261dec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -543,8 +543,10 @@ static int get_consumed_bytes(MpegEncCon
static int h261_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
H261Context *h= avctx->priv_data;
MpegEncContext *s = &h->s;
int ret;
Modified: trunk/libavcodec/h263dec.c
==============================================================================
--- trunk/libavcodec/h263dec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/h263dec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -331,8 +331,10 @@ static int decode_slice(MpegEncContext *
int ff_h263_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MpegEncContext *s = avctx->priv_data;
int ret;
AVFrame *pict = data;
Modified: trunk/libavcodec/h264.c
==============================================================================
--- trunk/libavcodec/h264.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/h264.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -7618,8 +7618,10 @@ static int get_consumed_bytes(MpegEncCon
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
H264Context *h = avctx->priv_data;
MpegEncContext *s = &h->s;
AVFrame *pict = data;
Modified: trunk/libavcodec/huffyuv.c
==============================================================================
--- trunk/libavcodec/huffyuv.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/huffyuv.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -942,7 +942,9 @@ static void draw_slice(HYuvContext *s, i
s->last_slice_end= y + h;
}
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size){
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt){
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
HYuvContext *s = avctx->priv_data;
const int width= s->width;
const int width2= s->width>>1;
Modified: trunk/libavcodec/idcinvideo.c
==============================================================================
--- trunk/libavcodec/idcinvideo.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/idcinvideo.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -209,8 +209,10 @@ static void idcin_decode_vlcs(IdcinConte
static int idcin_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
IdcinContext *s = avctx->priv_data;
AVPaletteControl *palette_control = avctx->palctrl;
Modified: trunk/libavcodec/imc.c
==============================================================================
--- trunk/libavcodec/imc.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/imc.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -639,8 +639,10 @@ static int imc_get_coeffs (IMCContext* q
static int imc_decode_frame(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
IMCContext *q = avctx->priv_data;
Modified: trunk/libavcodec/indeo2.c
==============================================================================
--- trunk/libavcodec/indeo2.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/indeo2.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -136,8 +136,10 @@ static int ir2_decode_plane_inter(Ir2Con
static int ir2_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
Ir2Context * const s = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p= (AVFrame*)&s->picture;
Modified: trunk/libavcodec/indeo3.c
==============================================================================
--- trunk/libavcodec/indeo3.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/indeo3.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1062,8 +1062,10 @@ static int iv_decode_frame(Indeo3DecodeC
static int indeo3_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
Indeo3DecodeContext *s=avctx->priv_data;
uint8_t *src, *dest;
int y;
Modified: trunk/libavcodec/interplayvideo.c
==============================================================================
--- trunk/libavcodec/interplayvideo.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/interplayvideo.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -639,8 +639,10 @@ static av_cold int ipvideo_decode_init(A
static int ipvideo_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
IpvideoContext *s = avctx->priv_data;
AVPaletteControl *palette_control = avctx->palctrl;
Modified: trunk/libavcodec/kmvc.c
==============================================================================
--- trunk/libavcodec/kmvc.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/kmvc.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -224,9 +224,10 @@ static void kmvc_decode_inter_8x8(KmvcCo
}
}
-static int decode_frame(AVCodecContext * avctx, void *data, int *data_size, const uint8_t * buf,
- int buf_size)
+static int decode_frame(AVCodecContext * avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
KmvcContext *const ctx = avctx->priv_data;
uint8_t *out, *src;
int i;
Modified: trunk/libavcodec/lcldec.c
==============================================================================
--- trunk/libavcodec/lcldec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/lcldec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -161,8 +161,10 @@ static unsigned int mszh_decomp(unsigned
* Decode a frame
*
*/
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
LclDecContext * const c = avctx->priv_data;
unsigned char *encoded = (unsigned char *)buf;
unsigned int pixel_ptr;
Modified: trunk/libavcodec/libamr.c
==============================================================================
--- trunk/libavcodec/libamr.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/libamr.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -245,8 +245,10 @@ static av_cold int amr_nb_decode_close(A
static int amr_nb_decode_frame(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
AMRContext *s = avctx->priv_data;
const uint8_t*amrData=buf;
int offset=0;
@@ -654,8 +656,10 @@ static int amr_wb_decode_init(AVCodecCon
static int amr_wb_decode_frame(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
AMRWBContext *s = avctx->priv_data;
const uint8_t*amrData=buf;
int mode;
Modified: trunk/libavcodec/libdiracdec.c
==============================================================================
--- trunk/libavcodec/libdiracdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/libdiracdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -77,8 +77,10 @@ static av_cold int libdirac_decode_init(
static int libdirac_decode_frame(AVCodecContext *avccontext,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
FfmpegDiracDecoderParams *p_dirac_params = avccontext->priv_data;
AVPicture *picture = data;
Modified: trunk/libavcodec/libfaad.c
==============================================================================
--- trunk/libavcodec/libfaad.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/libfaad.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -149,8 +149,10 @@ static av_cold int faac_init_mp4(AVCodec
static int faac_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
FAACContext *s = avctx->priv_data;
#ifndef FAAD2_VERSION
unsigned long bytesconsumed;
Modified: trunk/libavcodec/libgsm.c
==============================================================================
--- trunk/libavcodec/libgsm.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/libgsm.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -138,7 +138,9 @@ AVCodec libgsm_ms_encoder = {
static int libgsm_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- uint8_t *buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
*data_size = 0; /* In case of error */
if(buf_size < avctx->block_align) return -1;
switch(avctx->codec_id) {
Modified: trunk/libavcodec/libopenjpeg.c
==============================================================================
--- trunk/libavcodec/libopenjpeg.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/libopenjpeg.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -58,8 +58,10 @@ static av_cold int libopenjpeg_decode_in
static int libopenjpeg_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
LibOpenJPEGContext *ctx = avctx->priv_data;
AVFrame *picture = &ctx->image, *output = data;
opj_dinfo_t *dec;
Modified: trunk/libavcodec/libschroedingerdec.c
==============================================================================
--- trunk/libavcodec/libschroedingerdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/libschroedingerdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -207,8 +207,10 @@ static void libschroedinger_handle_first
static int libschroedinger_decode_frame(AVCodecContext *avccontext,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
FfmpegSchroDecoderParams *p_schro_params = avccontext->priv_data;
SchroDecoder *decoder = p_schro_params->decoder;
Modified: trunk/libavcodec/libspeexdec.c
==============================================================================
--- trunk/libavcodec/libspeexdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/libspeexdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -90,8 +90,10 @@ static av_cold int libspeex_decode_init(
static int libspeex_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
LibSpeexContext *s = avctx->priv_data;
int16_t *output = data, *end;
int i, num_samples;
Modified: trunk/libavcodec/loco.c
==============================================================================
--- trunk/libavcodec/loco.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/loco.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -158,8 +158,10 @@ static int loco_decode_plane(LOCOContext
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
LOCOContext * const l = avctx->priv_data;
AVFrame * const p= (AVFrame*)&l->pic;
int decoded;
Modified: trunk/libavcodec/mace.c
==============================================================================
--- trunk/libavcodec/mace.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mace.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -236,8 +236,10 @@ static av_cold int mace_decode_init(AVCo
static int mace_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
int16_t *samples = data;
MACEContext *ctx = avctx->priv_data;
int i, j, k, l;
Modified: trunk/libavcodec/mdec.c
==============================================================================
--- trunk/libavcodec/mdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -154,8 +154,10 @@ static inline void idct_put(MDECContext
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MDECContext * const a = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p= &a->picture;
Modified: trunk/libavcodec/mimic.c
==============================================================================
--- trunk/libavcodec/mimic.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mimic.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -274,8 +274,10 @@ static void prepare_avpic(MimicContext *
}
static int mimic_decode_frame(AVCodecContext *avctx, void *data,
- int *data_size, const uint8_t *buf, int buf_size)
+ int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MimicContext *ctx = avctx->priv_data;
int is_pframe;
int width, height;
Modified: trunk/libavcodec/mjpegbdec.c
==============================================================================
--- trunk/libavcodec/mjpegbdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mjpegbdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -31,8 +31,10 @@
static int mjpegb_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MJpegDecodeContext *s = avctx->priv_data;
const uint8_t *buf_end, *buf_ptr;
AVFrame *picture = data;
Modified: trunk/libavcodec/mjpegdec.c
==============================================================================
--- trunk/libavcodec/mjpegdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mjpegdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1258,8 +1258,10 @@ found:
int ff_mjpeg_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MJpegDecodeContext *s = avctx->priv_data;
const uint8_t *buf_end, *buf_ptr;
int start_code;
Modified: trunk/libavcodec/mjpegdec.h
==============================================================================
--- trunk/libavcodec/mjpegdec.h Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mjpegdec.h Tue Apr 7 17:59:50 2009 (r18351)
@@ -106,7 +106,7 @@ int ff_mjpeg_decode_init(AVCodecContext
int ff_mjpeg_decode_end(AVCodecContext *avctx);
int ff_mjpeg_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size);
+ AVPacket *avpkt);
int ff_mjpeg_decode_dqt(MJpegDecodeContext *s);
int ff_mjpeg_decode_dht(MJpegDecodeContext *s);
int ff_mjpeg_decode_sof(MJpegDecodeContext *s);
Modified: trunk/libavcodec/mlpdec.c
==============================================================================
--- trunk/libavcodec/mlpdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mlpdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -904,8 +904,10 @@ static int output_data(MLPDecodeContext
* otherwise returns the number of bytes consumed. */
static int read_access_unit(AVCodecContext *avctx, void* data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MLPDecodeContext *m = avctx->priv_data;
GetBitContext gb;
unsigned int length, substr;
Modified: trunk/libavcodec/mmvideo.c
==============================================================================
--- trunk/libavcodec/mmvideo.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mmvideo.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -159,8 +159,10 @@ static void mm_decode_inter(MmContext *
static int mm_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MmContext *s = avctx->priv_data;
const uint8_t *buf_end = buf+buf_size;
int type;
Modified: trunk/libavcodec/motionpixels.c
==============================================================================
--- trunk/libavcodec/motionpixels.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/motionpixels.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -281,8 +281,10 @@ static void mp_decode_frame_helper(Motio
static int mp_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MotionPixelsContext *mp = avctx->priv_data;
GetBitContext gb;
int i, count1, count2, sz;
Modified: trunk/libavcodec/mpc7.c
==============================================================================
--- trunk/libavcodec/mpc7.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mpc7.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -156,8 +156,10 @@ static inline void idx_to_quant(MPCConte
static int mpc7_decode_frame(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MPCContext *c = avctx->priv_data;
GetBitContext gb;
uint8_t *bits;
Modified: trunk/libavcodec/mpc8.c
==============================================================================
--- trunk/libavcodec/mpc8.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mpc8.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -180,8 +180,10 @@ static av_cold int mpc8_decode_init(AVCo
static int mpc8_decode_frame(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MPCContext *c = avctx->priv_data;
GetBitContext gb2, *gb = &gb2;
int i, j, k, ch, cnt, res, t;
Modified: trunk/libavcodec/mpeg12.c
==============================================================================
--- trunk/libavcodec/mpeg12.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mpeg12.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -2260,8 +2260,10 @@ static int decode_chunks(AVCodecContext
/* handle buffering and image synchronisation */
static int mpeg_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
Mpeg1Context *s = avctx->priv_data;
AVFrame *picture = data;
MpegEncContext *s2 = &s->mpeg_enc_ctx;
Modified: trunk/libavcodec/mpegaudiodec.c
==============================================================================
--- trunk/libavcodec/mpegaudiodec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mpegaudiodec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -2258,8 +2258,10 @@ static int mp_decode_frame(MPADecodeCont
static int decode_frame(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MPADecodeContext *s = avctx->priv_data;
uint32_t header;
int out_size;
@@ -2315,8 +2317,10 @@ static void flush(AVCodecContext *avctx)
#if CONFIG_MP3ADU_DECODER
static int decode_frame_adu(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MPADecodeContext *s = avctx->priv_data;
uint32_t header;
int len, out_size;
@@ -2459,8 +2463,10 @@ static av_cold int decode_close_mp3on4(A
static int decode_frame_mp3on4(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MP3On4DecodeContext *s = avctx->priv_data;
MPADecodeContext *m;
int fsize, len = buf_size, out_size = 0;
Modified: trunk/libavcodec/mpegvideo.h
==============================================================================
--- trunk/libavcodec/mpegvideo.h Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/mpegvideo.h Tue Apr 7 17:59:50 2009 (r18351)
@@ -795,7 +795,7 @@ int ff_h261_get_picture_format(int width
int ff_h263_decode_init(AVCodecContext *avctx);
int ff_h263_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size);
+ AVPacket *avpkt);
int ff_h263_decode_end(AVCodecContext *avctx);
void h263_encode_mb(MpegEncContext *s,
DCTELEM block[6][64],
Modified: trunk/libavcodec/msrle.c
==============================================================================
--- trunk/libavcodec/msrle.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/msrle.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -63,8 +63,10 @@ static av_cold int msrle_decode_init(AVC
static int msrle_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MsrleContext *s = avctx->priv_data;
s->buf = buf;
Modified: trunk/libavcodec/msvideo1.c
==============================================================================
--- trunk/libavcodec/msvideo1.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/msvideo1.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -294,8 +294,10 @@ static void msvideo1_decode_16bit(Msvide
static int msvideo1_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
Msvideo1Context *s = avctx->priv_data;
s->buf = buf;
Modified: trunk/libavcodec/nellymoserdec.c
==============================================================================
--- trunk/libavcodec/nellymoserdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/nellymoserdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -153,7 +153,9 @@ static av_cold int decode_init(AVCodecCo
static int decode_tag(AVCodecContext * avctx,
void *data, int *data_size,
- const uint8_t * buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
NellyMoserDecodeContext *s = avctx->priv_data;
int blocks, i;
int16_t* samples;
Modified: trunk/libavcodec/nuv.c
==============================================================================
--- trunk/libavcodec/nuv.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/nuv.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -128,7 +128,9 @@ static int codec_reinit(AVCodecContext *
}
static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
NuvContext *c = avctx->priv_data;
AVFrame *picture = data;
int orig_size = buf_size;
Modified: trunk/libavcodec/pcm.c
==============================================================================
--- trunk/libavcodec/pcm.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/pcm.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -323,8 +323,10 @@ static av_cold int pcm_decode_init(AVCod
static int pcm_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
PCMDecode *s = avctx->priv_data;
int sample_size, c, n;
short *samples;
Modified: trunk/libavcodec/pcx.c
==============================================================================
--- trunk/libavcodec/pcx.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/pcx.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -70,7 +70,9 @@ static void pcx_palette(const uint8_t **
}
static int pcx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
PCXContext * const s = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p = &s->picture;
Modified: trunk/libavcodec/pngdec.c
==============================================================================
--- trunk/libavcodec/pngdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/pngdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -379,8 +379,10 @@ static int png_decode_idat(PNGDecContext
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
PNGDecContext * const s = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p= &s->picture;
Modified: trunk/libavcodec/pnmenc.c
==============================================================================
--- trunk/libavcodec/pnmenc.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/pnmenc.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -34,8 +34,10 @@ static av_cold int common_init(AVCodecCo
static int pnm_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
PNMContext * const s = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p= (AVFrame*)&s->picture;
Modified: trunk/libavcodec/ptx.c
==============================================================================
--- trunk/libavcodec/ptx.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/ptx.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -36,7 +36,9 @@ static av_cold int ptx_init(AVCodecConte
}
static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
PTXContext * const s = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p = &s->picture;
Modified: trunk/libavcodec/qcelpdec.c
==============================================================================
--- trunk/libavcodec/qcelpdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/qcelpdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -729,8 +729,10 @@ static void warn_insufficient_frame_qual
}
static int qcelp_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
QCELPContext *q = avctx->priv_data;
float *outbuffer = data;
int i;
Modified: trunk/libavcodec/qdm2.c
==============================================================================
--- trunk/libavcodec/qdm2.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/qdm2.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1968,8 +1968,10 @@ static void qdm2_decode (QDM2Context *q,
static int qdm2_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
QDM2Context *s = avctx->priv_data;
if(!buf)
Modified: trunk/libavcodec/qdrw.c
==============================================================================
--- trunk/libavcodec/qdrw.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/qdrw.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -34,8 +34,10 @@ typedef struct QdrawContext{
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
QdrawContext * const a = avctx->priv_data;
AVFrame * const p= (AVFrame*)&a->pic;
uint8_t* outdata;
Modified: trunk/libavcodec/qpeg.c
==============================================================================
--- trunk/libavcodec/qpeg.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/qpeg.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -248,8 +248,10 @@ static void qpeg_decode_inter(const uint
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
QpegContext * const a = avctx->priv_data;
AVFrame * const p= (AVFrame*)&a->pic;
uint8_t* outdata;
Modified: trunk/libavcodec/qtrle.c
==============================================================================
--- trunk/libavcodec/qtrle.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/qtrle.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -424,8 +424,10 @@ static av_cold int qtrle_decode_init(AVC
static int qtrle_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
QtrleContext *s = avctx->priv_data;
int header, start_line;
int stream_ptr, height, row_ptr;
Modified: trunk/libavcodec/ra144.c
==============================================================================
--- trunk/libavcodec/ra144.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/ra144.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -287,8 +287,10 @@ static int interp(RA144Context *ractx, i
/** Uncompress one block (20 bytes -> 160*2 bytes). */
static int ra144_decode_frame(AVCodecContext * avctx, void *vdata,
- int *data_size, const uint8_t *buf, int buf_size)
+ int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
static const uint8_t sizes[10] = {6, 5, 5, 4, 4, 3, 3, 3, 3, 2};
unsigned int refl_rms[4]; // RMS of the reflection coefficients
uint16_t block_coefs[4][30]; // LPC coefficients of each sub-block
Modified: trunk/libavcodec/ra288.c
==============================================================================
--- trunk/libavcodec/ra288.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/ra288.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -160,9 +160,10 @@ static void backward_filter(float *hist,
}
static int ra288_decode_frame(AVCodecContext * avctx, void *data,
- int *data_size, const uint8_t * buf,
- int buf_size)
+ int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
float *out = data;
int i, j;
RA288Context *ractx = avctx->priv_data;
Modified: trunk/libavcodec/rawdec.c
==============================================================================
--- trunk/libavcodec/rawdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/rawdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -100,8 +100,10 @@ static void flip(AVCodecContext *avctx,
static int raw_decode(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
RawVideoContext *context = avctx->priv_data;
AVFrame * frame = (AVFrame *) data;
Modified: trunk/libavcodec/rl2.c
==============================================================================
--- trunk/libavcodec/rl2.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/rl2.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -181,8 +181,10 @@ static av_cold int rl2_decode_init(AVCod
*/
static int rl2_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
Rl2Context *s = avctx->priv_data;
if(s->frame.data[0])
Modified: trunk/libavcodec/roqvideodec.c
==============================================================================
--- trunk/libavcodec/roqvideodec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/roqvideodec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -169,8 +169,10 @@ static av_cold int roq_decode_init(AVCod
static int roq_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
RoqContext *s = avctx->priv_data;
int copy= !s->current_frame->data[0];
Modified: trunk/libavcodec/rpza.c
==============================================================================
--- trunk/libavcodec/rpza.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/rpza.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -241,8 +241,10 @@ static av_cold int rpza_decode_init(AVCo
static int rpza_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
RpzaContext *s = avctx->priv_data;
s->buf = buf;
Modified: trunk/libavcodec/rv10.c
==============================================================================
--- trunk/libavcodec/rv10.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/rv10.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -727,8 +727,10 @@ static int get_slice_offset(AVCodecConte
static int rv10_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MpegEncContext *s = avctx->priv_data;
int i;
AVFrame *pict = data;
Modified: trunk/libavcodec/rv34.c
==============================================================================
--- trunk/libavcodec/rv34.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/rv34.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1370,8 +1370,10 @@ static int get_slice_offset(AVCodecConte
int ff_rv34_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
RV34DecContext *r = avctx->priv_data;
MpegEncContext *s = &r->s;
AVFrame *pict = data;
Modified: trunk/libavcodec/rv34.h
==============================================================================
--- trunk/libavcodec/rv34.h Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/rv34.h Tue Apr 7 17:59:50 2009 (r18351)
@@ -123,7 +123,7 @@ typedef struct RV34DecContext{
*/
int ff_rv34_get_start_offset(GetBitContext *gb, int blocks);
int ff_rv34_decode_init(AVCodecContext *avctx);
-int ff_rv34_decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size);
+int ff_rv34_decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt);
int ff_rv34_decode_end(AVCodecContext *avctx);
#endif /* AVCODEC_RV34_H */
Modified: trunk/libavcodec/sgidec.c
==============================================================================
--- trunk/libavcodec/sgidec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/sgidec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -147,8 +147,10 @@ static int read_uncompressed_sgi(unsigne
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *in_buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *in_buf = avpkt->data;
+ int buf_size = avpkt->size;
SgiState *s = avctx->priv_data;
AVFrame *picture = data;
AVFrame *p = &s->picture;
Modified: trunk/libavcodec/shorten.c
==============================================================================
--- trunk/libavcodec/shorten.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/shorten.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -269,8 +269,10 @@ static void decode_subframe_lpc(ShortenC
static int shorten_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
ShortenContext *s = avctx->priv_data;
int i, input_buf_size = 0;
int16_t *samples = data;
Modified: trunk/libavcodec/smacker.c
==============================================================================
--- trunk/libavcodec/smacker.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/smacker.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -345,8 +345,10 @@ static av_always_inline int smk_get_code
return v;
}
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
SmackVContext * const smk = avctx->priv_data;
uint8_t *out;
uint32_t *pal;
@@ -565,8 +567,10 @@ static av_cold int smka_decode_init(AVCo
/**
* Decode Smacker audio data
*/
-static int smka_decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int smka_decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
GetBitContext gb;
HuffContext h[4];
VLC vlc[4];
Modified: trunk/libavcodec/smc.c
==============================================================================
--- trunk/libavcodec/smc.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/smc.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -441,8 +441,10 @@ static av_cold int smc_decode_init(AVCod
static int smc_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
SmcContext *s = avctx->priv_data;
s->buf = buf;
Modified: trunk/libavcodec/snow.c
==============================================================================
--- trunk/libavcodec/snow.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/snow.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -4483,7 +4483,9 @@ static av_cold int decode_init(AVCodecCo
return 0;
}
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size){
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt){
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
SnowContext *s = avctx->priv_data;
RangeCoder * const c= &s->c;
int bytes_read;
Modified: trunk/libavcodec/sonic.c
==============================================================================
--- trunk/libavcodec/sonic.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/sonic.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -851,8 +851,10 @@ static av_cold int sonic_decode_close(AV
static int sonic_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
SonicContext *s = avctx->priv_data;
GetBitContext gb;
int i, quant, ch, j;
Modified: trunk/libavcodec/sp5xdec.c
==============================================================================
--- trunk/libavcodec/sp5xdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/sp5xdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -32,8 +32,11 @@
static int sp5x_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
+ AVPacket avpkt_recoded;
#if 0
MJpegDecodeContext *s = avctx->priv_data;
#endif
@@ -89,7 +92,10 @@ static int sp5x_decode_frame(AVCodecCont
recoded[j++] = 0xD9;
avctx->flags &= ~CODEC_FLAG_EMU_EDGE;
- i = ff_mjpeg_decode_frame(avctx, data, data_size, recoded, j);
+ av_init_packet(&avpkt_recoded);
+ avpkt_recoded.data = recoded;
+ avpkt_recoded.size = j;
+ i = ff_mjpeg_decode_frame(avctx, data, data_size, &avpkt_recoded);
av_free(recoded);
Modified: trunk/libavcodec/sunrast.c
==============================================================================
--- trunk/libavcodec/sunrast.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/sunrast.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -43,7 +43,9 @@ static av_cold int sunrast_init(AVCodecC
}
static int sunrast_decode_frame(AVCodecContext *avctx, void *data,
- int *data_size, const uint8_t *buf, int buf_size) {
+ int *data_size, AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
SUNRASTContext * const s = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p = &s->picture;
Modified: trunk/libavcodec/svq1dec.c
==============================================================================
--- trunk/libavcodec/svq1dec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/svq1dec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -642,8 +642,10 @@ static int svq1_decode_frame_header (Get
static int svq1_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MpegEncContext *s=avctx->priv_data;
uint8_t *current, *previous;
int result, i, x, y, width, height;
Modified: trunk/libavcodec/svq3.c
==============================================================================
--- trunk/libavcodec/svq3.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/svq3.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -889,8 +889,10 @@ static av_cold int svq3_decode_init(AVCo
static int svq3_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
MpegEncContext *const s = avctx->priv_data;
H264Context *const h = avctx->priv_data;
int m, mb_type;
Modified: trunk/libavcodec/targa.c
==============================================================================
--- trunk/libavcodec/targa.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/targa.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -91,8 +91,10 @@ static void targa_decode_rle(AVCodecCont
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
TargaContext * const s = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p= (AVFrame*)&s->picture;
Modified: trunk/libavcodec/tiertexseqv.c
==============================================================================
--- trunk/libavcodec/tiertexseqv.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/tiertexseqv.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -187,8 +187,10 @@ static av_cold int seqvideo_decode_init(
static int seqvideo_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
SeqVideoContext *seq = avctx->priv_data;
Modified: trunk/libavcodec/tiff.c
==============================================================================
--- trunk/libavcodec/tiff.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/tiff.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -404,8 +404,10 @@ static int tiff_decode_tag(TiffContext *
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
TiffContext * const s = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p= (AVFrame*)&s->picture;
Modified: trunk/libavcodec/truemotion1.c
==============================================================================
--- trunk/libavcodec/truemotion1.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/truemotion1.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -846,8 +846,10 @@ static void truemotion1_decode_24bit(Tru
static int truemotion1_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
TrueMotion1Context *s = avctx->priv_data;
s->buf = buf;
Modified: trunk/libavcodec/truemotion2.c
==============================================================================
--- trunk/libavcodec/truemotion2.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/truemotion2.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -763,8 +763,10 @@ static const int tm2_stream_order[TM2_NU
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
TM2Context * const l = avctx->priv_data;
AVFrame * const p= (AVFrame*)&l->pic;
int i, skip, t;
Modified: trunk/libavcodec/truespeech.c
==============================================================================
--- trunk/libavcodec/truespeech.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/truespeech.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -332,8 +332,10 @@ static void truespeech_save_prevvec(TSCo
static int truespeech_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
TSContext *c = avctx->priv_data;
int i, j;
Modified: trunk/libavcodec/tscc.c
==============================================================================
--- trunk/libavcodec/tscc.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/tscc.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -67,8 +67,10 @@ typedef struct TsccContext {
* Decode a frame
*
*/
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
CamtasiaContext * const c = avctx->priv_data;
const unsigned char *encoded = buf;
unsigned char *outptr;
Modified: trunk/libavcodec/tta.c
==============================================================================
--- trunk/libavcodec/tta.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/tta.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -287,8 +287,10 @@ static av_cold int tta_decode_init(AVCod
static int tta_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
TTAContext *s = avctx->priv_data;
int i;
Modified: trunk/libavcodec/txd.c
==============================================================================
--- trunk/libavcodec/txd.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/txd.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -39,7 +39,9 @@ static av_cold int txd_init(AVCodecConte
}
static int txd_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
TXDContext * const s = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p = &s->picture;
Modified: trunk/libavcodec/ulti.c
==============================================================================
--- trunk/libavcodec/ulti.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/ulti.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -200,8 +200,10 @@ static void ulti_grad(AVFrame *frame, in
static int ulti_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
UltimotionDecodeContext *s=avctx->priv_data;
int modifier = 0;
int uniq = 0;
Modified: trunk/libavcodec/utils.c
==============================================================================
--- trunk/libavcodec/utils.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/utils.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -524,18 +524,32 @@ int avcodec_encode_subtitle(AVCodecConte
return ret;
}
+#if LIBAVCODEC_VERSION_MAJOR < 53
int attribute_align_arg avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture,
int *got_picture_ptr,
const uint8_t *buf, int buf_size)
{
+ AVPacket avpkt;
+ av_init_packet(&avpkt);
+ avpkt.data = buf;
+ avpkt.size = buf_size;
+
+ return avcodec_decode_video2(avctx, picture, got_picture_ptr, &avpkt);
+}
+#endif
+
+int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
+ int *got_picture_ptr,
+ AVPacket *avpkt)
+{
int ret;
*got_picture_ptr= 0;
if((avctx->coded_width||avctx->coded_height) && avcodec_check_dimensions(avctx,avctx->coded_width,avctx->coded_height))
return -1;
- if((avctx->codec->capabilities & CODEC_CAP_DELAY) || buf_size){
+ if((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size){
ret = avctx->codec->decode(avctx, picture, got_picture_ptr,
- buf, buf_size);
+ avpkt);
emms_c(); //needed to avoid an emms_c() call before every return;
@@ -547,13 +561,27 @@ int attribute_align_arg avcodec_decode_v
return ret;
}
+#if LIBAVCODEC_VERSION_MAJOR < 53
int attribute_align_arg avcodec_decode_audio2(AVCodecContext *avctx, int16_t *samples,
int *frame_size_ptr,
const uint8_t *buf, int buf_size)
{
+ AVPacket avpkt;
+ av_init_packet(&avpkt);
+ avpkt.data = buf;
+ avpkt.size = buf_size;
+
+ return avcodec_decode_audio3(avctx, samples, frame_size_ptr, &avpkt);
+}
+#endif
+
+int attribute_align_arg avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples,
+ int *frame_size_ptr,
+ AVPacket *avpkt)
+{
int ret;
- if((avctx->codec->capabilities & CODEC_CAP_DELAY) || buf_size){
+ if((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size){
//FIXME remove the check below _after_ ensuring that all audio check that the available space is enough
if(*frame_size_ptr < AVCODEC_MAX_AUDIO_FRAME_SIZE){
av_log(avctx, AV_LOG_ERROR, "buffer smaller than AVCODEC_MAX_AUDIO_FRAME_SIZE\n");
@@ -565,8 +593,7 @@ int attribute_align_arg avcodec_decode_a
return -1;
}
- ret = avctx->codec->decode(avctx, samples, frame_size_ptr,
- buf, buf_size);
+ ret = avctx->codec->decode(avctx, samples, frame_size_ptr, avpkt);
avctx->frame_number++;
}else{
ret= 0;
@@ -575,15 +602,28 @@ int attribute_align_arg avcodec_decode_a
return ret;
}
+#if LIBAVCODEC_VERSION_MAJOR < 53
int avcodec_decode_subtitle(AVCodecContext *avctx, AVSubtitle *sub,
int *got_sub_ptr,
const uint8_t *buf, int buf_size)
{
+ AVPacket avpkt;
+ av_init_packet(&avpkt);
+ avpkt.data = buf;
+ avpkt.size = buf_size;
+
+ return avcodec_decode_subtitle2(avctx, sub, got_sub_ptr, &avpkt);
+}
+#endif
+
+int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
+ int *got_sub_ptr,
+ AVPacket *avpkt)
+{
int ret;
*got_sub_ptr = 0;
- ret = avctx->codec->decode(avctx, sub, got_sub_ptr,
- buf, buf_size);
+ ret = avctx->codec->decode(avctx, sub, got_sub_ptr, avpkt);
if (*got_sub_ptr)
avctx->frame_number++;
return ret;
Modified: trunk/libavcodec/vb.c
==============================================================================
--- trunk/libavcodec/vb.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/vb.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -173,8 +173,10 @@ static int vb_decode_framedata(VBDecCont
return 0;
}
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
VBDecContext * const c = avctx->priv_data;
uint8_t *outptr, *srcptr;
int i, j;
Modified: trunk/libavcodec/vc1.c
==============================================================================
--- trunk/libavcodec/vc1.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/vc1.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -4136,8 +4136,10 @@ static av_cold int vc1_decode_init(AVCod
*/
static int vc1_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
VC1Context *v = avctx->priv_data;
MpegEncContext *s = &v->s;
AVFrame *pict = data;
Modified: trunk/libavcodec/vcr1.c
==============================================================================
--- trunk/libavcodec/vcr1.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/vcr1.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -43,8 +43,10 @@ typedef struct VCR1Context{
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
VCR1Context * const a = avctx->priv_data;
AVFrame *picture = data;
AVFrame * const p= (AVFrame*)&a->picture;
Modified: trunk/libavcodec/vmdav.c
==============================================================================
--- trunk/libavcodec/vmdav.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/vmdav.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -366,8 +366,10 @@ static av_cold int vmdvideo_decode_init(
static int vmdvideo_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
VmdVideoContext *s = avctx->priv_data;
s->buf = buf;
@@ -521,8 +523,10 @@ static int vmdaudio_loadsound(VmdAudioCo
static int vmdaudio_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
VmdAudioContext *s = avctx->priv_data;
unsigned char *output_samples = (unsigned char *)data;
Modified: trunk/libavcodec/vmnc.c
==============================================================================
--- trunk/libavcodec/vmnc.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/vmnc.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -284,8 +284,10 @@ static int decode_hextile(VmncContext *c
return src - ssrc;
}
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
VmncContext * const c = avctx->priv_data;
uint8_t *outptr;
const uint8_t *src = buf;
Modified: trunk/libavcodec/vorbis_dec.c
==============================================================================
--- trunk/libavcodec/vorbis_dec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/vorbis_dec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1560,8 +1560,10 @@ static int vorbis_parse_audio_packet(vor
static int vorbis_decode_frame(AVCodecContext *avccontext,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
vorbis_context *vc = avccontext->priv_data ;
GetBitContext *gb = &(vc->gb);
const float *channel_ptrs[vc->audio_channels];
Modified: trunk/libavcodec/vp3.c
==============================================================================
--- trunk/libavcodec/vp3.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/vp3.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -1800,8 +1800,10 @@ static av_cold int vp3_decode_init(AVCod
*/
static int vp3_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
Vp3DecodeContext *s = avctx->priv_data;
GetBitContext gb;
static int counter = 0;
Modified: trunk/libavcodec/vqavideo.c
==============================================================================
--- trunk/libavcodec/vqavideo.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/vqavideo.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -565,8 +565,10 @@ static void vqa_decode_chunk(VqaContext
static int vqa_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
VqaContext *s = avctx->priv_data;
s->buf = buf;
Modified: trunk/libavcodec/wavpack.c
==============================================================================
--- trunk/libavcodec/wavpack.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/wavpack.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -476,8 +476,10 @@ static av_cold int wavpack_decode_init(A
static int wavpack_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
WavpackContext *s = avctx->priv_data;
int16_t *samples = data;
int samplecount;
Modified: trunk/libavcodec/wmadec.c
==============================================================================
--- trunk/libavcodec/wmadec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/wmadec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -752,8 +752,10 @@ static int wma_decode_frame(WMACodecCont
static int wma_decode_superframe(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
WMACodecContext *s = avctx->priv_data;
int nb_frames, bit_offset, i, pos, len;
uint8_t *q;
Modified: trunk/libavcodec/wnv1.c
==============================================================================
--- trunk/libavcodec/wnv1.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/wnv1.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -58,8 +58,10 @@ static inline int wnv1_get_code(WNV1Cont
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
WNV1Context * const l = avctx->priv_data;
AVFrame * const p= (AVFrame*)&l->pic;
unsigned char *Y,*U,*V;
Modified: trunk/libavcodec/ws-snd1.c
==============================================================================
--- trunk/libavcodec/ws-snd1.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/ws-snd1.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -48,8 +48,10 @@ static av_cold int ws_snd_decode_init(AV
static int ws_snd_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
// WSSNDContext *c = avctx->priv_data;
int in_size, out_size;
Modified: trunk/libavcodec/xan.c
==============================================================================
--- trunk/libavcodec/xan.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/xan.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -405,8 +405,10 @@ static void xan_wc4_decode_frame(XanCont
static int xan_decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
XanContext *s = avctx->priv_data;
AVPaletteControl *palette_control = avctx->palctrl;
Modified: trunk/libavcodec/xl.c
==============================================================================
--- trunk/libavcodec/xl.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/xl.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -40,8 +40,10 @@ static const int xl_table[32] = {
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
VideoXLContext * const a = avctx->priv_data;
AVFrame * const p= (AVFrame*)&a->pic;
uint8_t *Y, *U, *V;
Modified: trunk/libavcodec/xsubdec.c
==============================================================================
--- trunk/libavcodec/xsubdec.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/xsubdec.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -44,7 +44,9 @@ static uint64_t parse_timecode(const uin
}
static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size) {
+ AVPacket *avpkt) {
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
AVSubtitle *sub = data;
const uint8_t *buf_end = buf + buf_size;
uint8_t *bitmap;
Modified: trunk/libavcodec/zmbv.c
==============================================================================
--- trunk/libavcodec/zmbv.c Tue Apr 7 17:37:26 2009 (r18350)
+++ trunk/libavcodec/zmbv.c Tue Apr 7 17:59:50 2009 (r18351)
@@ -392,8 +392,10 @@ static int zmbv_decode_intra(ZmbvContext
return 0;
}
-static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
+static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
ZmbvContext * const c = avctx->priv_data;
uint8_t *outptr;
int zret = Z_OK; // Zlib return code
8
16