Commit Graph

26567 Commits

Author SHA1 Message Date
Michael Niedermayer
ab6ea7a819 avcodec/h264_refs: split conditions of if() up for better readability
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-02 02:12:39 +01:00
Ronald S. Bultje
f068aed7b8 vp9: make decode_coeffs() return value void.
It was previously int and would return error if decode_coeffs_b()
returns an error; however, that can never happen, so refactor all
that code to make all dependent functions return void also (all the
way up to decode_coeffs_sb()).
2013-11-30 16:26:14 -05:00
Ronald S. Bultje
47c6d9403d vp9: cosmetics. 2013-11-30 16:26:14 -05:00
Ronald S. Bultje
76bd878d95 vp9: add a 2-pass decoding mode, and add frame-mt support.
For a random 1080p sample, decoding time went from 9.7sec (1 threads)
to 6.0sec (2 threads) and 5.2sec (4 threads) in 2-pass decoding mode.
I don't have any samples that use the parallelmode feature, but the
gains should be higher.
2013-11-30 16:26:13 -05:00
Ronald S. Bultje
46955ae430 vp9: allocate 'b', 'block/uvblock' and 'eob/uveob' dynamically. 2013-11-30 16:26:13 -05:00
Ronald S. Bultje
fc7d910b2e vp9: split last/cur_frame from the reference buffers.
We need more information from last/cur_frame than from reference
buffers, so we can use a simplified structure for reference buffers,
and then store mvs and segmentation map information in last/cur.
2013-11-30 16:26:13 -05:00
Ronald S. Bultje
39b244002a vp9: move some entries out of VP9Block into VP9Context.
They aren't really block-related variables in the sense that they are
not block-coded, rather they are state trackers.
2013-11-30 16:26:12 -05:00
Ronald S. Bultje
84d362f020 vp9: split packet parsing into an AVParser. 2013-11-30 16:26:12 -05:00
Ronald S. Bultje
816737ea5d vp9: use proper refcounting.
Based on something similar in libav. Author is likely Anton Khirnov
<anton@khirnov.net> but I'm not sure.
2013-11-30 16:26:12 -05:00
Michael Niedermayer
a3b9f53d7b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dcadec: Add some logging before returning on error

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 21:09:42 +01:00
Michael Niedermayer
a235af93bd avcodec/mpeg4video: fix doxycomments so they are not associated with random unrelated fields
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 20:30:11 +01:00
Nicolas George
4b1c9b720e lavc/srtenc: use bprint for text buffers.
Fix trac ticket #3120.
2013-11-30 13:57:53 +01:00
Tim Walker
7dc827b709 dcadec: Add some logging before returning on error
Based on a patch by Michael Niedermayer.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-11-30 13:01:35 +01:00
Michael Niedermayer
5d9e663064 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  go2meeting: disallow tile dimensions that are not multiple of 16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:49:54 +01:00
Michael Niedermayer
f09f295109 Merge commit 'e026ee0446de27fc38e33e98704fada012fdc763'
* commit 'e026ee0446de27fc38e33e98704fada012fdc763':
  mpeg4videodec: move sprite_{shift,traj} from MpegEncContext to Mpeg4DecContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:40:51 +01:00
Michael Niedermayer
7f18cb9101 Merge commit '513d849bb605d3d862da1ada709bd2ca1ac68f58'
* commit '513d849bb605d3d862da1ada709bd2ca1ac68f58':
  mpeg4videodec: move num_sprite_warping_points from MpegEncContext to Mpeg4DecContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:34:46 +01:00
Michael Niedermayer
4c55aa8f93 Merge commit '9ba3fc3e3d12c9ef00dcb0222b7ea0ccb5c4a091'
* commit '9ba3fc3e3d12c9ef00dcb0222b7ea0ccb5c4a091':
  mpeg4videodec: move sprite_brightness_change from MpegEncContext to Mpeg4DecContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:29:26 +01:00
Michael Niedermayer
ae4e7f7ba6 Merge commit '58c120a9290eef057dbf26761a4f89b7f67bbde1'
* commit '58c120a9290eef057dbf26761a4f89b7f67bbde1':
  mpeg4videodec: move scalability from MpegEncContext to Mpeg4DecContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:23:43 +01:00
Michael Niedermayer
b27ba2e540 Merge commit '6e81597d5a89f64dfab5c7e99e46b4355139e324'
* commit '6e81597d5a89f64dfab5c7e99e46b4355139e324':
  mpeg4videodec: move enhancement_type from MpegEncContext to Mpeg4DecContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:15:46 +01:00
