~medibuntu-maintainers/mplayer/medibuntu.precise

« back to all changes in this revision

Viewing changes to ffmpeg/libavcodec/mace.c

  • Committer: Gauvain Pocentek
  • Date: 2012-03-06 11:59:12 UTC
  • mfrom: (66.1.15 precise)
  • Revision ID: gauvain@pocentek.net-20120306115912-h9d6kt9j0l532oo5
* Merge from Ubuntu:
  - put back faac support
  - recommends apport-hooks-medibuntu
  - change Maintainer, Uploaders & Vcs-* fields.
* New upstream snapshot
* upload to unstable
* Build against external libmpeg2
* drop 51_FTBFS_arm.patch again
* no longer build depend on libcdparanoia-dev on the Hurd
* Fix FTBFS on the hurd.
  Thanks to Samuel Thibault <sthibault@debian.org> (Closes: #654974)
* Fix FTBFS on arm
* New upstream snapshot, Closes: #650339, #643621, #481807
* Imported Upstream version 1.0~rc4+svn34492
* Bump standards version
* Bump dependency on libav >= 4:0.8~, Closes: #653887
* Fix build-indep
* Build mplayer-gui again, Closes: #568514
* Drop debian/all-lang-config-mak.sh, no longer needed
* include .dfsg1 in version number
* remove get-orig-source target
* no longer prune compiler flags from the environment
* No longer advertise nor build 3fdx, mga and dxr3 backends,
  Closes: #496106, #442181, #533546
* beautify mplayer version identification string
* Brown paperbag upload.
* Next try to fix build failure on sparce after recent binutils change.
* Brown paperbag upload.
* Really fix build failure on sparc after recent binutils change.
* Properly set Replaces/Conflicts on mplayer2{,-dbg} to avoid
  file overwrite errors.
* Adjust versioning of mplayer listed in the mplayer-dbg's Depends field.
* Fix build failure on sparc after recent binutils change.
* Urgency medium bumped because of RC-level bugfix
  and speeding up x264 transition.
* Update to my @debian.org email.
* Upload to unstable
* Enable joystick support on Linux only, Closes: #638408
* Rebuild fixes toolchain issue on arm, Closes: #637077
* New upstream snapshot
* following the discussion started by Diego Biurrun <diego@biurrun.de>
  in debian-devel, I have prepared a new packaging of 'mplayer'
  (with code that comes from CVS)
* the upstream tar.bz cannot be distributed by Debian, since it contains
   CSS code; so I am repackaging it 
* I have tried my best to address all known issues:
  - the package contains the detailed Copyright made by Diego Biurrun 
  - the package does not contain CSS code, or  AFAIK other code on which 
     there is active patent enforcement
  - there is a script  debian/cvs-changelog.sh  that shows all changes
     done to files included in this source.
    This should comply with GPLv2 sec 2.a  (in spirit if not in letter)
    For this reason, the source code contains CVS directories.
* needs   make (>= 3.80) for 'html-chunked-$(1)' in DOCS/xml/Makefile

* some corrections, as suggested Diego Biurrun
  - binary codecs should go into /usr/lib/codecs (upstream default)
  - better template 'mplayer/install_codecs'
  - an empty 'font=' in mplayer.conf breaks mplayer: postinst corrected
* correction in 'mplayer/cfgnote'
* better mplayer.postinst and mplayer.config

* New upstream release
* better debian/copyright file
* do not ship a skin
* New upstream release
* changed DEB_BUILD_OPTIONS to DEB_BUILD_CONFIGURE ,
  DEB_BUILD_OPTIONS is used as in debian policy
* use gcc-3.4
* changed xlibs-dev to a long list of dependencies, for Debian/etch
* try to adhere to  http://www.mplayerhq.hu/DOCS/tech/binary-packaging.txt
  (see README.Debian for details)
* removed dependency on xlibmesa-dev, disabled opengl
* New upstream release
* Simon McVittie <hacks@pseudorandom.co.uk> wonderful work:
- Work around Debian bug #267442 (glibc's sys/uio.h and gcc's altivec.h have
  conflicting uses for __vector) by re-ordering #includes
- Fix potential symlink attack in ./configure
- Disable support for binary codecs on platforms for which those codecs
  aren't available; also disable the corresponding Debconf note when it's
  inappropriate
- Changed Build-Depends: so it works in pbuilder
- Explicitly build-depend on libjpeg62-dev, libfontconfig1-dev,
  libungif4-dev 
- Tweak debian/rules to avoid certain errors being ignored
- Use --language=all
* provide a target  'debian/rules get-orig-source' 
  that recreates the orig.tar.gz ; then use the above orig.tar.gz
