Commit Graph

33526 Commits

Author SHA1 Message Date
Ronald S. Bultje
4bb9dbe4d7 vp9: permanently delete segmentation refmap on any size change. 2015-09-10 07:51:16 -04:00
Michael Niedermayer
35b7bd2558 avcodec/libopenh264enc: Remove some unneeded intermediate variables
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-10 13:13:06 +02:00
Michael Niedermayer
fb000b0f0f avcodec/libopenh264enc: Fix formating to match FFmpegs style
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-10 13:02:40 +02:00
Michael Niedermayer
ec5b13fbe4 avcodec/libopenh264enc: remove useless cast
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-10 12:59:44 +02:00
Gregory J. Wolfe
e8c45b96f4 avcodec/libopenh264enc: Use av_log() to log messages
File libopenh264enc.c has been modified so that the encoder uses av_log()
to log messages (error, warning, info, etc.) instead of logging them
directly to stderr.  At the time the encoder is created, the current
ffmpeg log level is mapped to an equivalent libopenh264 log level.  This
log level, and a message logging function that invokes av_log() to
actually log messages, are then set on the encoder.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-10 12:56:09 +02:00
Hendrik Schreiber
9d742d23d2 lavc: Fix compilation with --disable-everything --enable-parser=mpeg4video. 2015-09-09 14:49:52 +02:00
Paul B Mahol
8bf2d3e468 avcodec/wavpackenc: use AV_OPT_TYPE_BOOL for all options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-09 10:01:10 +00:00
Paul B Mahol
6603368ab4 avcodec/huffyuvenc: use AV_OPT_TYPE_BOOL for non_deterministic option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-09 10:01:10 +00:00
Paul B Mahol
33a68759c1 avcodec/libmp3lame: use AV_OPT_TYPE_BOOL for all options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-09 10:01:10 +00:00
Rostislav Pehlivanov
da64bd6a99 aaccoder: tweak PNS implementation further
This commit changes a few things about the noise substitution
logic:
 - Brings back the quantization factor (reduced to 3) during
   scalefactor index calculations.
 - Rejects any zeroed bands. They should be inaudiable and it's
   a waste transmitting the scalefactor indices for these.
 - Uses swb_offsets instead of incrementing a 'start' with every
   window group size.
 - Rejects all PNS during short windows.