Michael Niedermayer
aeead42789 Merge commit '2992afda83a7d5c0a9ec45bdce76d8abbe0961c5'
* commit '2992afda83a7d5c0a9ec45bdce76d8abbe0961c5':
  mpeg4videodec: remove a write-only variable from MpegEncContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:02:14 +01:00
Michael Niedermayer
1897c4a119 Merge commit '3b1c0f686d5a162ceb5048910a7ce0bf7ed3a1ab'
* commit '3b1c0f686d5a162ceb5048910a7ce0bf7ed3a1ab':
  mpeg4videodec: move new_pred from MpegEncContext to Mpeg4DecContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:55:39 +01:00
Michael Niedermayer
47e5eaf8c9 Merge commit 'e89247debd5276d57ce4a26516224204f9541af0'
* commit 'e89247debd5276d57ce4a26516224204f9541af0':
  mpeg4videodec: replace MpegEncContext.reduced_res_vop with a local variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:46:53 +01:00
Michael Niedermayer
f4c28aea38 Merge commit '8cebc9eaac8631adb23dd1e46c37ad8474139a07'
* commit '8cebc9eaac8631adb23dd1e46c37ad8474139a07':
  mpeg4videodec: remove a write-only variable from MpegEncContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:40:09 +01:00
Michael Niedermayer
0cea39fdd3 Merge commit 'b1aacd56685cd131f517e0551834a0bbd3f5f809'
* commit 'b1aacd56685cd131f517e0551834a0bbd3f5f809':
  mpeg4videodec: move t_frame from MpegEncContext to Mpeg4DecContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:20:11 +01:00
Michael Niedermayer
79c1cdd973 mpeg4_update_thread_context: copy the whole mpeg4 specific context instead of variables one by one
This simplifies the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:12:41 +01:00
Michael Niedermayer
3e5cd34cd0 Merge commit '038890740014dc33d2e2f04da7cf0a9da821264e'
* commit '038890740014dc33d2e2f04da7cf0a9da821264e':
  mpeg4videodec: move cplx_estimation_* fields from MpegEncContext to Mpeg4DecContext

Conflicts:
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:11:16 +01:00
Michael Niedermayer
b08ff07d8d avcodec/mpeg4videodec: update bug workaround related variables like they where before
This fixes the code after the variables have been moved into the
mpeg4 decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:06:40 +01:00
Michael Niedermayer
b4ef7447eb Merge commit '43af264de8606668c6b2fa7f96c946bdc3dbe072'
* commit '43af264de8606668c6b2fa7f96c946bdc3dbe072':
  mpeg4videodec: move mpeg4-specific bug workaround variables from MpegEncContext to Mpeg4DecContext

Conflicts:
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 02:52:09 +01:00
Michael Niedermayer
ec5499d8ba Merge commit 'e2ceb17642f374a7df8f1f5d3d2b2446525bc7fb'
* commit 'e2ceb17642f374a7df8f1f5d3d2b2446525bc7fb':
  mpeg4videodec: move mpeg4-specific post-frame-decode code from h264dec to mpeg4videodec

Conflicts:
	libavcodec/h263dec.c
	libavcodec/mpeg4video.h
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 02:42:56 +01:00
Michael Niedermayer
b239f3f69d avcodec/h263dec: move call to ff_mpeg4_workaround_bugs() under codec_id check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 02:35:13 +01:00
Michael Niedermayer
6c9b82b6a0 avcodec/mpeg4videodec: move bug workaround code into seperate function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 02:12:11 +01:00
Michael Niedermayer
ee9d53e572 Merge commit '48e139409556861c9e561ce34133891d8eecc3cf'
* commit '48e139409556861c9e561ce34133891d8eecc3cf':
  mpeg4videodec: move MpegEncContext.resync_marker into Mpeg4DecContext.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 01:28:04 +01:00
Michael Niedermayer
2d2b363c65 h263: remove unused ff_h263_find_resync_marker()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 00:58:33 +01:00
Michael Niedermayer
2d614e9be1 Merge commit 'c2f7417eeb9cc31f75e71f7be2780f90f1628d7e'
* commit 'c2f7417eeb9cc31f75e71f7be2780f90f1628d7e':
  vc1: move MpegEncContext.resync_marker into VC1Context.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 00:49:34 +01:00
