Commit Graph

82 Commits

Author SHA1 Message Date
Michael Niedermayer
b1fdf81c6e avcodec/jpeg2000dwt: use 32x32->64 multiplies in the 9/7i DWT
This significantly improves the quality when the integer 9/7 transform
is used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-22 02:27:50 +02:00
Michael Niedermayer
6c7b1597c7 avcodec/jpeg2000: Move H band scaling from wavelet into quantization code
This reduces the number of operations done and is equivalent except for
rounding

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-22 02:00:57 +02:00
Michael Niedermayer
1c495b0bf6 avcodec/jpeg2000: Move gainb handling into the quantization code
thats how the specification defines it, this also improves numerical
accuracy of the integer wavelet implementation. It otherwise should
be equivalent, in case of overflows this can be reverted.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-22 01:36:05 +02:00
Michael Niedermayer
3bcf61f495 avcodec/jpeg2000dwt: Fix value of F_LFTG_X and I_LFTG_X
Even if the jpeg2000 spec uses a wrong value this does not
make mathematics work this way, also this has been corrected in the 2004
version AFAIK

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 19:25:35 +02:00
Michael Niedermayer
75651cd63f avcodec/jpeg2000dwt: Fix order of operations in integer decomposition wavelets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-20 00:53:56 +02:00
Michael Niedermayer
7e2bdea764 avcodec/j2kenc: Use JP2 format by default
Without the JP2 fields its not possible to identify the colorspace

Fixes Ticket538

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-19 21:56:57 +02:00
Michael Niedermayer
4624656797 avcodec/j2kenc: Properly flush the end of the truncated AC stream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-17 20:39:03 +02:00
Michael Niedermayer
7c3f7e6ed1 avcodec/jpeg2000dwt: Support 9/7 singularity cases on the encoder side
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-17 15:24:14 +02:00
Michael Niedermayer
9841024402 avcodec/jpeg2000dwt: More special cases to handle singularities in 9/7 decode
Fixes Ticket4634

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-17 15:07:50 +02:00
Michael Niedermayer
7c9fcdfabd avcodec/jpeg2000dec: Fix some 5/3 bitexactness issues
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 02:17:53 +02:00
Michael Niedermayer
729108515d avcodec/snowenc: set dia_size for the first pass of motion estimation too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 14:19:56 +02:00
Michael Niedermayer
58201c6e9e avcodec/snowenc: correct fullpel search pattern
No real difference in quality, its a bit slower for the same dia_size as more
vectors are searched for the same dia_size

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 02:38:05 +02:00
Michael Niedermayer
db6d0a5bd2 avcodec/snowenc: Fix used reference MV in fullpel iterative ME
This very very slightly improves quality, no measurable speed change

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 01:05:42 +02:00
Michael Niedermayer
4b8a819496 avcodec/ffv1enc: set bits_per_raw_sample for 8bit based formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-26 21:23:14 +02:00
James Almer
d7f62f033c fate: add cinepak encoder vsynth tests
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 04:44:45 +02:00
Michael Niedermayer
adfde9a646 avformat/avienc: Fix wrongly placed comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 17:30:28 +01:00
Kevin Wheatley
31c7c0e156 avformat/movenc: Move avid DNxHD padding to the correct spot
Outputting DNxHD into .mov containers 'corrupts' following atoms until end of stsd

ffmpeg and qtdump could not decode pasp/colr atoms in the files made by ffmpeg,
when outputting DNxHD due to the incorrect padding placement. Now we add the
padding in the correct place

Tidy up FATE changes due to padding changes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 12:17:14 +01:00
Michael Niedermayer
7d24ccaf00 fate: mjpeg trellis test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 22:44:06 +01:00
Kevin Wheatley
7fc33dca39 libavformat: DNxHD in .mov, switch unspecified color_range to mpeg
Avid prefers mpeg range [16-235] by default this change brings
ffmpeg into line with that. To obtain the old behaviour use
'-color_range jpeg' on the command line prior to the ouput
filename.

Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 16:46:12 +01:00
Carl Eugen Hoyos
3ea97767e4 Add an ARES atom to extradata when encoding avui.
Allows playback with QuickTime and the original codec.

Tested by Olaf Matthes, olaf matthes gmx de
2015-01-29 01:07:08 +01:00
Michael Niedermayer
aa508a9c5f fate: Fix bitexactness for vsynth3-dnxhd-1080i-colr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 03:45:14 +01:00
Kevin Wheatley
7b6f419176 avformat/movenc: Add simplistic 'colr' tag writing support to mov container
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 17:49:50 +01:00
Michael Niedermayer
42801505cd tests: Add vsynth2 which uses the new reference.pnm
The file is already present in git and by using it we can perform more tests
without the need of fate samples

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 03:39:56 +01:00
Michael Niedermayer
ed49b142bb tests: Rename vsynth2 to vsynth_lena
This avoids confusion with a growing number of vsynth tests

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 03:02:30 +01:00
Kieran Kunhya
36091742d1 v210enc: Add SIMD optimised 8-bit and 10-bit encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 20:30:47 +01:00
Reimar Döffinger
6369a7b742 xface: Fix encoder crashes due to too small on-stack array.
Also add a FATE test.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-23 06:51:18 +01:00
Christophe Gisquet
1086f09da3 dv: more precise weight table for 8x8
It is derived from the actual equations of the specs. In
particular, it is closer to the inverse of what the encoder uses.

