summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | libavcodec/mpegvideo_enc.c: Fix encoding videos with less frames than the ↵Alexis Ballier2015-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | delay of the encoder. When the encoder is fed with less frames than its delay, the picture list looks like { NULL, NULL, ..., frame, frame, frame }. When flushing the encoder (input frame == NULL), we need to ensure the picture list is shifted enough so that we do not return an empty packet, which would mean the encoder has finished, while it has not encoded any frame. Before the patch, the command: './ffmpeg_g -loglevel debug -f lavfi -i "testsrc=d=0.01" -bf 2 -vcodec mpeg2video out.mxf' prints: Output stream #0:0 (video): 1 frames encoded; 0 packets muxed (0 bytes); After: Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (8058 bytes); Relates to ticket #4817. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/mpegvideo_enc: Merge ifs with identical conditionsMichael Niedermayer2015-10-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/mpegvideo_enc: Factor new_picture unref outMichael Niedermayer2015-10-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/af_ladspa: check functions return value in query_formatsPaul B Mahol2015-10-18
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter/internal: Doxygen for ff_fmt_is_inGanesh Ajjanagadde2015-10-17
| | | | | | | | | | | | | | This clarifies and adds Doxygen for ff_fmt_is_in. Reviewed-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | aacenc_ltp: adjust and speed up autocorrelation calculationsRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | | | There were some errors in the calculation as well as an entire unnecessary loop to find the gain coefficient. Merge the two loops. Thanks to @ubitux for the suggestions and testing.
* | mpegts: Make the sdt_period a doubleDerek Buitenhuis2015-10-17
| | | | | | | | | | | | | | Having it as a float didn't even allow enough precision to check for INT_MAX/2. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | mpegts: Make the pat_period a doubleDerek Buitenhuis2015-10-17
| | | | | | | | | | | | | | Having it as a float didn't even allow enough precision to check for INT_MAX/2. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | avformat/vag: fix demuxing stereo filesPaul B Mahol2015-10-17
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/aacenc: Fix "libavcodec/aacenc.c:540:13: warning: ISO C90 forbids ↵Michael Niedermayer2015-10-17
| | | | | | | | | | | | mixed declarations and code" Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | tests/fate-run: Remove ./ from run ffmpeg callMichael Niedermayer2015-10-17
| | | | | | | | | | | | This makes it consistent with ffprobe Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | concatdec: fix file_start_time calculation regressionMarton Balint2015-10-17
| | | | | | | | | | | | | | | | Fixes ticket #4924. Found-by: Jaroslav Šnajdr <jsnajdr@gmail.com> Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Marton Balint <cus@passwd.hu>
* | avfilter/internal: add av_warn_unused_resultGanesh Ajjanagadde2015-10-17
| | | | | | | | | | | | | | | | | | av_warn_unused_result is added to functions whose return status should be checked. Currently does not trigger any warnings, but should be useful for future robustness. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | chromakey: Use the pixel descriptor API for chroma subsampling infoTimothy Gu2015-10-17
| |
* | libavformat/Makefile: remove unnecessary object file from wtv demuxerHendrik Leppkes2015-10-17
| | | | | | | | The wtv demuxer doesn't reference any functionality from asfdec or asfcrypt
* | avfilter/selectivecolor: fix correction_method option rangeClément Bœsch2015-10-17
| |
* | aacenc_ltp: correct header description commentRostislav Pehlivanov2015-10-17
| |
* | fate: use -profile:a aac_ltp instead of -aac_ltp 1 for LTP encode testRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | The fate test command line is supposed to serve as an example. It's nicer to explicitly state the profile rather than setting options to force it for you.
* | aacenc_ltp: replace av_clip() with av_clip_uintp2()Rostislav Pehlivanov2015-10-17
| | | | | | | | | | Suggested by ubitux. Convenient.
* | aacenc_ltp: fix assertionRostislav Pehlivanov2015-10-17
| | | | | | | | A value of 2048 will overflow 11 bits.
* | avformat/rsd: Check av_new_packet() return valueMichael Niedermayer2015-10-17
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/genh: Check av_new_packet() return valueMichael Niedermayer2015-10-17
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | tests/fate-run: Remove PROGSUF from function callsMichael Niedermayer2015-10-17
| | | | | | | | | | | | Fixes make fate V=2 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | fate: increase fuzz on AAC LTP encoding testRostislav Pehlivanov2015-10-17
| | | | | | | | Fails on some newer systems (archlinux with a modern GCC version).
* | fate: add a parameter to disable TNS for the other encoder testsRostislav Pehlivanov2015-10-17
| | | | | | | | | | Since it became the default option, in order to prevent interference with the other tests, disable it.
* | aacenc_tns: enable Temporal Noise Shaping by defaultRostislav Pehlivanov2015-10-17
| | | | | | | | | | In light of the recent changes to the TNS system, it has been deemed worthy and robust enough to be turned on by default.
* | fate: adjust the target for the new TNS changesRostislav Pehlivanov2015-10-17
| |
* | aacenc_tns: rework TNS descision logicRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: - strongly prefer dual filters to a single filter - less strict about using 2 filters w.r.t. energy - scrap the usage of threshold and spread, useless - use odd-shaped windows to set the filter direction - use 4 bits instead of 3 bits for short windows - simplify and reduce the main loop to a single level - add stricter regulations for short windows All of this now makes the TNS implementation operate as good as it can and it definitely shows. The frequency thresholds are now even better defined by looking at the spectrals and the overall sound has been improved at the price of just a few bits that are well worth it.
* | aacenc_tns: simplify encoding functionRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | It's simpler and has 2 less levels than the previous which was practically lifted from the decoder with put_bits() instead of get_bits().
* | aacenc_tns: disable coefficient compression by defaultRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | | | | | | | | | Too much effort and work has been spent on such a simple function. It simply refuses to work as the specifications say, the transformation is NOT lossless and creates some crackling and distortions. Therefore disable it by default and add a couple of warnings to scare people away from touching it or wasting their time the way I did.
* | aacenc_tns: add moving average filter for LTPRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | The decoder does this so I guess we better do that as well. There's barely any difference between the autoregressive and the moving average filters looking at spectrals though.
* | opencl: Force the use of 1.2 APIsTimothy Gu2015-10-17
| | | | | | | | | | | | | | | | Silences warnings regarding `clCreateCommandQueue` being deprecated. Only a very limited number of products support 2.0. Since the replacement API (`clCreateCommandQueueWithProperties`) is only available in 2.0, we should not update it just yet.
* | opencl: Use "opencl" as log context nameTimothy Gu2015-10-17
| | | | | | | | All other classes use lowercase names.
* | opencl: Print compilation logTimothy Gu2015-10-17
| | | | | | | | Useful when debugging.
* | opencl: Print error string when compilation failsTimothy Gu2015-10-17
| |
* | aacenc: increase fuzz on aac-ms-encode testRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | | | | | | | | | GCC 3.4 miscompiles it on sunos. Date of release? The second of August two thousand and five, anno Domini. That's ten years two months and fourteen days ago. Three thousand seven hundred and twenty seven days ago. One sixth of the average life expectancy of a person living in a country with a human development index of zero point eight hundred and eight, equality adjusted. GCC 4.3 also miscompiles it, though not as bad.
* | fate: adjust aac encoder test values and introduce MS and LTP testsRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | The LTP encoding and the test is a bit slow currently, taking twice the amount of time the other tests do, so in the future the total time to encode might be cut down on that test.
* | aacenc: partially revert previous commits to set options via a profileRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | It didn't work out because of the exceptions that needed to be made for the "-1" cases and was overall more confusing that just manually checking and setting options for each profile.
* | avfilter/avfiltergraph: fix -Wunused-result warningsGanesh Ajjanagadde2015-10-16
| | | | | | | | | | | | | | | | | | | | | | | | Commit bf0d2d6030c239f91e0368a20fb2dc0705bfec99 introduced av_warn_unused_result to avfilter/formats, whose associated warnings were mostly fixed in 6aaac24d72a7da631173209841a3944fcb4a3309. This fixes the issues in avfilter/avfiltergraph. Tested with FATE. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | aacenc: add support for encoding files using Long Term PredictionRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Long Term Prediction allows for prediction of spectral coefficients via the previously decoded time-dependent samples. This feature works well with harmonic content 2 or more frames long, like speech, human or non-human, piano music or any constant tones at very low bitrates. It should be noted that the current coder is highly efficient and the rate control system is unable to encode files at extremely low bitrates (less than 14kbps seems to be impossible) so this extension isn't capable of optimum operation. Dramatic difference is observable with some types of audio and speech but for the most part the audiable differences are subtle. The spectrum looks better however so the encoder is able to harvest the additional bits that this feature provies, should the user choose to enable it. So it's best to enable this feature only if encoding at the absolutely lowest bitrate that the encoder is capable of.
* | aacenc: (re)enable Mid/Side coding by defaultRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | | | Apparently it was set to be enabled by default but after the profile commits it was reverted to be off by default because I didn't notice. Works well so (re)enable it.
* | aacenc_pred: only print predictor information if profile is aac_mainRostislav Pehlivanov2015-10-17
| | | | | | | | Needed because LTP uses predictor_present as well.
* | aacenc: correctly zero prediction_used arrayRostislav Pehlivanov2015-10-17
| | | | | | | | An oversight, probably because of copy-pasting the TNS line.
* | aacenc: slightly simplify and remove a redundant variableRostislav Pehlivanov2015-10-17
| | | | | | | | Functionally identical, doesn't change anything.
* | aacenc_pred: correct header informationRostislav Pehlivanov2015-10-17
| |
* | aacenc: indicate that TNS is off by defaultRostislav Pehlivanov2015-10-17
| | | | | | | | | | | | Doesn't change anything, just a slight clarification that under all profiles TNS is currently off. That'll be soon to change hopefully.
* | aactab: move ltp_coef[] from aacdectab to aactabRostislav Pehlivanov2015-10-17
| | | | | | | | The encoder makes use of it in the following commits.
* | avcodec/ffv1: Initialize vlc_state on allocationMichael Niedermayer2015-10-17
| | | | | | | | | | | | | | This ensures that they are always set to valid values Fixes Ticket4939 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil/mem: add av_warn_unused_resultGanesh Ajjanagadde2015-10-16
| | | | | | | | | | | | | | | | This adds av_warn_unused_result to functions whose return codes need to be checked. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | avutil: undo FF_API_CRYPTO_CONTEXT deprecationJames Almer2015-10-16
| | | | | | | | | | | | | | | | | | | | It's been argued that the benefits of the current implementation far outweight those of making the structs opaque. This deprecation is not present in any release, so it can be safely removed. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>