Fix OMX venc

Why did HTC change this?

Conflicts:

	include/linux/msm_vidc_enc.h
msm: Add indicator for full HD playback support

Add variable to check if fullHD playback can be
disabled in video driver for specific targets.

Change-Id: I8b73aa03dcf0a9a5fab426e4ba52a542c2265cf2
Signed-off-by: Rajeshwar Kurapaty <rkurapat@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/devices-8960.c
msm: vidc: Import video/msm/vidc from CAF at initial contribution to 3.0

Import vidc at initial contribution to CAF msm-3.0 so we can apply vidc
patches that are required.
Imported ID: 3f2bc4d6eb5a4fada842462ba22bb6bbb41d00c7
vidc: Map video driver allocated buffers to video smmu

video driver will use the new msm mapped buffer
api's to get kernel virtual and device virtual
address.This change will replace ioremap calls
with new api's.

Signed-off-by: Gopikrishnaiah Anandan <gopikr@codeaurora.org>
vidc: 1080p: Allocate firmware buffer in driver init.

Video core has requirement that firmware buffer address
should be a lesser value than the all other video buffers.
Hence moving allocation to driver init function to
satisfy this requirement.

Signed-off-by: Gopikrishnaiah Anandan <gopikr@codeaurora.org>
msm: Remove last references to NPA-related code for AXI rate management

The NPA driver was removed some time ago, but wrapper code
and some of its driver hooks persisted in the tree, despite
not being compiled (or even compilable). Remove these now.

Signed-off-by: Matt Wagantall <mattw@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/board-msm7x30.c
	arch/arm/mach-msm/include/mach/msm_reqs.h
	drivers/media/video/msm/msm_gemini_platform.c
	drivers/media/video/msm/msm_io_vfe31.c
	drivers/media/video/msm/msm_vfe32.c
	drivers/media/video/msm/msm_vfe_8x60_ZSL.c
	drivers/media/video/msm/msm_vpe1_8x60.c
	drivers/video/msm/lcdc.c
	drivers/video/msm/tvenc.c
vidc: 1080p: Removed check for comparing DPB Size

For best effort decoding we don't need to compare
the available DPB size with the decoded size and
throw error. So, removed the check that compares
them.

CRs-Fixed: 296211
Signed-off-by: Rajeshwar Kurapaty <rkurapat@codeaurora.org>
vidc: Stop using vcodec_axi_a_clk and vcodec_axi_b_clk directly

These two clock are now implicityly enabled and disabled as
dependencies of vcodec_clk (as was already the case for
vcodec_axi_clk).

Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
vidc: add change to print MFC firmware version

CRs-Fixed: 296531
Signed-off-by: Ananda Kishore <kananda@codeaurora.org>
msm: vidc: Set Y and C size registers to allocated size.

Currently the Y and C sizes are set based on the
size of video being decoded. In case of smooth
streaming, decoded sizes are not the same as allocated
sizes. This change will set the Y and C sizes to
allocated sizes.

Signed-off-by: Deepika Pepakayala <deepikap@codeaurora.org>
vidc: vdec: Pass alignment flag to mapping api's.

Mapping api by default assumes 4K alignment.
Video core requires output buffer to be aligned
to 8K.This change will pass aligment information to
the mapper API.

Signed-off-by: Gopikrishnaiah Anandan <gopikr@codeaurora.org>

Conflicts:

	drivers/video/msm/vidc/common/init/vidc_init.c
vidc: vdec: Report bitstream errors to driver client.

When video core generates recoverable bitstream errors,
driver will report them to upper layer.

CRs-fixed: 290659
Signed-off-by: Gopikrishnaiah Anandan <gopikr@codeaurora.org>
vidc: 1080p: Set chroma address change in smooth streaming mode

If resolution change is detected in smooth streaming mode and
status indicates that video core can continue decoding, update
chroma address for new resolution instead of starting frame
realloc.

Signed-off-by: Pradnya Chaphekar <pradnyac@codeaurora.org>
vidc: vdec: Report dropped field for interlace clips.

For field based interlace clips, video core will generate
an error when one of field is missing in bitstream.
Driver will report this to upper layer, so that it can
take appropriate action.

CRs-fixed: 290659
Signed-off-by: Gopikrishnaiah Anandan <gopikr@codeaurora.org>
vidc: 720p: Add IDR Frame type support for H264 format

Read IDR frame type from 720p core register set and
propagate it to user space using new IDR frame type
enumeration added in api header file. The IDR frame
type info is used in SYNCFRAME logic for H264 format
in userspace.

CRs-Fixed: 296738
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
vidc: vdec: Set correct divx codec type.

Added support in video driver to configure divx codecs 4/5/6.

Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
CRs-fixed: 297558
vdec: 720p: deblocking filter enabled for Divx and XVID

Default deblocking filter is enabled for Divx 4,5,6 and XVID.

Signed-off-by: Ananda Kishore <kananda@codeaurora.org>
vidc: 720p: Memset MPEG-4 recon buffers to black

In the case of MPEG-4 decoding with clips which have
initial frames starting with P-VOPs, green macroblocks
are seen. This is because of recon buffers used for
MPEG-4 have 0 preset values. The default values are
changed to 0x10 & 0x80 for luma and chroma to get
default color as black.

CRs-Fixed: 303298
Signed-off-by: Rajeshwar Kurapaty <rkurapat@codeaurora.org>
vidc: 720p: Handle profile unknown as bitstream error.

For corrupted VOL header in the middle of playback
core is returning UNKNOWN PROFILE error and is being
treated as Fatal error and playback is getting aborted.
Now handling it as sequence header fail/recoverable
error.

CRs-Fixed: 302549
Signed-off-by: Rajeshwar Kurapaty <rkurapat@codeaurora.org>
vidc: 1080p: Override SP profile to ASP for MPEG4 decoding.

Always set profile to ASP for MPEG4 decoding. Core will
ignore the profile information from the sequence header
and continue to decode with profile set by driver.

Signed-off-by: Gopikrishnaiah Anandan <gopikr@codeaurora.org>