Commit Graph

61610 Commits

Author SHA1 Message Date
Tim Walker
34bbc81de8 lavf: simplify ff_hevc_annexb2mp4_buf
Use ff_hevc_annexb2mp4 instead of duplicating
its functionality, and update the documentation
to match the new behavior.
2014-03-10 18:02:36 +01:00
Carl Eugen Hoyos
5968415156 Define ff_log2_run[] in libavcodec/internal.h.
This avoids defining the array with different sizes in
different source files.
2014-03-10 13:37:12 +01:00
Carl Eugen Hoyos
d68ac92dc2 Replace an incorrect av_free() in movenc.c with av_freep(). 2014-03-10 13:30:51 +01:00
Michael Niedermayer
27b4d154ca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Work around broken floating point limits on some systems.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 12:05:02 +01:00
Michael Niedermayer
4c63beeefe Merge commit '8cafeb8bca5d079041739dbd72ccec0ead138eaf'
* commit '8cafeb8bca5d079041739dbd72ccec0ead138eaf':
  mxfdec: Validate parameters to strftime

Conflicts:
	libavformat/mxfdec.c

See: 423089e964
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 11:51:40 +01:00
Luca Barbato
4a8562394b configure: Use the right pkgconf file for openjpeg
The current release of version 1 uses libopenjpeg1.
2014-03-10 11:48:04 +01:00
Luca Barbato
ee17be3fdd hevc: Use get_se_golomb_long
Do not use inline functions that refer to tables present in other
libraries.
2014-03-10 10:59:48 +01:00
Luca Barbato
5eacbb5328 golomb: Add a get_se_golomb_long
Useful in libavformat mostly.
2014-03-10 10:58:37 +01:00
Anton Khirnov
e854b8f9f4 Work around broken floating point limits on some systems.
The values of {FLT,DBL}_{MAX,MIN} macros on some systems (older musl
libc, some BSD flavours) are not exactly representable, i.e.
(double)DBL_MAX == DBL_MAX is false
This violates (at least some interpretations of) the C99 standard and
breaks code (e.g. in vf_fps) like
double f = DBL_MAX;
[...]
if (f == DBL_MAX) { // f has not been changed yet
    [....]
}
2014-03-10 10:27:17 +01:00
Martin Storsjö
8cafeb8bca mxfdec: Validate parameters to strftime
The MSVCRT version of strftime calls the invalid parameter handler
if the struct values in struct tm are invalid. In case no invalid
parameter handler is set for the process, the process is aborted.

This fixes fate failures on MSVC builds since 570af382.

Based on a patch by Hendrik Leppkes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-10 11:11:08 +02:00
Timothy Gu
53eb4e0799 Add fieldmatch test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 02:59:01 +01:00
Michael Niedermayer
fb0023639e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  matroskaenc: enable Annex B to MP4 conversion for HEVC tracks.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:41:02 +01:00
Michael Niedermayer
38aee6408a Merge commit 'a823d0948683bd97dd58556b5740e434166209a8'
* commit 'a823d0948683bd97dd58556b5740e434166209a8':
  matroskaenc: write private data in hvcC format for HEVC.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:34:17 +01:00
Michael Niedermayer
88c8e4afea avformat/hevc: fix mix of av_malloc() with free()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:27:31 +01:00
Michael Niedermayer
9563e67e07 Merge commit '4f3db5d3418a24f3b90422e98ad75388052c4284'
* commit '4f3db5d3418a24f3b90422e98ad75388052c4284':
  movenc: allow muxing HEVC in MODE_MP4.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:13:37 +01:00
Michael Niedermayer
5d5e2bd862 avformat/hevc: Make return codes consistent and more flexible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:12:45 +01:00
Michael Niedermayer
a379813cee Merge commit 'b6c61fb83e876d404ac3b0b3657ebfcafdcd1926'
* commit 'b6c61fb83e876d404ac3b0b3657ebfcafdcd1926':
  movenc: enable Annex B to MP4 conversion for HEVC tracks.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:08:33 +01:00