Michael Niedermayer
26b526e776 Merge commit 'a5a71992cae34b321ceb8374f44ce17a945a3881'
* commit 'a5a71992cae34b321ceb8374f44ce17a945a3881':
  mpeg4videoenc: don't set MpegEncContext.resync_marker

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:55:00 +01:00
Michael Niedermayer
f5d6541ba0 Merge commit 'ad09f52586eae4c5473c3a6a803d73e1ba56c0eb'
* commit 'ad09f52586eae4c5473c3a6a803d73e1ba56c0eb':
  h263dec: remove commented out cruft

Conflicts:
	libavcodec/h263dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:46:30 +01:00
Michael Niedermayer
91c63cb053 avcodec/mpeg4videodec: copy rvlc in mpeg4_update_thread_context too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:40:15 +01:00
Michael Niedermayer
9c835acc1d Merge commit 'bc5abfb19e7ff00b859120561d6ffd622c7904fe'
* commit 'bc5abfb19e7ff00b859120561d6ffd622c7904fe':
  mpeg4videodec: move MpegEncContext.rvlc to Mpeg4DecContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:27:30 +01:00
Michael Niedermayer
cdc21e4abe Merge commit '9f0617d2137bb7231b181d74392cd84ef4844cd7'
* commit '9f0617d2137bb7231b181d74392cd84ef4844cd7':
  mpeg4videodec: remove write-only sprite variables from MpegEncContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:20:35 +01:00
Michael Niedermayer
36068709b3 avcodec/mpeg4videodec: Fix code so it also works after moving vol_sprite_usage around
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:13:54 +01:00
Michael Niedermayer
68c90fc086 Merge commit '1a89025793ca73d9685a8ce8e3194efa64dd6844'
* commit '1a89025793ca73d9685a8ce8e3194efa64dd6844':
  mpeg4videodec: move MpegEncContext.vol_sprite_usage to Mpeg4DecContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:04:26 +01:00
Michael Niedermayer
f602e22122 Merge commit '75bd07f732fb575c2b88dc7cd08a6bb12c2e24ea'
* commit '75bd07f732fb575c2b88dc7cd08a6bb12c2e24ea':
  mpeg4videoenc: write 0 instead of vol_sprite_usage

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 22:59:02 +01:00
Michael Niedermayer
e2f63be012 Merge commit 'e62a43f6b1a9c0c82e1df33c0c038e32029c0aa4'
* commit 'e62a43f6b1a9c0c82e1df33c0c038e32029c0aa4':
  mpeg4videodec: move MpegEncContext.time_increment_bits to Mpeg4DecContext

Conflicts:
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 22:45:05 +01:00
Michael Niedermayer
ad13b8ca9b Merge commit 'ee8af2dd99dcb7a01a667deedec81d1aa2a00d72'
* commit 'ee8af2dd99dcb7a01a667deedec81d1aa2a00d72':
  mpeg4videodec: move MpegEncContext.shape to Mpeg4DecContext

Conflicts:
	libavcodec/h263dec.c
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 22:35:52 +01:00
Michael Niedermayer
be0b869b04 Merge commit '35e0833d410e31d9fd35695ad798c5d13de2af58'
* commit '35e0833d410e31d9fd35695ad798c5d13de2af58':
  mpeg4videodec: add a mpeg4-specific private context.

