Commit Graph

78 Commits

Author SHA1 Message Date
Guillaume Martres
67bbaed5c4 hevc: don't check for errors in PTL code
According to the spec, the value of XXX_reserved_zero_44bits should be
ignored, so don't report an error when it's not zero.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:36:44 +01:00
Guillaume Martres
ecb21d2437 hevc: rename ptl structs and variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 03:01:56 +01:00
Guillaume Martres
dddc9b7a8e hevc: don't check for errors in PTL code
The value of XXX_reserved_zero_44bits should be ignored, no need to
report an error when it's not zero.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 03:01:35 +01:00
Guillaume Martres
c6afd0aacc hevc: fix PTL parsing
This was broken in commit 36658c978f

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 03:01:22 +01:00
Michael Niedermayer
12a4042445 Merge commit '33452aede6acab78f726cd1924824585f00765cc'
* commit '33452aede6acab78f726cd1924824585f00765cc':
  hevc: store the VPS list as an AVBufferRef, just like the others *PS

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

See: 36658c978f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:08:45 +01:00
Gildas Cocherel
33452aede6 hevc: store the VPS list as an AVBufferRef, just like the others *PS
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Guillaume Martres
f90281ca97 hevc: Correctly set time_base
- Try reading the time_base information from the VPS too, not just the VUI
- Only set time_base when an SPS is activated, not when it's decoded.
- Reduce the fraction before setting it.
- Don't set anything if the fraction is invalid (because the VUI is not
  present or because the encoded value is invalid).

Conflicts:
	libavcodec/hevc_ps.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 16:20:53 +01:00
