media: platform: msm: dvb: video frame event notification changes

video frame event notification is changed so that events will be raised
for all frames both predicted and non predicted frames and invalidate
pts and dts values for predicted frames. This change is specific to
IoT targets in which only non predicted frames will be decoded
and rendered for performance improvement.

CR's-Fixed: 2005724
Change-Id: I08f648a89eb043938fcc7d3d81e83c3599a2f160
Signed-off-by: Udaya Bhaskara Reddy Mallavarapu <udaym@codeaurora.org>
This commit is contained in:
Udaya Bhaskara Reddy Mallavarapu 2017-03-15 23:29:09 +05:30
parent 6f55033ecf
commit 5693233c0f

View file

@ -3969,6 +3969,18 @@ static int mpq_dmx_process_video_packet_framing(
mpq_dmx_update_decoder_stat(mpq_feed);
if (video_b_frame_events == 1) {
if (non_predicted_video_frame == 0) {
struct dmx_pts_dts_info *pts_dts;
pts_dts =
&meta_data.info.framing.pts_dts_info;
pts_dts->pts_exist = 0;
pts_dts->pts = 0;
pts_dts->dts_exist = 0;
pts_dts->dts = 0;
}
}
/*
* Write meta-data that includes the framing information
*/
@ -3986,14 +3998,7 @@ static int mpq_dmx_process_video_packet_framing(
stream_buffer, &data, ret);
/* Trigger ES Data Event for VPTS */
if (video_b_frame_events == 1) {
if (non_predicted_video_frame == 1)
feed->data_ready_cb.ts
(&feed->feed.ts, &data);
} else {
feed->data_ready_cb.ts(&feed->feed.ts,
&data);
}
feed->data_ready_cb.ts(&feed->feed.ts, &data);
if (feed_data->video_buffer->mode ==
MPQ_STREAMBUFFER_BUFFER_MODE_LINEAR)