Michael Niedermayer
cb403b2570 avformat: fix hevcs use of golomb from avformat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:59:46 +01:00
Michael Niedermayer
1b1d77ae9b Merge commit '20b40a597cdd4969cf1147d7c7efee2b6232524b'
* commit '20b40a597cdd4969cf1147d7c7efee2b6232524b':
  movenc: write hvcC tag for HEVC.

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:48:08 +01:00
Michael Niedermayer
ce1ad8d775 Merge commit '1d9014f0b008485eac4c19d5f5e11ede59237167'
* commit '1d9014f0b008485eac4c19d5f5e11ede59237167':
  movenc: use 'hev1' tag for HEVC in MODE_MOV.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:31:55 +01:00
Michael Niedermayer
7a69ffaf0d Merge commit '3e0175d89a6c5ee8393ae05e1b40abdca1204919'
* commit '3e0175d89a6c5ee8393ae05e1b40abdca1204919':
  riff: add VP9 fourcc

See: eb7f7b797f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:30:58 +01:00
Michael Niedermayer
4aa48e467b Merge commit 'fb0a988f94c3b8907610172295a7f6bf78c57105'
* commit 'fb0a988f94c3b8907610172295a7f6bf78c57105':
  riff: IPJ2 decodes with JPEG2000 decoder

See: b18c27def8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:29:17 +01:00
Michael Niedermayer
0cf6b3b5b7 Merge commit '9e71cc81f3655cacf0f91860fba3043f13b64059'
* commit '9e71cc81f3655cacf0f91860fba3043f13b64059':
  movdec: handle 0x7fff langcode as macintosh per the specs

See: e636aa1a56
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:27:37 +01:00
Michael Niedermayer
858d9947e4 Merge commit '8a0bc40545a216a49f43db5d9a42a63961333354'
* commit '8a0bc40545a216a49f43db5d9a42a63961333354':
  libspeex: support ZygoAudio (quality 10 mode)

Conflicts:
	libavformat/isom.c

See: e26b066cd8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:25:41 +01:00
Michael Niedermayer
9f71e5d39e Merge commit '360022bd3b894cc01ea112b275fa4c8f53881808'
* commit '360022bd3b894cc01ea112b275fa4c8f53881808':
  isom: lpcm in mov default to big endian

See: 8b3964ecd1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:23:55 +01:00
Michael Niedermayer
c68e53f272 Merge commit 'db32f14c3dfd75290b57a086183d6577457beac4'
* commit 'db32f14c3dfd75290b57a086183d6577457beac4':
  isom: add "MNG" FourCC

See: 8d0ec6e060
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:22:23 +01:00
Michael Niedermayer
76367f453f Merge commit '073cd30fb4dc1c2a885c62540e3cfaac1f17c21b'
* commit '073cd30fb4dc1c2a885c62540e3cfaac1f17c21b':
  isom: Support MPEG-2 video mov files from FPC5

See: 0aded6bf02
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:21:12 +01:00
Michael Niedermayer
d32245e5b1 Merge commit '31e558fbcfec8fa9fddf564ab8360384706e41c0'
* commit '31e558fbcfec8fa9fddf564ab8360384706e41c0':
  isom: add "NO16" FourCC

Conflicts:
	libavformat/isom.c

See: 96e2507363
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:15:32 +01:00
Michael Niedermayer
2030b3a4ab Merge commit '6509012398435252979e149ea4a73438d2107600'
* commit '6509012398435252979e149ea4a73438d2107600':
  isom: add Radius DV YUV FourCCs

See: a489db6cde
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:14:02 +01:00
Michael Niedermayer
6783b3eb76 avformat/isom: remove duplicated line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:12:37 +01:00
Michael Niedermayer
2f41b18696 Merge commit 'eeae858596a5ce5a84797283f590a16add5704f4'
* commit 'eeae858596a5ce5a84797283f590a16add5704f4':
  isom: Support Sony XAVC in mov

See: 5b9f39860d
See: 6e65e34837
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:11:08 +01:00
Michael Niedermayer
8a5397d88b Merge commit 'c09804684a47e6572ee82ded5d84c8b282815da6'
* commit 'c09804684a47e6572ee82ded5d84c8b282815da6':
  isom: add xd51 hdcam

See: 4110828e15
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:06:35 +01:00
Michael Niedermayer
eaaa5801ef Merge commit '4d33873c2990b8d6096f60fef384f0efc4482b55'
* commit '4d33873c2990b8d6096f60fef384f0efc4482b55':
  hevc: make pps/sps ids unsigned where necessary

Conflicts:
	libavcodec/hevc.h
	libavcodec/hevc_ps.c

