Commit Graph
100 Commits
Author SHA1 Message Date
Anton Khirnov c6080d8900 lavc: remove mp3_header_(de)compress bitstream filters
They mangle the mp3 header in a non-standard way to save a few bytes.
People who care about space so much should just use a more efficient
codec.
2013-11-26 09:27:50 +01:00
Anton Khirnov 7671dd7cd7 avconv: add support for VDPAU decoding 2013-11-23 11:55:53 +01:00
Anton Khirnov 07fd0a2219 avconv: add infrastructure for using hwaccels 2013-11-23 11:55:43 +01:00
Anton Khirnov 430d121964 pcx: round up in bits->bytes conversion in a buffer size check
Fixes invalid reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-11-21 20:58:27 +01:00
Anton Khirnov c918e08b9c truemotion1: make sure index does not go out of bounds
Fixes invalid reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-11-21 20:58:08 +01:00
Anton Khirnov ce9bba5340 avidec: fix a memleak in the dv init code.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-11-21 20:57:58 +01:00
Anton Khirnov de4ec972c0 vc1: fix a memleak.
Happens on a B-frame when neither low_delay nor last_picture_ptr is set
(probably corrupted streams only).

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2013-11-21 20:57:36 +01:00
Anton Khirnov ca41c72c6d motionpixels: clip VLC codes.
Fixes invalid reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-11-21 20:57:20 +01:00
Anton Khirnov 30be1ea33e matroskadec: pad EBML_BIN data.
It might be passed to code requiring padding, such as lzo decompression.

