hevc: reorder loops

iterate over memory in a more continuous order

Signed-off-by: Anton Khirnov <anton@khirnov.net>
hevc: simplify rounding

Signed-off-by: Anton Khirnov <anton@khirnov.net>
hevc: derive partially amvp list

When the candidate has been found, no need to derive others.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
hevc: derive partial merge list

The merge list only needs to be derived up to the merge index.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
hevc: use intreadwrite

When dealing with MVs, both components may be processed at a time.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
hevc: wait proper position for tmvp

The position is either rounded or not checked, so delay the wait to
check the proper value.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
hevc_mvs: avoid deriving tmvp in amvp

Reduces the number of calls to tmvp derivation from 933685 to 586271 on
a sequence.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
ffv1dec: check that global parameters do not change in version 0/1

Such changes are neither allowed nor supported

Found-by: ami_stuff
Bug-Id: CVE-2013-7020
CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Merge commit 'd1b1c3bb5ef1bee409c06c3bcacfb8674e1cb574'

* commit 'd1b1c3bb5ef1bee409c06c3bcacfb8674e1cb574':
  hevc: reorder loops

Conflicts:
	libavcodec/hevc.c

See: eca1957c4cbee66a0b1f3dcabaffe68d61885f16
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '09182b3224370e1d636631e77f201a8388766bd6'

* commit '09182b3224370e1d636631e77f201a8388766bd6':
  hevc: simplify rounding

Conflicts:
	libavcodec/hevc_mvs.c

See: 2e471e4703ed5aaab6d6b6bf5a3c6895b79f02b4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '3505b19652ea34089a4cd08d4d3358fcc0a3db8b'

* commit '3505b19652ea34089a4cd08d4d3358fcc0a3db8b':
  hevc: derive partially amvp list

Conflicts:
	libavcodec/hevc_mvs.c

See: bbeaae96eb6fc623f6bfd4a0dd2fd06e6b620938
See: 3ad046083119abd3b063964bd79797e9935305e1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'ed53cc217f6a6e4ddb35e3f01a79496091dc82dc'

* commit 'ed53cc217f6a6e4ddb35e3f01a79496091dc82dc':
  hevc: derive partial merge list

Conflicts:
	libavcodec/hevc_mvs.c

See: 4576eff05d94a5e0b853a7a595d31351cc539e7b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'cf6090dc6252f2b276aa4133e3d73a89f4c6046c'

* commit 'cf6090dc6252f2b276aa4133e3d73a89f4c6046c':
  hevc: use intreadwrite

Conflicts:
	libavcodec/hevc_mvs.c

See: 7a4a5515b0ce97f1c4e18ed012cc3f86328dd220
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '14ca0aa69b5d954ce56d0826ab9f1f70e535c92a'

* commit '14ca0aa69b5d954ce56d0826ab9f1f70e535c92a':
  hevc: wait proper position for tmvp

Conflicts:
	libavcodec/hevc_mvs.c

See: ed248e7f70d98abe099392e154d1cdd0f15faa3c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '3187fa14a326908f9471a038e3b5b24c0eaf655e'

* commit '3187fa14a326908f9471a038e3b5b24c0eaf655e':
  hevc_mvs: avoid deriving tmvp in amvp

See: 373677f95816924a3790c174e83ec2e378962c44
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'da7d839a0d3ec40423a665dc85e0cfaed3f92eb8'

* commit 'da7d839a0d3ec40423a665dc85e0cfaed3f92eb8':
  ffv1dec: check that global parameters do not change in version 0/1

Conflicts:
	libavcodec/ffv1dec.c

See: b05cd1ea7e45a836f7f6071a716c38bb30326e0f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
lsws: duplicate ff_log2_tab

libswscale uses the table but wasn't duplicating it like the rest of the libs.
This should fix compilation failures on msvc/icl after lavu stopped exporting
internal functions and tables.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>