Normally, a Laplace distribution is more typical of the residuals
encoded, but for noisy input, it's both better and simpler to be
safe and use a 1/d^2 distribution. Second hunk could use some
renormalization but it has effectively little impact.
Output size of ffvhuff on various 4:2:0 sequences:
context=0,1/d: 851974 27226 1137281
context=0,1/d²: 619081 25069 1051500
context=0,1/d³: 501983 30454 1290561
context=0,lapl: 500650 31754 1304082
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This allows "-codec copy -f framecrc" on files with only unindentifyable streams
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '194be1f43ea391eb986732707435176e579265aa':
lavf: switch to AVStream.time_base as the hint for the muxer timebase
Conflicts:
doc/APIchanges
libavformat/filmstripenc.c
libavformat/movenc.c
libavformat/mxfenc.c
libavformat/oggenc.c
libavformat/swf.h
libavformat/version.h
tests/ref/lavf/mkv
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This avoids the following libass warning when using the subtitles
filter: "Neither PlayResX nor PlayResY defined. Assuming 384x288"
Subtitles tests change because the output is ASS and the PlayRes[XY]
ends up in the output.
* commit 'd754ed41727b1fcbab335b510248a9758a73320c':
riffenc: take an AVStream instead of an AVCodecContext
Conflicts:
libavformat/nutenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228':
lavf: add the notimestamps flag to the muxers missing it
Conflicts:
libavformat/adtsenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'cfbdd7ffbd9fe14d110fd1bb89bf52f0f7bde016':
rtpenc: base max_frames_per_packet on avg_frame_rate, not codec timebase
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '894682a9739eb8d4bfc024b0d4e5757fcfe47378':
Remove avserver.
Conflicts:
.gitignore
Changelog
Makefile
configure
doc/ffserver.conf
doc/ffserver.texi
doc/general.texi
ffserver.c
libavformat/Makefile
libavformat/ffm.h
libavformat/ffmdec.c
libavformat/ffmenc.c
tests/fate/avformat.mak
tests/lavf-regression.sh
tests/ref/lavf/ffm
tests/ref/seek/lavf-ffm
Not merged, ffserver does have a maintainer
co maintainers are welcome and needed though !
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Previously, AVStream.codec.time_base was used for that purpose, which
was quite confusing for the callers. This change also opens the path for
removing AVStream.codec.
The change in the lavf-mkv test is due to the native timebase (1/1000)
being used instead of the default one (1/90000), so the packets are now
sent to the crc muxer in the same order in which they are demuxed
(previously some of them got reordered because of inexact timestamp
conversion).
It has not been properly maintained for years and there is little hope
of that changing in the future.
It appears simpler to write a new replacement from scratch than
unbreaking it.
POSIX gurantees >=32bit so it all fits in signed int
Also >=32bit ints are assumed througout the codebase
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f2ce63246f5c934429f9cb857a794e07624d7912':
dcadec: replace ldexpf with a multiplication by a constant
Conflicts:
libavcodec/dcadec.c
See: 6da06ef6bb
See: 9ccb5455ca
See: 6b88f22e89
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* Some users are trying to use them for non-ancient iDevices when
baseline profile and level 1.3/3.0 would not be required.
* "640" and "320" no longer make sense.
* Some recommended options can be viewed at:
<https://trac.ffmpeg.org/wiki/Encode/H.264#iOS>
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>