Fixes invalid reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-11-21 20:54:30 +01:00
Anton Khirnov f0259a587e h264: check buffer size before accessing it
Fixes invalid reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-11-21 20:54:20 +01:00
Anton Khirnov 1f3e56b6dc gifdec: convert to bytestream2 2013-11-21 20:53:06 +01:00
Anton Khirnov c453723ad7 gifdec: check that the image dimensions are non-zero
Also add an error message an return a more suitable error code
(INVALIDDATA, not EINVAL);
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-11-21 20:52:42 +01:00
Anton Khirnov 074c769de9 h264_cavlc: check the size of the intra PCM data.
Fixes invalid reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-11-21 20:52:34 +01:00
Anton Khirnov a553c6a347 lavc: use buf[0] instead of data[0] in checks whether a frame is allocated
data[0] may be NULL for valid frames with hwaccel pixel formats.
2013-11-18 18:09:48 +01:00
Anton Khirnov 1c01b0253e mpegvideo_enc: use the AVFrame API properly. 2013-11-16 17:51:10 +01:00
Anton Khirnov a6064b12b4 ffv1: use the AVFrame API properly. 2013-11-16 17:50:51 +01:00
Anton Khirnov 706a92926c jpegls: use the AVFrame API properly. 2013-11-16 17:50:28 +01:00
Anton Khirnov 14b35bf065 huffyuv: use the AVFrame API properly. 2013-11-16 17:50:20 +01:00
Anton Khirnov ffe04c3303 libxvid: use the AVFrame API properly. 2013-11-16 17:50:09 +01:00
Anton Khirnov 863a670e48 pcxenc: use the AVFrame API properly. 2013-11-16 17:49:47 +01:00
Anton Khirnov 7ca97aa7ee roqvideo: remove unused variables 2013-11-16 17:49:40 +01:00
Anton Khirnov 372262853b libschroedingerenc: use the AVFrame API properly. 2013-11-16 17:49:31 +01:00
Anton Khirnov 97168b204a eatgv: use the AVFrame API properly. 2013-11-16 17:49:21 +01:00
Anton Khirnov b18c7c8d3d libxavs: use the AVFrame API properly. 2013-11-16 17:49:15 +01:00
Anton Khirnov 5290e02a0a nuv: use the AVFrame API properly. 2013-11-16 17:49:02 +01:00
Anton Khirnov d56a114adc flashsvenc: use the AVFrame API properly. 2013-11-16 17:48:14 +01:00
Anton Khirnov 57e7b3a89f dnxhdenc: use the AVFrame API properly. 2013-11-16 17:47:58 +01:00
Anton Khirnov d2287740d9 libx264: use the AVFrame API properly. 2013-11-16 17:47:50 +01:00
Anton Khirnov 394ef4d18f svq1enc: use the AVFrame API properly. 2013-11-16 17:47:34 +01:00
Anton Khirnov 219b35f5d1 gif: use the AVFrame API properly. 2013-11-16 17:47:25 +01:00
Anton Khirnov 45bde93eef sunrastenc: use the AVFrame API properly. 2013-11-16 17:47:09 +01:00
Anton Khirnov fb26d76167 targaenc: use the AVFrame API properly. 2013-11-16 17:46:51 +01:00
Anton Khirnov f26f71139f tiffenc: use the AVFrame API properly. 2013-11-16 17:46:24 +01:00
Anton Khirnov 78c6c9d6c1 pngenc: use the AVFrame API properly. 2013-11-16 17:46:16 +01:00
Anton Khirnov 0ea430c75b lclenc: use the AVFrame API properly. 2013-11-16 17:46:01 +01:00
Anton Khirnov d48c206302 qtrleenc: use the AVFrame API properly. 2013-11-16 17:45:28 +01:00
Anton Khirnov c8a525197f ulti: use the AVFrame API properly. 2013-11-16 17:44:54 +01:00
Anton Khirnov 6792559f8a vc1: use the AVFrame API properly. 2013-11-16 17:44:40 +01:00
Anton Khirnov 042aec41ae flashsv: use the AVFrame API properly. 2013-11-16 17:44:04 +01:00
Anton Khirnov e4155f15b3 eamad: use the AVFrame API properly. 2013-11-16 17:43:55 +01:00
Anton Khirnov 4e7e8055a7 dpxenc: use the AVFrame API properly. 2013-11-16 17:43:36 +01:00
Anton Khirnov 2a85a192c7 bmpenc: use the AVFrame API properly. 2013-11-16 17:43:05 +01:00
Anton Khirnov 6a08d7fcc5 sgienc: use the AVFrame API properly. 2013-11-16 17:42:36 +01:00
Anton Khirnov 730bac7bab mss4: use the AVFrame API properly. 2013-11-16 17:42:23 +01:00
Anton Khirnov 207909911d mss3: use the AVFrame API properly. 2013-11-16 17:41:54 +01:00
Anton Khirnov e9198f61db mss2: use the AVFrame API properly. 2013-11-16 17:41:42 +01:00
Anton Khirnov acaffdca21 mss1: use the AVFrame API properly. 2013-11-16 17:41:32 +01:00
Anton Khirnov 508b37557b tiertexseqv: use the AVFrame API properly. 2013-11-16 17:41:07 +01:00
Anton Khirnov 68af7f54a6 smc: use the AVFrame API properly. 2013-11-16 17:40:57 +01:00
Anton Khirnov 32f7cf9bc3 truemotion2: use the AVFrame API properly. 2013-11-16 13:29:24 +01:00
Anton Khirnov 42d40fd28c truemotion1: use the AVFrame API properly. 2013-11-16 13:27:33 +01:00
Anton Khirnov 4a4841d4e0 fraps: use the AVFrame API properly. 2013-11-16 13:27:17 +01:00
Anton Khirnov e8ef8a328c rpza: use the AVFrame API properly. 2013-11-16 13:27:07 +01:00
Anton Khirnov e52f38bc2e motionpixels: use the AVFrame API properly. 2013-11-16 13:26:50 +01:00
Anton Khirnov aca214783a vmdvideo: use the AVFrame API properly. 2013-11-16 13:25:56 +01:00
Anton Khirnov 3c8ea9d4a7 vmnc: use the AVFrame API properly. 2013-11-16 13:25:29 +01:00
Anton Khirnov 04f30711d8 xan: use the AVFrame API properly. 2013-11-16 13:25:17 +01:00
Anton Khirnov f3cd23fbc8 xxan: use the AVFrame API properly. 2013-11-16 13:24:56 +01:00
Anton Khirnov 6886a85f5c zerocodec: use the AVFrame API properly. 2013-11-16 13:24:44 +01:00
Anton Khirnov a837c4f2df zmbvenc: use the AVFrame API properly. 2013-11-16 13:24:10 +01:00
Anton Khirnov d100f9e7cd flicvideo: use the AVFrame API properly. 2013-11-16 13:23:59 +01:00
Anton Khirnov 84099f51f3 smacker: use the AVFrame API properly. 2013-11-16 13:23:38 +01:00
Anton Khirnov 5c96f02901 mmvideo: use the AVFrame API properly. 2013-11-16 13:23:14 +01:00
Anton Khirnov 2e09096da9 kgv1: use the AVFrame API properly. 2013-11-16 13:23:05 +01:00
Anton Khirnov 79d501a860 indeo2: use the AVFrame API properly. 2013-11-16 13:21:02 +01:00
Anton Khirnov 4b8a194146 iff: use the AVFrame API properly. 2013-11-16 13:20:44 +01:00
Anton Khirnov c5dfb9033f msrle: use the AVFrame API properly. 2013-11-16 13:20:19 +01:00
Anton Khirnov 952f943d40 FATE: add a jv test 2013-11-16 13:20:06 +01:00
Anton Khirnov b7462a3904 jvdec: use the AVFrame API properly. 2013-11-16 12:52:54 +01:00
Anton Khirnov 2d2a92f721 dxa: use the AVFrame API properly. 2013-11-16 12:52:36 +01:00
Anton Khirnov 55f954e767 qpeg: use the AVFrame API properly. 2013-11-16 12:52:18 +01:00
Anton Khirnov 01de3c1dd5 cin video: use the AVFrame API properly. 2013-11-16 12:52:02 +01:00
Anton Khirnov ef2a99c7f4 msvideo1: use the AVFrame API properly. 2013-11-16 12:51:08 +01:00
Anton Khirnov a639ea7f4b escape124: use the AVFrame API properly. 2013-11-16 12:49:45 +01:00
Anton Khirnov 224b6edd8b qtrle: use the AVFrame API properly. 2013-11-16 12:49:18 +01:00
Anton Khirnov 845020ed89 cljr: use the AVFrame API properly. 2013-11-16 12:49:01 +01:00
Anton Khirnov 4a8a35bc1f cinepak: use the AVFrame API properly. 2013-11-16 12:48:30 +01:00
Anton Khirnov cec5ce4922 cdxl: remove an unused variable 2013-11-16 12:48:25 +01:00
Anton Khirnov 670c74518f c93: use the AVFrame API properly. 2013-11-16 12:47:49 +01:00
Anton Khirnov a83fd5010c bethsoftvid: use the AVFrame API properly. 2013-11-16 12:47:15 +01:00
Anton Khirnov 33329c6e87 avs: use the AVFrame API properly. 2013-11-16 12:46:20 +01:00
Anton Khirnov 6139f481ac asvenc: use the AVFrame API properly. 2013-11-16 12:45:29 +01:00
Anton Khirnov 13e9cc9ce0 a64multienc: use the AVFrame API properly. 2013-11-16 12:45:05 +01:00
Anton Khirnov b9fb59d2ab lavc: deprecate avcodec_alloc_frame(). 2013-11-16 12:44:50 +01:00
Anton Khirnov 5b9c3b4505 Replace all instances of avcodec_alloc_frame() with av_frame_alloc(). 2013-11-16 12:44:20 +01:00
Anton Khirnov 2ff302cb6b lavc: update coded_frame doxy.
It is not used during decoding anymore.
2013-11-16 12:41:50 +01:00
Anton Khirnov b068660ffa lavc: deprecate CODEC_CAP_NEG_LINESIZES
It was never used in any codec since it was added 3 years ago.
2013-11-16 12:41:40 +01:00
Anton Khirnov 9eda9d3322 h264: free the tables and uninitialize the context on flush
Prevents referencing empty frames when the first packet after the flush
does not contain a frame.
2013-11-14 19:00:20 +01:00
Anton Khirnov cce3e0a49f Move av_fast_{m,re}alloc from lavc to lavu. 2013-11-14 09:42:22 +01:00
Anton Khirnov aa24122989 lavc: deprecate FF_MAX_B_FRAMES
We should not arbitrarily decide the maximum B-frame number for all
encoders supported by Libav, each encoder should be able to set its own
limits.
2013-11-14 09:41:03 +01:00
Anton Khirnov b6094811f9 lavc: move MB_TYPE_* macros from avcodec.h to mpegvideo.h
They are mpegvideo-specific and not supposed to be used by callers.
2013-11-14 09:40:39 +01:00
Anton Khirnov b45c87083d lavc: schedule unused FF_QSCALE_TYPE_* for removal on next bump 2013-11-14 09:40:27 +01:00
Anton Khirnov 8941971a8f lavc: make error_rate a private option of mpegvideo encoders 2013-11-14 09:39:43 +01:00
Anton Khirnov 728c465856 vdpau: add a constructor for AVVDPAUContext.
We will likely want to add new fields to it in the future, so this is
needed to avoid breaking ABI.
2013-11-14 09:38:58 +01:00
Anton Khirnov ca22d1dea2 vdpau: add a convenience function for getting a decoder profile.
Based on the code by Rémi Denis-Courmont <remi@remlab.net> from VLC.
2013-11-14 09:38:50 +01:00
Anton Khirnov d42db44cfe avienc: drop the vfr flag.
AVI does not really support vfr properly, only by padding with null
packets.
2013-11-08 21:02:29 +01:00
Anton Khirnov da6506c607 lavc: move AVCodecContext.pkt to AVCodecInternal
It's a private field, not meant to be accessed from outside lavc.
2013-11-04 08:51:26 +01:00
Anton Khirnov 38ecc3702d pthread: store thread contexts in AVCodecInternal instead of AVCodecContext
It's a private field, it should not be visible to callers.

Deprecate AVCodecContext.thread_opaque
2013-11-04 08:51:26 +01:00
Anton Khirnov daa7a1d443 pthread_slice: rename ThreadContext -> SliceThreadContext
This should prevent confusion with frame threading.
2013-11-04 08:51:26 +01:00
Anton Khirnov cc14ee03a7 lavc: split slice and frame threading functions into separate files 2013-11-04 08:51:26 +01:00