Overall improves quality. There was a plan to use the lfg system
to create the random numbers instead of using whatever the decoder
uses but for now this works fine. Entropy is far from important here.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-09 10:44:33 +01:00
Hendrik Leppkes
b421455ee0 Merge commit '3b8e895237592fdaffe87cdcd204104200b9ccf9'
* commit '3b8e895237592fdaffe87cdcd204104200b9ccf9':
  codec_desc: Add missing DXV entry

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-09 09:55:14 +02:00
Vittorio Giovara
3b8e895237 codec_desc: Add missing DXV entry 2015-09-09 03:11:09 +02:00
Michael Niedermayer
2c1ec57596 avformat/mpegvideo_enc: Move sponsorship notice to its own comment block
Suggested-by: BBB
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-09 02:50:20 +02:00
Andrew Stone
a450ec2672 avcodec/libvorbisdec: Fix memory leak
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-09 01:56:14 +02:00
Michael Niedermayer
91ca8105dd avcodec/h264_sei: Remove "Subtitles with data type 0x%02x" sample request
Suggested-by: Carl and Hendrik
2015-09-09 00:17:59 +02:00
Clément Bœsch
a6da2fec7c avcodec/aacenc: use AV_OPT_TYPE_BOOL 2015-09-08 22:39:20 +02:00
Stefano Sabatini
309fb6ba22 lavc/options: extend/fix text for threads and slices options 2015-09-08 17:54:33 +02:00
Stefano Sabatini
ae72b57502 lavc/libopenh264enc: apply minor consistency fixes to options text 2015-09-08 17:54:26 +02:00
Hendrik Leppkes
5d8e836d0e Replace all remaining occurances of step/depth_minus1 and offset_plus1 2015-09-08 17:10:48 +02:00
Hendrik Leppkes
151aa2ebff Merge commit '2268db2cd052674fde55c7d48b7a5098ce89b4ba'
* commit '2268db2cd052674fde55c7d48b7a5098ce89b4ba':
  lavu: Drop the {minus,plus}1 suffix from AVComponentDescriptor fields

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-08 16:35:28 +02:00
Hendrik Leppkes
72773203a6 Merge commit 'd0f7e4a57fbffa0efb204d4274c3dd56fbfff946'
* commit 'd0f7e4a57fbffa0efb204d4274c3dd56fbfff946':
  dxtory: Unify and rework the decoding routines

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-08 14:34:09 +02:00
Hendrik Leppkes
8537e24927 Merge commit '3cdda78deb19b39dbbf8961ae0aec44dbb19bf6d'
* commit '3cdda78deb19b39dbbf8961ae0aec44dbb19bf6d':
  checkasm: add unit tests for v210enc

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-08 14:30:00 +02:00
Hendrik Leppkes
aa15e233c4 Merge commit 'a7e6fbd90e62d3320b1e26d8209fc0f55ee5b0be'
* commit 'a7e6fbd90e62d3320b1e26d8209fc0f55ee5b0be':
  dxtory: Factorize the buffer loading

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-08 14:27:05 +02:00
Hendrik Leppkes
696634c5fa Merge commit '6a6bc43f5f79587b8936334cc0b3a6616f4807ac'
* commit '6a6bc43f5f79587b8936334cc0b3a6616f4807ac':
  dxtory: Factorize slice size checks

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-08 14:23:53 +02:00
Carl Eugen Hoyos
9b2802f0d3 lavc/dxv: Support more real-world old version samples. 2015-09-08 10:18:16 +02:00
Carl Eugen Hoyos
84c9bf62b4 lavc/dxv: Silence "Multiple ff_thread_finish_setup() calls" warnings. 2015-09-08 10:16:34 +02:00
周晓勇
a78656a187 avcodec: loongson delete invalid simple idct put and add optimization
Change-Id: I23a36c65915f01a1cf20e317c14b8eaaa62958b4
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>

Fixes Decoding of http://loongnix.org/ftp/multimedia/testing/nanocore_720p_24fps_mpeg4_ac3_short.avi

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-08 01:04:36 +02:00
Michael Niedermayer
124b7cd485 Add NOA credits 2015-09-08 01:04:19 +02:00
周晓勇
f7e9b9d260 avcodec: loongson optimize h264dsp idct and loop filter with mmi
Change-Id: Ic87fb8f5cd22a502ff9dbbc5a5a8ea97cfc8a1dd
Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-07 22:49:52 +02:00
Ivan Uskov
3f8e2e9953 libavcodec/qsvdec.c: correct flush() handler has been implemented
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-07 22:04:02 +02:00
Ivan Uskov
cc167f7e55 libavcodec/qsvdec.c: correct handling of dynamic frame size changing has been implemented
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-07 22:04:02 +02:00
James Almer
ef359e724d avcodec: remove VIMA Makefile entry
Signed-off-by: James Almer <jamrial@gmail.com>
2015-09-07 16:24:31 -03:00
James Almer
f9fd879877 avcodec: remove missing bits from deprecated VIMA decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2015-09-07 16:06:25 -03:00
James Almer
83c6a880a6 avcodec: remove fourcc values from AVCodecIDs
Based on a patch by wm4.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-09-07 12:47:00 -03:00
James Almer
2bef340cb2 avcodec: remove duplicate AVCodecIDs
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-09-07 12:46:56 -03:00
Hendrik Leppkes
1789e46d34 Merge commit '5a1a9da8a7ae120f2543b8f2fa13dc8baac39f17'
* commit '5a1a9da8a7ae120f2543b8f2fa13dc8baac39f17':
  mpegvideo: Drop a stray error message

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-07 16:08:42 +02:00
Hendrik Leppkes
d02d208211 Merge commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b'
* commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b':
  DXV decoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-07 16:07:07 +02:00
Gwenole Beauchesne
aea611dc3e vaapi: fix local header include.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2015-09-07 15:32:08 +02:00
Vittorio Giovara
2268db2cd0 lavu: Drop the {minus,plus}1 suffix from AVComponentDescriptor fields
The new fields can be accessed directly and are more intelligible.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-09-07 12:37:47 +02:00
Luca Barbato
d0f7e4a57f dxtory: Unify and rework the decoding routines
Do not make many assumption on the dimension of the slices and just
try to decode additional lines if there is enough data left.