Conflicts:
	libavcodec/mpeg4video_parser.c
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 22:27:28 +01:00
Kostya Shishkov
01f6df01b6 go2meeting: disallow tile dimensions that are not multiple of 16
Original decoder seems to always use 176x128 tiles anyway and this helps
avoiding lots of issues with odd tile sizes in fuzzed files.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-29 17:37:59 +01:00
Anton Khirnov
e026ee0446 mpeg4videodec: move sprite_{shift,traj} from MpegEncContext to Mpeg4DecContext 2013-11-29 17:37:16 +01:00
Anton Khirnov
513d849bb6 mpeg4videodec: move num_sprite_warping_points from MpegEncContext to Mpeg4DecContext 2013-11-29 17:36:57 +01:00
Anton Khirnov
9ba3fc3e3d mpeg4videodec: move sprite_brightness_change from MpegEncContext to Mpeg4DecContext 2013-11-29 17:36:43 +01:00
Anton Khirnov
58c120a929 mpeg4videodec: move scalability from MpegEncContext to Mpeg4DecContext 2013-11-29 17:36:28 +01:00
Anton Khirnov
6e81597d5a mpeg4videodec: move enhancement_type from MpegEncContext to Mpeg4DecContext 2013-11-29 17:36:05 +01:00
Anton Khirnov
2992afda83 mpeg4videodec: remove a write-only variable from MpegEncContext 2013-11-29 17:35:57 +01:00
Anton Khirnov
3b1c0f686d mpeg4videodec: move new_pred from MpegEncContext to Mpeg4DecContext 2013-11-29 17:35:13 +01:00
Anton Khirnov
e89247debd mpeg4videodec: replace MpegEncContext.reduced_res_vop with a local variable 2013-11-29 17:34:34 +01:00
Anton Khirnov
8cebc9eaac mpeg4videodec: remove a write-only variable from MpegEncContext 2013-11-29 14:19:48 +01:00
Anton Khirnov
b1aacd5668 mpeg4videodec: move t_frame from MpegEncContext to Mpeg4DecContext 2013-11-29 14:19:48 +01:00
Anton Khirnov
0388907400 mpeg4videodec: move cplx_estimation_* fields from MpegEncContext to Mpeg4DecContext 2013-11-29 14:19:48 +01:00
Anton Khirnov
43af264de8 mpeg4videodec: move mpeg4-specific bug workaround variables from MpegEncContext to Mpeg4DecContext 2013-11-29 14:19:48 +01:00
Anton Khirnov
e2ceb17642 mpeg4videodec: move mpeg4-specific post-frame-decode code from h264dec to mpeg4videodec 2013-11-29 14:19:47 +01:00
Anton Khirnov
48e1394095 mpeg4videodec: move MpegEncContext.resync_marker into Mpeg4DecContext. 2013-11-29 14:19:47 +01:00
Anton Khirnov
c2f7417eeb vc1: move MpegEncContext.resync_marker into VC1Context.
The field still remains in MpegEncContext because it is used by the
mpeg4 decoder.
2013-11-29 14:19:47 +01:00
Anton Khirnov
a5a71992ca mpeg4videoenc: don't set MpegEncContext.resync_marker
It is only used in one place immediately after it is set.
2013-11-29 14:19:47 +01:00
Anton Khirnov
ad09f52586 h263dec: remove commented out cruft 2013-11-29 14:19:47 +01:00
Anton Khirnov
bc5abfb19e mpeg4videodec: move MpegEncContext.rvlc to Mpeg4DecContext 2013-11-29 14:19:47 +01:00
Anton Khirnov
9f0617d213 mpeg4videodec: remove write-only sprite variables from MpegEncContext 2013-11-29 14:19:47 +01:00
Anton Khirnov
1a89025793 mpeg4videodec: move MpegEncContext.vol_sprite_usage to Mpeg4DecContext 2013-11-29 14:19:47 +01:00
Anton Khirnov
75bd07f732 mpeg4videoenc: write 0 instead of vol_sprite_usage
That field is never set for encoding.
2013-11-29 14:19:47 +01:00
Anton Khirnov
e62a43f6b1 mpeg4videodec: move MpegEncContext.time_increment_bits to Mpeg4DecContext
The field remains in MpegEncContext for use in the encoder.
2013-11-29 14:19:47 +01:00
Anton Khirnov
ee8af2dd99 mpeg4videodec: move MpegEncContext.shape to Mpeg4DecContext 2013-11-29 14:19:47 +01:00
Anton Khirnov
35e0833d41 mpeg4videodec: add a mpeg4-specific private context. 2013-11-29 14:19:47 +01:00
Anton Khirnov
b452d5ae86 mpeg4videodec: move mpeg4-specific bug detection from h263 generic code to mpeg4 2013-11-29 14:19:47 +01:00
Michael Niedermayer
6e7de11444 avcodec/dcadec: decode LFE so we dont just add random data when downmixing with LFE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 14:13:05 +01:00
Michael Niedermayer
d2e46b11e4 avcodec/dcadec: set AV_CLASS_CATEGORY
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:56:37 +01:00
Michael Niedermayer
55bd20a841 avcodec/dcadec: AVClass is const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:56:18 +01:00
Michael Niedermayer
5b3c684147 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dcadec: add disable_xch private option.

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:39:52 +01:00
Michael Niedermayer
3f41e57fa8 Merge commit '220494ad0b2e9e980ef703b46b69308236f29be5'
* commit '220494ad0b2e9e980ef703b46b69308236f29be5':
  dcadec: treat all 2-channel modes as Stereo in dca_downmix.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:21:34 +01:00
