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...
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
rbultje wrote:
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.
It looks like this commit broke VP6 decoding. See for example the following FATE result: http://fate.multimedia.cx/index.php?build_record=71480 -Vitor
Hi, On Tue, Apr 7, 2009 at 12:42 PM, Vitor Sessak <vitor1001 at gmail.com> wrote:
It looks like this commit broke VP6 decoding. See for example the following FATE result: http://fate.multimedia.cx/index.php?build_record=71480
Se attached patch, apparently the decoder wasn't converted. Not sure why gmake seektest didn't pick that up, shouldn't it test that for all decoders? Ronald
On Tue, Apr 07, 2009 at 02:11:59PM -0400, Ronald S. Bultje wrote:
Hi,
On Tue, Apr 7, 2009 at 12:42 PM, Vitor Sessak <vitor1001 at gmail.com> wrote:
It looks like this commit broke VP6 decoding. See for example the following FATE result: http://fate.multimedia.cx/index.php?build_record=71480
Se attached patch, apparently the decoder wasn't converted.
I've just fixed it in a very slightly different way. Aurel
On 7/4/09 16:59, rbultje wrote:
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.
This requires a doc/APIChanges patch, does it not? Regards, Rob
Hi, On Tue, Apr 7, 2009 at 9:53 PM, Robert Swain <robert.swain at gmail.com> wrote:
This requires a doc/APIChanges patch, does it not?
Probably. See attached? Ronald
On 8/4/09 04:21, Ronald S. Bultje wrote:
On Tue, Apr 7, 2009 at 9:53 PM, Robert Swain<robert.swain at gmail.com> wrote:
This requires a doc/APIChanges patch, does it not?
Probably. See attached?
That looks fine to me. Regards, Rob
Hi, On Wed, Apr 8, 2009 at 4:05 AM, Robert Swain <robert.swain at gmail.com> wrote:
On 8/4/09 04:21, Ronald S. Bultje wrote:
On Tue, Apr 7, 2009 at 9:53 PM, Robert Swain<robert.swain at gmail.com> ?wrote:
This requires a doc/APIChanges patch, does it not?
Probably. See attached?
That looks fine to me.
Committed then. Ronald
On Tue, Apr 07, 2009 at 05:59:51PM +0200, rbultje wrote:
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.
--- 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;
Here (and probably in many other places) the function signature is changed without updating the doxygen documentation. Please update the doxygen comments to match. Diego
Am 08.07.10 20:23, schrieb Diego Biurrun:
On Tue, Apr 07, 2009 at 05:59:51PM +0200, rbultje wrote:
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.
--- 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;
Here (and probably in many other places) the function signature is changed without updating the doxygen documentation. Please update the doxygen comments to match.
IIRC this was one of the patches committed during my GSoC qualification task (which should also be part of the commit message btw.). I will have a look at all the files again and change the doxy's accordingly at the weekend. -Thilo
Am 08.07.10 20:39, schrieb Thilo Borgmann:
Am 08.07.10 20:23, schrieb Diego Biurrun:
On Tue, Apr 07, 2009 at 05:59:51PM +0200, rbultje wrote:
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.
--- 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;
Here (and probably in many other places) the function signature is changed without updating the doxygen documentation. Please update the doxygen comments to match.
IIRC this was one of the patches committed during my GSoC qualification task (which should also be part of the commit message btw.). ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This was in fact the case.
I will have a look at all the files again and change the doxy's accordingly at the weekend.
I cycled through all of them. Most of them don't include doxygen comments, only three (escape124,fraps,rl2) feature doxygen comments describing function parameters at all - none of them said anything about "buf" and "buf_size" before the patch so I assume that was the reason I did not add something new to the comments. The API description in avcodec.h looks fine. Thus I don't see anything to do here? -Thilo
On Sun, Jul 11, 2010 at 11:14 AM, Thilo Borgmann <thilo.borgmann at googlemail.com> wrote:
Am 08.07.10 20:39, schrieb Thilo Borgmann:
Am 08.07.10 20:23, schrieb Diego Biurrun:
On Tue, Apr 07, 2009 at 05:59:51PM +0200, rbultje wrote:
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.
--- 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;
Here (and probably in many other places) the function signature is changed without updating the doxygen documentation. ?Please update the doxygen comments to match.
IIRC this was one of the patches committed during my GSoC qualification task (which should also be part of the commit message btw.). ? ? ? ?^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This was in fact the case.
I will have a look at all the files again and change the doxy's accordingly at the weekend.
I cycled through all of them. Most of them don't include doxygen comments, only three (escape124,fraps,rl2) feature doxygen comments describing function parameters at all - none of them said anything about "buf" and "buf_size" before the patch so I assume that was the reason I did not add something new to the comments.
The API description in avcodec.h looks fine.
If anything maybe the doxy on those three should be removed
Thus I don't see anything to do here?
+1
On Sun, Jul 11, 2010 at 05:14:02PM +0200, Thilo Borgmann wrote:
Am 08.07.10 20:39, schrieb Thilo Borgmann:
Am 08.07.10 20:23, schrieb Diego Biurrun:
On Tue, Apr 07, 2009 at 05:59:51PM +0200, rbultje wrote:
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.
--- 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;
Here (and probably in many other places) the function signature is changed without updating the doxygen documentation. Please update the doxygen comments to match.
IIRC this was one of the patches committed during my GSoC qualification task (which should also be part of the commit message btw.). ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This was in fact the case.
Yes, so?
I will have a look at all the files again and change the doxy's accordingly at the weekend.
I cycled through all of them. Most of them don't include doxygen comments, only three (escape124,fraps,rl2) feature doxygen comments describing function parameters at all - none of them said anything about "buf" and "buf_size" before the patch so I assume that was the reason I did not add something new to the comments.
The API description in avcodec.h looks fine.
Thus I don't see anything to do here?
Either the documentation has to be completed or removed, but the current situation is buggy. So patches welcome :) Diego
Am 12.07.10 23:25, schrieb Diego Biurrun:
On Sun, Jul 11, 2010 at 05:14:02PM +0200, Thilo Borgmann wrote:
Am 08.07.10 20:39, schrieb Thilo Borgmann:
Am 08.07.10 20:23, schrieb Diego Biurrun:
On Tue, Apr 07, 2009 at 05:59:51PM +0200, rbultje wrote:
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.
--- 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;
Here (and probably in many other places) the function signature is changed without updating the doxygen documentation. Please update the doxygen comments to match.
IIRC this was one of the patches committed during my GSoC qualification task (which should also be part of the commit message btw.). ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This was in fact the case.
Yes, so?
Means that the orderly Diego snipped off that line from the commit message not to post "unnecessary" information here and keep the mail short. Lucky me remembered correctly that it was it's own patch and felt responsible for having a look - which could have been easier if it would not have been snipped off - and it does not ask for changing the commit message.
I will have a look at all the files again and change the doxy's accordingly at the weekend.
I cycled through all of them. Most of them don't include doxygen comments, only three (escape124,fraps,rl2) feature doxygen comments describing function parameters at all - none of them said anything about "buf" and "buf_size" before the patch so I assume that was the reason I did not add something new to the comments.
The API description in avcodec.h looks fine.
Thus I don't see anything to do here?
Either the documentation has to be completed or removed, but the current situation is buggy. So patches welcome :)
Why do I feel like wasting my time? https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2010-July/031074.html
On Tue, Jul 13, 2010 at 10:07:49AM +0200, Thilo Borgmann wrote:
Am 12.07.10 23:25, schrieb Diego Biurrun:
On Sun, Jul 11, 2010 at 05:14:02PM +0200, Thilo Borgmann wrote:
Am 08.07.10 20:39, schrieb Thilo Borgmann:
Am 08.07.10 20:23, schrieb Diego Biurrun:
On Tue, Apr 07, 2009 at 05:59:51PM +0200, rbultje wrote:
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.
--- 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;
Here (and probably in many other places) the function signature is changed without updating the doxygen documentation. Please update the doxygen comments to match.
IIRC this was one of the patches committed during my GSoC qualification task (which should also be part of the commit message btw.). I will have a look at all the files again and change the doxy's accordingly at the weekend.
I cycled through all of them. Most of them don't include doxygen comments, only three (escape124,fraps,rl2) feature doxygen comments describing function parameters at all - none of them said anything about "buf" and "buf_size" before the patch so I assume that was the reason I did not add something new to the comments.
The API description in avcodec.h looks fine.
Thus I don't see anything to do here?
Either the documentation has to be completed or removed, but the current situation is buggy. So patches welcome :)
Why do I feel like wasting my time? https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2010-July/031074.html
When the evil overlord demands it, you sometimes have to sacrifice a goat or worse. What can I do? Patches still welcome, no time is being wasted. Diego
Am 14.07.10 13:50, schrieb Diego Biurrun:
On Tue, Jul 13, 2010 at 10:07:49AM +0200, Thilo Borgmann wrote:
Am 12.07.10 23:25, schrieb Diego Biurrun:
On Sun, Jul 11, 2010 at 05:14:02PM +0200, Thilo Borgmann wrote:
Am 08.07.10 20:39, schrieb Thilo Borgmann:
Am 08.07.10 20:23, schrieb Diego Biurrun:
On Tue, Apr 07, 2009 at 05:59:51PM +0200, rbultje wrote: > > 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. > > --- 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;
Here (and probably in many other places) the function signature is changed without updating the doxygen documentation. Please update the doxygen comments to match.
IIRC this was one of the patches committed during my GSoC qualification task (which should also be part of the commit message btw.). I will have a look at all the files again and change the doxy's accordingly at the weekend.
I cycled through all of them. Most of them don't include doxygen comments, only three (escape124,fraps,rl2) feature doxygen comments describing function parameters at all - none of them said anything about "buf" and "buf_size" before the patch so I assume that was the reason I did not add something new to the comments.
The API description in avcodec.h looks fine.
Thus I don't see anything to do here?
Either the documentation has to be completed or removed, but the current situation is buggy. So patches welcome :)
Why do I feel like wasting my time? https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2010-July/031074.html
When the evil overlord demands it, you sometimes have to sacrifice a goat or worse. What can I do?
Patches still welcome, no time is being wasted.
Thus I understand it wrong and by "documentation has to be completed", you mean to add doxy's for all decoders. I assumed you meant to complete the three existing ones, what you already did by the linked patch. Then, here's a patch for removing these doxy's. Although, it negates your work of the linked patch, of course. But if there is a consensus about removing them, then, in the name of the evil overlord, let's remove them. :) -Thilo
On Wed, Jul 14, 2010 at 02:18:49PM +0200, Thilo Borgmann wrote:
Then, here's a patch for removing these doxy's. Although, it negates your work of the linked patch, of course. But if there is a consensus about removing them, then, in the name of the evil overlord, let's remove them. :)
Thanks, applied. Diego
participants (8)
-
alex.converse@gmail.com -
aurel@gnuage.org -
diego@biurrun.de -
robert.swain@gmail.com -
rsbultje@gmail.com -
subversion@mplayerhq.hu -
thilo.borgmann@googlemail.com -
vitor1001@gmail.com