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
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>
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
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>
vidc: venc: Remove check for allocation of sequence buffer size.

Firmware requires non-zero sequence buffer size for H.263.

Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
vidc: vdec: Update firmware memory size.

Firmware releases dated 07/30/11 and later require
800KB of firmware global context space.

Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
vidc: vdec: Copy the End of Sequence flag

To get End of Sequence flag in the output buffer
from the video driver, we need to copy the end of
sequence flag from the input buffer to the output
buffer in the driver. Added these changes as
needed for ISDB-Tmm EoSeq feature.

Signed-off-by: Rajeshwar Kurapaty <rkurapat@codeaurora.org>
vidc: venc: Return the correct error code for IOCTL.

When ioctl fails for VEN_IOCTL_CMD_READ_NEXT_MSG
send the correct return value to userspace.

CRs-fixed: 310431
Signed-off-by: Deepak Kotur <dkotur@codeaurora.org>
msm: vidc: Fix to handle VOL header errors.

VOL header errors trigger reconfig in the driver. Driver tries to
handle the reconfig but the core returns incorrect status causing
a hang. Fix will set the flag appropriately for the core to know
that the driver is handling reconfig and thereby return the right
status.

CRs-Fixed: 299978
Signed-off-by: Deepika Pepakayala <deepikap@codeaurora.org>
msm: vidc: Increase the decoder input buffer size.

Increase the decoder input buffer size to 2MB to be able to handle
input frames greater than 1 MB.

CRs-Fixed: 306909
Signed-off-by: Deepika Pepakayala <deepikap@codeaurora.org>
vidc: 1080p: Recovery point SEI support for ISDB-Tmm

Enable Recovery point SEI parsing in the core for H264.
Core notifies the Decoded YUV correctness in the output
done callback for both decode and display order types.
Parse this information and notify the user space with
VCD_FRAME_FLAG_DATACORRUPT if the data is corrupt.

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