Michael Niedermayer
97468463a2 Merge commit 'aaa44d0299338e3bc90128816c21dbfab06cdb48'
* commit 'aaa44d0299338e3bc90128816c21dbfab06cdb48':
  dca: support mixing LFE in dca_downmix.

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:00:59 +01:00
Michael Niedermayer
7ea9c4a94c Merge commit '149438cfe5d233c46bb18341b7c574fe643dd5f2'
* commit '149438cfe5d233c46bb18341b7c574fe643dd5f2':
  dca: improve default stereo downmix coefficients.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:48:29 +01:00
Michael Niedermayer
12235a3ed2 avcodec/dcadec: print more details about errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:42:03 +01:00
Michael Niedermayer
43ec456320 Merge commit '44b17d794aa508ae21f438ae80bfe8aaf4b426e1'
* commit '44b17d794aa508ae21f438ae80bfe8aaf4b426e1':
  dca: extract core substream's embedded downmix coeffcient codes, if present.

Conflicts:
	libavcodec/dcadata.h
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:28:15 +01:00
Michael Niedermayer
c122e697fa Merge commit '27245b4e1bbb7a863341db321b5bdc5792e427d9'
* commit '27245b4e1bbb7a863341db321b5bdc5792e427d9':
  dca: remove embedded downmix coefficient extraction.

Conflicts:
	libavcodec/dcadata.h
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 01:12:02 +01:00
Michael Niedermayer
a7f8817720 Merge commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d'
* commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d':
  dca: convert dca_default_coeffs to float.

Conflicts:
	libavcodec/dcadata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:32:14 +01:00
Michael Niedermayer
e9a47896a0 Merge commit '25609b63d2e07d26d610f485a22082d32c96c0f5'
* commit '25609b63d2e07d26d610f485a22082d32c96c0f5':
  dcadec: store the stereo downmix coefficients as float in the DCAContext.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:24:41 +01:00
Michael Niedermayer
cb751a6a96 Merge commit '89de5157b1cbe7807d3ec1d51bd56a75e98c002e'
* commit '89de5157b1cbe7807d3ec1d51bd56a75e98c002e':
  dcadec: implement request_channel_layout.

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:18:42 +01:00
Michael Niedermayer
3adb825650 Merge commit 'cf7860db608df7c76471d8b61f07abbd5aad8dd5'
* commit 'cf7860db608df7c76471d8b61f07abbd5aad8dd5':
  x86: dsputil: Suppress deprecation warnings for XvMC bits

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 22:47:37 +01:00
Michael Niedermayer
f21ca39e81 Merge commit 'd1916d13e28b87f4b1b214231149e12e1d536b4b'
* commit 'd1916d13e28b87f4b1b214231149e12e1d536b4b':
  dsputil/pngdsp: fix signed/unsigned type in end comparison

Conflicts:
	libavcodec/dsputil.c

See: 454a11a1c9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 22:02:55 +01:00
Tim Walker
3c8507a845 dcadec: add disable_xch private option.
This supplements the deprecated request_channels-based control of XCh decoding.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
220494ad0b dcadec: treat all 2-channel modes as Stereo in dca_downmix.
The check for (prim_channels > 2) before calling dca_downmix made these
cases unreachable, but now 2.1 layouts will go through the downmix code.
Having dual mono, Lt/Rt and sum-difference layouts print errors when
regular Stereo doesn't seems pointless.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
aaa44d0299 dca: support mixing LFE in dca_downmix.
Embedded downmix coefficients can use this.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
149438cfe5 dca: improve default stereo downmix coefficients.
Previous coefficients were producing a non-normalized, incorrect Lt/Rt downmix.

The new coefficients produce a standard Lo/Ro downmix with 3dB attenuation.