fate tests accordingly updated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 19:01:45 +02:00
Michael Niedermayer
b0f7de3e7c avcodec/asvenc: fix AAN scaling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 17:04:02 +02:00
Christophe Gisquet
f75baa6c9b huffyuvdec: decode the last odd sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 23:24:07 +02:00
Christophe Gisquet
6ee7681723 huffyuvenc: write last odd sample
If width is odd, last sample wouldn't be written.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 23:12:30 +02:00
Christophe Gisquet
50a35f0d2e fate: add test for old (v1) huffyuv and rgba
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 02:20:07 +02:00
Eric Lasota
8be23d424f avcodec/roqvideo: use JPEG color range
Signed-off-by: ejlasota <ejlasota@gmail.com>

Also update fate test checksums
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 23:34:58 +02:00
Christophe Gisquet
e7fc5d53a0 huffyuv: change statistics initialization
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>
2014-06-19 06:03:51 +02:00
Christophe Gisquet
02bffc560f huffyuv: fate: add a BGR24 test
It was previously untested.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 00:38:03 +02:00
Michael Niedermayer
60ab6e2457 avcodec/mpegvideo_enc: fix padding for odd dimensions and interlaced video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 05:02:46 +02:00
Michael Niedermayer
43d995e865 fate: Disable qtrlegray 34x34 test
The encoder lacks support for width % 4 != 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 04:01:49 +02:00
Christophe Gisquet
8d02a55b1b tests: add a third, 34x34, target
This should exercise the corner cases of numerous codecs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 20:24:49 +02:00
Michael Niedermayer
3b42a8e439 avcodec/mpeg12enc: store sequence display extension only if we have something to store in it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 22:54:22 +02:00
Michael Niedermayer
5163fb9446 Merge commit '8a06794112d02a5707f766b8b38a5d50dfd03898'
* commit '8a06794112d02a5707f766b8b38a5d50dfd03898':
  mpeg2: add sequence display extension information

Conflicts:
	libavcodec/mpeg12enc.c
	tests/ref/lavf/gxf
	tests/ref/lavf/mxf
	tests/ref/lavf/mxf_d10
	tests/ref/lavf/ts
	tests/ref/seek/lavf-gxf
	tests/ref/seek/lavf-mxf
	tests/ref/seek/lavf-ts
	tests/ref/seek/vsynth2-mpeg2-422
	tests/ref/seek/vsynth2-mpeg2-idct-int
	tests/ref/seek/vsynth2-mpeg2-ilace
	tests/ref/seek/vsynth2-mpeg2-ivlc-qprd
	tests/ref/seek/vsynth2-mpeg2-thread
	tests/ref/seek/vsynth2-mpeg2-thread-ivlc
	tests/ref/vsynth/vsynth1-mpeg2
	tests/ref/vsynth/vsynth1-mpeg2-422
	tests/ref/vsynth/vsynth1-mpeg2-idct-int
	tests/ref/vsynth/vsynth1-mpeg2-ilace
	tests/ref/vsynth/vsynth1-mpeg2-ivlc-qprd
	tests/ref/vsynth/vsynth1-mpeg2-thread
	tests/ref/vsynth/vsynth1-mpeg2-thread-ivlc
	tests/ref/vsynth/vsynth2-mpeg2
	tests/ref/vsynth/vsynth2-mpeg2-422
	tests/ref/vsynth/vsynth2-mpeg2-idct-int
	tests/ref/vsynth/vsynth2-mpeg2-ilace
	tests/ref/vsynth/vsynth2-mpeg2-ivlc-qprd
	tests/ref/vsynth/vsynth2-mpeg2-thread
	tests/ref/vsynth/vsynth2-mpeg2-thread-ivlc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 22:36:07 +02:00
Marc-Antoine Arnaud
8a06794112 mpeg2: add sequence display extension information
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:38:10 +01:00
Timothy Gu
bfb4882345 tests: Add MPEG4 nsse test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 15:43:04 +02:00
Anton Khirnov
43e7f0797f flvenc: only write the framerate tag based on avg_frame_rate
Do not fall back on the codec timebase, since that can be anything for
VFR video.
2014-05-29 08:01:30 +02:00
Carl Eugen Hoyos
e705d0ce1c Set dwSuggestBufferSize to largest chunk size for every stream in avi.
Fixes playback with WMP 9 for files with large (rawvideo) frames
as explained in ticket #2145.

Fixes ticket #2818.
2014-05-19 00:05:40 +02:00
Michael Niedermayer
0c152fe916 ffmpeg: prefix encoder with "Lavc " in bitexact mode
This avoids misleading encoder names like "encoder = prores"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 22:57:20 +02:00
Marton Balint
a0cf87780d mpeg12enc: always set closed gop flag on the first gop
Improves compatibility with XDCAM HD formats. It has been set for a long time
in ffmbc.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-04-01 20:52:37 +02:00
Michael Niedermayer
a17ee4117d avformat/movenc: only ommit encoder tag of the metadata for bitexact mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 16:26:35 +01:00
Michael Niedermayer
bc11b2c3e6 fate: add test for 16bps ffvhuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-26 04:51:38 +01:00
Michael Niedermayer
13e0109a5f fate: add a few tests for >8bpc ffvhuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 03:20:39 +01:00
Michael Niedermayer
4b0cad6596 avcodec/simple_idct_template: fix rounding of the special DC case for 10bit
MSE doesnt change for the test as the code only triggers
for very sparse matrixes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 15:58:59 +01:00
Michael Niedermayer
a7ea733b72 avcodec/simple_idct_template: fix row rounder
MSE changes from 0.04890000 to 0.02969844

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 15:58:59 +01:00