See: d1e6602665
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 21:44:40 +01:00
Michael Niedermayer
06219db935 Merge commit 'ed06e5d92b4c67b49068d538461fbbe0a53a8c5e'
* commit 'ed06e5d92b4c67b49068d538461fbbe0a53a8c5e':
  hevc: Do not turn 32bit timebases into negative numbers

Conflicts:
	libavcodec/hevc.c

See: bf2ce19e51
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 21:16:33 +01:00
Michael Niedermayer
26568c04a8 Merge commit '6cc94e971933cd38c452172bb048bf760e65cc3e'
* commit '6cc94e971933cd38c452172bb048bf760e65cc3e':
  hevc: use av_mallocz() for allocating tab_ipm

See: 0999f1613b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 21:13:30 +01:00
Michael Niedermayer
e15a57b67a Merge commit '920c01adce6c273fc043513ff237a6266e612152'
* commit '920c01adce6c273fc043513ff237a6266e612152':
  hevc: Use get_bits_long() in decode_vui()

See: b818637b84
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 20:57:02 +01:00
Tim Walker
558b20d729 matroskaenc: enable Annex B to MP4 conversion for HEVC tracks. 2014-03-09 18:09:40 +01:00
Tim Walker
a823d09486 matroskaenc: write private data in hvcC format for HEVC. 2014-03-09 18:09:40 +01:00
Tim Walker
4f3db5d341 movenc: allow muxing HEVC in MODE_MP4. 2014-03-09 18:09:40 +01:00
Tim Walker
b6c61fb83e movenc: enable Annex B to MP4 conversion for HEVC tracks. 2014-03-09 18:09:40 +01:00
Tim Walker
20b40a597c movenc: write hvcC tag for HEVC. 2014-03-09 18:09:40 +01:00
Tim Walker
1d9014f0b0 movenc: use 'hev1' tag for HEVC in MODE_MOV.
'hvc1' requires that parameter set NAL units be
present only in the samples entry, but not in the
samples themselves, requiring that additional
parameter sets, if present, be filtered out of the
samples and placed in new, additional sample entries
if they override or otherwise conflict with the
parameter sets present in the first sample entry.
We do not have any way of doing this at present, so
the files we produce can only comply with the
restrictions set for the 'hev1' sample entry name in
ISO/IEC 14496-15.
2014-03-09 18:09:40 +01:00
James Zern
3e0175d89a riff: add VP9 fourcc 2014-03-09 18:09:39 +01:00
Ben Littler
fb0a988f94 riff: IPJ2 decodes with JPEG2000 decoder
Samples can be made from mencoder and jp2avi.dll codec.
2014-03-09 18:09:39 +01:00
Baptiste Coudurier
9e71cc81f3 movdec: handle 0x7fff langcode as macintosh per the specs
The correct point that seperates ISO and MAC language codes is 0x400
according to the current QT spec. Old QT specs did not list where this
seperation is but apparently only defined the meaning of the first 137.
2014-03-09 18:09:39 +01:00
Piotr Bandurski
8a0bc40545 libspeex: support ZygoAudio (quality 10 mode) 2014-03-09 18:09:39 +01:00
Mark Himsley
360022bd3b isom: lpcm in mov default to big endian
It is my understanding that "Unless otherwise stated, all data in a
QuickTime movie is stored in big-endian byte ordering" [1] in MOV files.

I have a couple of thousand files, which technically are invalid because
their sound sample description element 4CC is 'lpcm' but its version is
0 - and "Version 0 supports only uncompressed audio in raw ('raw ') or
twos-complement ('twos') format" [2]

Because isom.c only contains a mapping for 4CC 'lpcm' to
AV_CODEC_ID_PCM_S16LE, these files have their audio decoded as LE when
it is actually BE.

This commit adds AV_CODEC_ID_PCM_S16BE as the first match for 4CC 'lpcm'.

[1]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 21
[2]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 178

Reviewed-by: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
2014-03-09 18:09:39 +01:00
Piotr Bandurski
db32f14c3d isom: add "MNG" FourCC 2014-03-09 18:09:39 +01:00
Carl Eugen Hoyos
073cd30fb4 isom: Support MPEG-2 video mov files from FPC5 2014-03-09 18:09:39 +01:00
Piotr Bandurski
31e558fbcf isom: add "NO16" FourCC 2014-03-09 18:09:39 +01:00