* rewrote some parts of debian/rules
* don't clean and recompile docs if upstream ships them
* mplayer-doc was shipping too much stuff
* translated man pages where not installed properly
* compile with libdv4-dev
* correct README.Debian
* Forgot build-dep on libtheora
* Must not depend on libxvidcore
* New upstream release
* new release.
* rc1 to become 0.90
* new pre-release
* new pre-release
* gtk bug fixed.
* new release.
* version bumped
* 0.60 pre2 release
* 0.60 pre-release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
#include "avcodec.h"
28
28
 
29
29
/*
30
 
 * Adapted to ffmpeg by Francois Revol <revol@free.fr>
 
30
 * Adapted to libavcodec by Francois Revol <revol@free.fr>
31
31
 * (removed 68k REG stuff, changed types, added some statics and consts,
32
32
 * libavcodec api, context stuff, interlaced stereo out).
33
33
 */
153
153
} ChannelData;
154
154
 
155
155
typedef struct MACEContext {
 
156
    AVFrame frame;
156
157
    ChannelData chd[2];
157
158
} MACEContext;
158
159
 
228
229
 
229
230
static av_cold int mace_decode_init(AVCodecContext * avctx)
230
231
{
 
232
    MACEContext *ctx = avctx->priv_data;
 
233
 
231
234
    if (avctx->channels > 2)
232
235
        return -1;
233
236
    avctx->sample_fmt = AV_SAMPLE_FMT_S16;
 
237
 
 
238
    avcodec_get_frame_defaults(&ctx->frame);
 
239
    avctx->coded_frame = &ctx->frame;
 
240
 
234
241
    return 0;
235
242
}
236
243
 
237
 
static int mace_decode_frame(AVCodecContext *avctx,
238
 
                              void *data, int *data_size,
239
 
                              AVPacket *avpkt)
 
244
static int mace_decode_frame(AVCodecContext *avctx, void *data,
 
245
                             int *got_frame_ptr, AVPacket *avpkt)
240
246
{
241
247
    const uint8_t *buf = avpkt->data;
242
248
    int buf_size = avpkt->size;
243
 
    int16_t *samples = data;
 
249
    int16_t *samples;
244
250
    MACEContext *ctx = avctx->priv_data;
245
 
    int i, j, k, l;
 
251
    int i, j, k, l, ret;
246
252
    int is_mace3 = (avctx->codec_id == CODEC_ID_MACE3);
247
253
 
248
 
    if (*data_size < (3 * buf_size << (2-is_mace3))) {
249
 
        av_log(avctx, AV_LOG_ERROR, "Output buffer too small!\n");
250
 
        return -1;
 
254
    /* get output buffer */
 
255
    ctx->frame.nb_samples = 3 * (buf_size << (1 - is_mace3)) / avctx->channels;
 
256
    if ((ret = avctx->get_buffer(avctx, &ctx->frame)) < 0) {
 
257
        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
 
258
        return ret;
251
259
    }
 
260
    samples = (int16_t *)ctx->frame.data[0];
252
261
 
253
262
    for(i = 0; i < avctx->channels; i++) {
254
263
        int16_t *output = samples + i;
274
283
            }
275
284
    }
276
285
 
277
 
    *data_size = 3 * buf_size << (2-is_mace3);
 
286
    *got_frame_ptr   = 1;
 
287
    *(AVFrame *)data = ctx->frame;
278
288
 
279
289
    return buf_size;
280
290
}
281
291
 
282
292
AVCodec ff_mace3_decoder = {
283
 
    "mace3",
284
 
    AVMEDIA_TYPE_AUDIO,
285
 
    CODEC_ID_MACE3,
286
 
    sizeof(MACEContext),
287
 
    mace_decode_init,
288
 
    NULL,
289
 
    NULL,
290
 
    mace_decode_frame,
 
293
    .name           = "mace3",
 
294
    .type           = AVMEDIA_TYPE_AUDIO,
 
295
    .id             = CODEC_ID_MACE3,
 
296
    .priv_data_size = sizeof(MACEContext),
 
297
    .init           = mace_decode_init,
 
298
    .decode         = mace_decode_frame,
 
299
    .capabilities   = CODEC_CAP_DR1,
291
300
    .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 3:1"),
292
301
};
293
302
 
294
303
AVCodec ff_mace6_decoder = {
295
 
    "mace6",
296
 
    AVMEDIA_TYPE_AUDIO,
297
 
    CODEC_ID_MACE6,
298
 
    sizeof(MACEContext),
299
 
    mace_decode_init,
300
 
    NULL,
301
 
    NULL,
302
 
    mace_decode_frame,
 
304
    .name           = "mace6",
 
305
    .type           = AVMEDIA_TYPE_AUDIO,
 
306
    .id             = CODEC_ID_MACE6,
 
307
    .priv_data_size = sizeof(MACEContext),
 
308
    .init           = mace_decode_init,
 
309
    .decode         = mace_decode_frame,
 
310
    .capabilities   = CODEC_CAP_DR1,
303
311
    .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 6:1"),
304
312
};
305
313