Guillaume Martres
679a6377e4 hevc: avoid some unnecessary differences with libav
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 16:20:48 +01:00
gcocherel
36658c978f hevc : update hevc_ps.c
(cherry picked from commit 088f2eb1ae42bffc63c2cee4e7eba8f47056043b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 01:29:02 +01:00
Michael Niedermayer
2865c1b905 Merge commit '3ef9b7ab95cc703b67a8b658dca45c80df0aaa66'
* commit '3ef9b7ab95cc703b67a8b658dca45c80df0aaa66':
  hevc_ps: Use AV_PIX_FMT_YUVJ420P if YUV 4:2:0 8-bit full scale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 21:43:27 +01:00
Michael Niedermayer
b906d04881 Merge commit '885ec9242554ad25922258a595ec5e317922a412'
* commit '885ec9242554ad25922258a595ec5e317922a412':
  hevc: Use parsed VUI colorimetry in avcodec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 21:37:34 +01:00
Yusuke Nakamura
3ef9b7ab95 hevc_ps: Use AV_PIX_FMT_YUVJ420P if YUV 4:2:0 8-bit full scale
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2013-11-04 16:19:53 +01:00
Jan Ekström
885ec92425 hevc: Use parsed VUI colorimetry in avcodec
Also limit the parsed VUI values to known valid ones.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2013-11-04 16:03:11 +01:00
Michael Niedermayer
b23692b3a8 libavcodec/hevc: reduce whitespace differences to 064698d381
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 14:10:21 +01:00
Michael Niedermayer
ce7f1c76bd avcodec/hevc: more whitespaces to reduce difference to 064698d381
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 12:33:54 +01:00
Michael Niedermayer
f578e5d937 avcodec/hevc: Adjust white-spaces to reduce difference to 064698d381
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 00:44:54 +01:00
Michael Niedermayer
5eb1704d5f Merge commit '064698d381e1e7790f21b0199a8930ea04e2e942'
* commit '064698d381e1e7790f21b0199a8930ea04e2e942':
  Add HEVC decoder

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/hevc.c
	libavcodec/hevc.h
	libavcodec/hevc_cabac.c
	libavcodec/hevc_filter.c
	libavcodec/hevc_mvs.c
	libavcodec/hevc_parser.c
	libavcodec/hevc_ps.c
	libavcodec/hevc_refs.c
	libavcodec/hevc_sei.c
	libavcodec/hevcdsp.c
	libavcodec/hevcdsp_template.c
	libavcodec/hevcpred.c
	libavcodec/hevcpred_template.c
	libavcodec/version.h

cosmetics from hevc.h & hevc_ps.c mostly merged, other files left as they where in ffmpeg.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 17:13:00 +01:00
Guillaume Martres
064698d381 Add HEVC decoder
Initially written by Guillaume Martres <smarter@ubuntu.com> as a GSoC
project. Further contributions by the OpenHEVC project and other
developers, namely:

Mickaël Raulet <mraulet@insa-rennes.fr>
Seppo Tomperi <seppo.tomperi@vtt.fi>
Gildas Cocherel <gildas.cocherel@laposte.net>
Khaled Jerbi <khaled_jerbi@yahoo.fr>
Wassim Hamidouche <wassim.hamidouche@insa-rennes.fr>
Vittorio Giovara <vittorio.giovara@gmail.com>
Jan Ekström <jeebjp@gmail.com>
Anton Khirnov <anton@khirnov.net>
Martin Storsjö <martin@martin.st>
Luca Barbato <lu_zero@gentoo.org>
Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diego Biurrun <diego@biurrun.de>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:19:59 +01:00
Mickaël Raulet
a21839149c hevc: add profile idc warning
(cherry picked from commit 15f7a481fd19529b13631bfff5b3d65bfe5729d5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 10:37:11 +01:00
Mickaël Raulet
0ddd3c5ba6 hevc: add decode hrd
(cherry picked from commit ab4061dff796b1dd2bc884101226aab48c2c875e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:50:35 +01:00
Mickaël Raulet
2707cca78f hevc: cosmetic change(cherry picked from commit 3b57513b3f39c04337801fb9d159c7ca8dfa9deb)
Decreases the difference to Anton Khirnovs patch v5

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:48:11 +01:00
Mickaël Raulet
3c3ece24ea hevc : cosmetic changes(cherry picked from commit 7308c0ccf13f18cebe4851e6dcd6b5c0b09be1dd)
Decreases the difference to Anton Khirnovs patch v5

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:45:34 +01:00
Mickaël Raulet
0c8aba3842 hevc: add wavefront parallel processing
cherry picked from commit b971f2c8fdc60f8bab605a6e8060492eb548a53a
cherry picked from commit e57b0a2c915ce6b8a9d57b8292f6581f0680842e

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 20:20:40 +02:00
Reimar Döffinger
c9a22d69af hevc: Initialize sample aspect to valid value.
Without this, it is 0/0 by default, which is not allowed.
This sets it to 0/1, which means "undefined".

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-10-20 12:17:09 +02:00
Mickaël Raulet
a7e300649a hevc: fix pcm with different chroma luma bit widths(cherry picked from commit 6a444516f338424d062c0ef2806714036283603b)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 02:42:11 +02:00
Mickaël Raulet
b494894390 hevc: optimize residual coding(cherry picked from commit 70692a44708157b4dfa50e402e446bfa2b27f55e)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 02:41:51 +02:00
Michael Niedermayer
af980aa4f6 lavc/hevc_ps: fix PIX_FMT enums
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 22:13:02 +02:00
Guillaume Martres
c8dd048ab8 lavc: add a HEVC decoder.
Initially written by Guillaume Martres <smarter@ubuntu.com> as a GSoC
project. Further contributions by the OpenHEVC project and other
developers, namely:

Mickaël Raulet <mraulet@insa-rennes.fr>
Seppo Tomperi <seppo.tomperi@vtt.fi>
Gildas Cocherel <gildas.cocherel@laposte.net>
Khaled Jerbi <khaled_jerbi@yahoo.fr>
Wassim Hamidouche <wassim.hamidouche@insa-rennes.fr>
Vittorio Giovara <vittorio.giovara@gmail.com>
Jan Ekström <jeebjp@gmail.com>
Anton Khirnov <anton@khirnov.net>
Martin Storsjö <martin@martin.st>
Luca Barbato <lu_zero@gentoo.org>
Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 22:13:02 +02:00