Decodes all the samples kindly provided by ultramage.
2015-09-06 14:16:38 +02:00
Rostislav Pehlivanov
b6cc8ec7ec aaccoder: add frequency scaling and quantization correction for PNS
This commit once again improves the PNS implementation by scaling the
thresholds with frequency. The thresholds get looser as the frequency
increases since higher frequencies are basically noise to human ears.

Also, this introduces quantization error correction for PNS. Should
the error be too much, no PNS will be used. The energy_ratio is used
to regulate the actual encoded PNS energy: if the generated PNS
energy is higher than the energy from the psy system, energy_ratio
is used to correct it so that hopefully once requantized and
transmitted the value in the decoder will be closer to what the
encoder has.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-07 12:44:09 +01:00
Hendrik Leppkes
1964aeae42 Merge commit '0c7707610f46a28b65eff935500c78c9781f8f4f'
* commit '0c7707610f46a28b65eff935500c78c9781f8f4f':
  lavc: Add a lzf decompressor

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-07 12:53:00 +02:00
Hendrik Leppkes
d4f63be92b Merge commit '4dc9f00365853b1239936d771856cf1881b5c5ce'
* commit '4dc9f00365853b1239936d771856cf1881b5c5ce':
  build: Skip libvpx.h if libvpx is not enabled

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-07 12:31:14 +02:00
Ronald S. Bultje
f12093fffd vp9: fix integer overflows in sse2 version of iadst4. 2015-09-06 15:07:19 -04:00
Rostislav Pehlivanov
1956cfbaed aacenc_is: take absolute coefficient value upon energy calculations
This was an oversight when the IS system was being first implemented.
The ener01 part was largely a result of trial and error and the fact
that the sum of coef0 and coef1 could result in a zero was
overlooked. Once ener01 turns to zero it's used to divide the left
channel energy which doesn't turn out so well as it fills IS[]
with -nan's and inf's which in turn confused the quantize_band_cost.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-06 18:36:42 +01:00
Rostislav Pehlivanov
033e58941e aaccoder: rewrite PNS implementation
This commit rewrites the PNS implementation and significantly
improves sonic quality.

The previous implementation marked an incredibly big amount
of SFBs to predict when there was no need for this and this
resulted in quite a large amount of artifacts. Also the
quantization was incorrect (av_clip(4+log2f(...))) which
led to 3x the intensity for PNS values leading to even more
artifacts.

This commit rewrites the PNS search function and introduces
a major change: the PNS values are synthesized and are compared
to the current coefficients in addition to passing through
the revised checks to see whether PNS can be used.

This decreases distortions and makes the current PNS implementation
mainly focused on replacing any low-power non-zero bands as well
as adding any zeroed bands back.

The current encoder's performance is enough (especially with
IS) so PNS isn't really required except to fill in the occasional
few bands as well as extend any zeroed high frequency, so this
combination which is already enabled by default works
to get as much quality as it can within the bits allowed.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-06 15:30:26 +01:00
Rostislav Pehlivanov
8848c8440e aacenc_pred: disable PNS SFBs and disable right predictors with IS
Since PNS generates coefficients it doesn't make sense to send
the predicted ones as well. Also the specifications explicitly
state to disable right channel IS predictors.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-06 15:30:26 +01:00
Rostislav Pehlivanov
a71f7de95b aacenc_is: ignore PNS band types
It's better to trust that the coefficients generated will be
closer than the coefficients derived, and the new PNS implementation
makes sure that this happens.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-06 15:30:26 +01:00
Rostislav Pehlivanov
b9b1fd1183 aaccoder: use roundf() instead of ceilf()
The specifications explicitly state to use roundf() which
also rounds half-integer values away from zero.
This does fix a few IS artifacts.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-06 15:30:26 +01:00
Rostislav Pehlivanov
92aa3e7fb2 aacenc: copy PRNG from the decoder
Needed for the following PNS commits.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-06 15:30:25 +01:00