This should match the typical default coefficients used by DTS encoders.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
44b17d794a dca: extract core substream's embedded downmix coeffcient codes, if present.
As per ETSI TS 102 114 V1.4.1 specification.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
27245b4e1b dca: remove embedded downmix coefficient extraction.
It was based on an old, seemingly incorrect specification, so default
coefficients were always used anyway.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:50 +01:00
Tim Walker
b6d5e6aa10 dca: convert dca_default_coeffs to float.
Easier to read, modify, and avoids relying on an outdated table.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 21:38:22 +01:00
Tim Walker
25609b63d2 dcadec: store the stereo downmix coefficients as float in the DCAContext.
The 7-bit codes previously used are absent from the ETSI 102 114 V1.4.1 spec.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 21:35:22 +01:00
Tim Walker
89de5157b1 dcadec: implement request_channel_layout.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 21:10:29 +01:00
Diego Biurrun
cf7860db60 x86: dsputil: Suppress deprecation warnings for XvMC bits
These parts are scheduled for removal on the next version bump.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2013-11-28 16:04:30 +01:00
Michael Niedermayer
d1916d13e2 dsputil/pngdsp: fix signed/unsigned type in end comparison
Fixes out of array accesses and integer overflows.
2013-11-28 15:37:55 +01:00
Michael Niedermayer
03beb5792a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h263dec: sanitize a condition.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 11:21:52 +01:00
Michael Niedermayer
0a5ca63c24 Merge commit '4d388c0cd05dd4de545e8ea333ab4de7d67ad12d'
* commit '4d388c0cd05dd4de545e8ea333ab4de7d67ad12d':
  h264_refs: make sure not to write over the bounds of the default ref list

Conflicts:
	libavcodec/h264_refs.c

This condition should be impossible and was checked for by asserts.
the asserts are moved up in this merge to gurantee that no out of array
access can happen even if the state is "impossible".
Also if such impossible states could somehow be created, that should
be dealt with and not silently ignored.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 10:45:53 +01:00
Anton Khirnov
8733799392 h263dec: sanitize a condition.
Call ff_mpeg4_decode_picture_header() only when the decoder has the
MPEG4 codec id, not based on a vaguely related value of h263_pred.
2013-11-27 22:24:50 +01:00
Anton Khirnov
4d388c0cd0 h264_refs: make sure not to write over the bounds of the default ref list
Fixes invalid writes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-11-27 22:24:40 +01:00
Michael Niedermayer
f13f139feb avcodec/qpeg: make qpeg_decode_inter() noinline
This should workaround an apparent mis-compilation with gcc 4.2 on BSD
The function is rarely called and not inlining should have no speed
effect

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 14:41:16 +01:00
Michael Niedermayer
6d9dad6a7c avcodec/g2meet: check available space before copying palette
Fixes out of array read
Fixes: asan_heap-uaf_ae6067_5415_g2m4.wmv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 00:10:23 +01:00
Michael Niedermayer
83f7bd6dcf avcodec/g2meet: fix stride calculation, use correct format field
Fixes out of array accesses
Fixes: asan_heap-oob_ae5f63_5415_g2m4.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 00:10:23 +01:00
gcocherel
3c846fda1c HEVC : valgrind fix : vps_list
cherry picked from commit 211c39ade87bc079eabc862a6b684544dc88a786

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-26 13:22:01 +01:00
Michael Niedermayer
75ec40b083 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: remove mp3_header_(de)compress bitstream filters

Conflicts:
	Changelog
	libavcodec/mp3_header_compress_bsf.c
	libavcodec/mp3_header_decompress_bsf.c

The decompress filter is left in place for interoperability and support of
files that used the compress filter.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-26 13:13:45 +01:00
Michael Niedermayer
625b29037e Merge commit '1eaac1d6f7bb8e52d82e1a114c88a59a9a8e5025'
* commit '1eaac1d6f7bb8e52d82e1a114c88a59a9a8e5025':
  mpeg12dec: Extract CC user data into frame side data

Conflicts:
	doc/APIchanges
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-26 13:00:46 +01:00
Michael Niedermayer
cd51d9a984 Revert "avcodec/gsmdec: reject unsupported msn audio modes"
they should be supported now

This reverts commit 1ee1a3d9f4.
2013-11-26 12:38:03 +01:00
Michael Niedermayer
8c87658fdc Merge commit 'a16577d9857206089fd8bce6a342b31dbd7fb9b0'
* commit 'a16577d9857206089fd8bce6a342b31dbd7fb9b0':
  MSN Audio support

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-26 12:37:20 +01:00
Michael Niedermayer
ac021fdc40 Merge commit '56d061ce9da954560892e3551513d5ecc0439846'
* commit '56d061ce9da954560892e3551513d5ecc0439846':
  metasound: add last missing modes (8kHz @ 6kbps per channel)

Conflicts:
	Changelog
	doc/general.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-26 12:28:31 +01:00
Michael Niedermayer
0290a646ac Merge commit 'de44dfc7c0ec02bda7d846ef713145c890bfae3f'
* commit 'de44dfc7c0ec02bda7d846ef713145c890bfae3f':
  vc1: Reset numref if fieldmode is not set

This change is redundant, numref is already reset

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-26 12:23:39 +01:00
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
John Stebbins
1eaac1d6f7 mpeg12dec: Extract CC user data into frame side data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-26 08:37:22 +01:00
Kostya Shishkov
a16577d985 MSN Audio support
This is essentially a MS GSM decoder extension that supports more
sampling rates and lower bitrates.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-26 08:31:10 +01:00
Kostya Shishkov
56d061ce9d metasound: add last missing modes (8kHz @ 6kbps per channel)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-26 08:29:42 +01:00
Michael Niedermayer
a9a3afec1a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacsbr: Add some const casts to silence warnings in ff_sbr_apply()

Conflicts:
	libavcodec/aacsbr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-26 02:15:47 +01:00
Kostya Shishkov
de44dfc7c0 vc1: Reset numref if fieldmode is not set
There are samples in the wild with B-frames and P-frames with different
interlace mode.

CC: libav-stable@libav.org
Reported-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-11-26 00:34:12 +01:00
Michael Niedermayer
4782c4284f avcodec/ac3dec: check bap before use.
Fixes out of array read
Fixes assertion failure
Fixes asan_static-oob_16431c0_8036_rio_bravo_mono_64_spx.ac3

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-25 23:17:17 +01:00
Diego Biurrun
5145ccf02b aacsbr: Add some const casts to silence warnings in ff_sbr_apply() 2013-11-25 21:04:29 +01:00
Michael Niedermayer
c3d5cd1ebf Revert "Merge remote-tracking branch 'qatar/master'" (43dec5ef9a)
Fixes out of array accesses
Fixes asan_static-oob_eb9812_5961_iv41.avi
This reverts the merge of c9ef6b0932

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2013-11-25 19:55:32 +01:00
Hendrik Leppkes
841c0aafa5 avcodec/pthread: check packet buffer allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-25 02:22:43 +01:00
Michael Niedermayer
ccdfa3e271 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add missing #includes for *INT64_MAX and *INT64_C

Conflicts:
	ffmpeg.c
	ffmpeg_filter.c
	ffplay.c
	libavformat/assdec.c
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 05:21:19 +01:00
Michael Niedermayer
f67ec7f3a2 Merge commit '0eeeb9647e9c92c9edfd0b18c7cb5da7ac666f85'
* commit '0eeeb9647e9c92c9edfd0b18c7cb5da7ac666f85':
  mpegaudiodec: Consistently handle fixed/float templating

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 05:12:07 +01:00
Michael Niedermayer
ceaaf0d97e Merge commit '48b24bd2d208ce0f124029ac4c5ac5cb1fca4175'
* commit '48b24bd2d208ce0f124029ac4c5ac5cb1fca4175':
  ac3dec: Fix out-of-array read

Conflicts:
	libavcodec/ac3dec.c

See: 2cbf27b08a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 05:05:09 +01:00
Michael Niedermayer
3d5a5e86be avcodec/jpeg2000dec: Check precno before using it in JPEG2000_PGOD_CPRL
Fixes out of array reads
Fixes: asan_heap-oob_f0de57_6823_mjp2.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 04:02:24 +01:00
Clément Bœsch
bea9394465 avcodec/vp9dsp: remove unused stride parameter in loop_filter().
The stride argument is passed either as stridea or strideb.
2013-11-23 22:19:38 +01:00
Diego Biurrun
8f8bc92365 Add missing #includes for *INT64_MAX and *INT64_C 2013-11-23 21:55:52 +01:00
Diego Biurrun
0eeeb9647e mpegaudiodec: Consistently handle fixed/float templating 2013-11-23 21:36:49 +01:00
Tim Walker
48b24bd2d2 ac3dec: Fix out-of-array read
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-23 21:36:49 +01:00
Michael Niedermayer
321b338762 avcodec/hnm4video: allocate frame only when theres a coded frame
Fixes memleak
Fixes: asan_heap-oob_e76bdf_2224_MOTHOO.HNM

This patch also removes the setting of palette_has_changed,
which was set on a frame that was never returned

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 21:05:29 +01:00
James Zern
34e32d6464 libvpxenc: update cpu-used default
3 -> 1. vp8 encoding speed has improved since the initial release and 1
is a reasonable default for vp9 as well.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 16:59:05 +01:00
James Zern
6819eaf31b libvpxdec: set CODEC_CAP_DR1 for vp9
it shares vp8_decode() with vp8 which already has the flag set

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 16:58:03 +01:00
Michael Niedermayer
f63ee2aa14 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libschroedingerenc: do not assert on values from external libraries

Conflicts:
	libavcodec/libschroedingerenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 14:53:39 +01:00
Michael Niedermayer
94194bdcd7 Merge commit 'd4df02131b5522a99a4e6035368484e809706ed5'
* commit 'd4df02131b5522a99a4e6035368484e809706ed5':
  ac3dec: Remove write-only channel_layout field from AC3DecodeContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 13:45:09 +01:00
Michael Niedermayer
2cbf27b08a libavcodec/ac3dec: fix channel_layout
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 13:36:15 +01:00
Michael Niedermayer
2e5780a53f Merge commit 'b53285462263ef8a795f0e289abd5799b4c57652'
* commit 'b53285462263ef8a795f0e289abd5799b4c57652':
  ac3: implement request_channel_layout.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 12:18:33 +01:00
Alexandra Khirnova
6f270da61b libschroedingerenc: do not assert on values from external libraries
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-23 12:08:53 +01:00
Michael Niedermayer
ffe31c654d avcodec/hnm4video: check writeoffset in decode_interframe_v4a()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 23:52:08 +01:00
Michael Niedermayer
bd8d28e2d2 avcodec/hnm4video: check dimensions for validity
Fixes out of array read
Fixes: asan_heap-oob_e76e18_1244_CASSE.HNM
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 23:52:08 +01:00
Tim Walker
d4df02131b ac3dec: Remove write-only channel_layout field from AC3DecodeContext
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-22 23:27:34 +01:00
Tim Walker
b532854622 ac3: implement request_channel_layout.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-22 23:27:33 +01:00
Clément Bœsch
004f3b154b avcodec/vp9dsp: pass dconly bit as macro argument. 2013-11-22 23:26:37 +01:00
Michael Niedermayer
b33f3246e2 avcodec/hnm4video: fix missing newlines in error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 22:31:47 +01:00
Michael Niedermayer
78446f0d9d avcodec/hnm4video: fix write offset checks in decode_interframe_v4()
Fixes: asan_heap-oob_e76a51_1244_CASSE.HNM

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 22:31:46 +01:00
Michael Niedermayer
5a08ba5381 avcodec/hnm4video: check offset in decode_interframe_v4() more completely
Fixes out of array reads
Fixes: signal_sigsegv_e74c1e_1092_BROCIME.HNM
Fixes: signal_sigsegv_e74e85_2620_PLAQUE0.HNM

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 22:12:27 +01:00
Clément Bœsch
64821f5a7c avcodec/vp9dsp: add DC only versions for idct/idct.
before:
  ./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null -  16.29s user 0.02s system 99% cpu 16.323 total
  ./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null -  16.32s user 0.01s system 99% cpu 16.351 total
  ./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null -  16.27s user 0.05s system 99% cpu 16.335 total

after:
  ./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null -  15.22s user 0.03s system 99% cpu 15.257 total
  ./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null -  15.20s user 0.02s system 99% cpu 15.237 total
  ./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null -  15.19s user 0.02s system 99% cpu 15.227 total
2013-11-22 20:32:56 +01:00
Michael Niedermayer
e4eb2c957b avcodec/rv10: revert hunk from ce9f5b13ed
Fixes segfault
Fixes: signal_sigsegv_103f872_2759_RVTR_behere_ivideo_motor_cross_interview_final_56kbps.rm

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 19:31:39 +01:00
Michael Niedermayer
0398b7cbd3 avcodec/hnm4video: check intraframe size
Fixes hypothetical integer overflow with HNM4_CHUNK_ID_IZ

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 17:02:00 +01:00
Michael Niedermayer
6060234d43 avcodec/mjpegdec: check len in mjpeg_decode_app() more completely
Avoids len from becoming negative and causing assertion failure

Fixes: signal_sigabrt_7ffff7126425_5140_fd44dc63fa7bdd12ee34fc602231ef02.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 17:02:00 +01:00
Michael Niedermayer
ba992711f7 avcodec/hnm4video: check that packetsize is at least 8
Fixes integer overflow and assertion failure
Fixes: signal_sigabrt_7ffff7126425_1243_CASSE.HNM

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 17:02:00 +01:00