videorenderer: CF2 frame advance [1/1]

PD#SWPL-77942

Problem:
add new ioctl
1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER

Solution:
add new ioctl
1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER

Verify:
ar321

Build Tag:
Buildroot_DRM_PatchBuild-1155

Commits:
buildroot/package/amlogic/linuxdrm/media_hal:
version: 3.7.42-gd05cab3(build:1155)
d05cab3 videorenderer: CF2 frame advance [1/1]

Git Hash-Object:
f02d7271f0ffb556e58d5a2b2a2064ae1637bb1d
prebuilt/aarch64.lp64./libmediahal_tsplayer.so
45261c2d56cf70d20a46d7c6c7ae46f35490a6d7
prebuilt/aarch64.lp64./libmediahal_videodec.so
0ce0f0d8babe66cdd68f9e853cff0322768f4778
prebuilt/aarch64.lp64./libmediahal_videorender.so
9051ba920c1641d1a95de82d62cbc8574445325b
prebuilt/aarch64.lp64./videorender_server
d597111d47f43d0638fb70f643cc50bf116a3313
prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
3445526398f7a22556caa56ddac5dfd2f9aa7bf9
prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
16dc13995354545d18889fccb5d91173439e24f9
prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
9a9d82843cf0afa9540216e81e1a1b6438408b24
prebuilt/arm.aapcs-linux.hard/videorender_server
d81e65215af838a95c29547569314aab8cff6c78
prebuilt/noarch/include/render_lib.h
986c171721f8690aae1148669d09e139f140123e
version.txt

Change-Id: Id8ba74bd116838a31baaebc91321f018dfeb8e12
Signed-off-by: DRM Auto Build <tao.guo@amlogic.com>
diff --git a/prebuilt/aarch64.lp64./libmediahal_tsplayer.so b/prebuilt/aarch64.lp64./libmediahal_tsplayer.so
index 9a70e51..f02d727 100644
--- a/prebuilt/aarch64.lp64./libmediahal_tsplayer.so
+++ b/prebuilt/aarch64.lp64./libmediahal_tsplayer.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./libmediahal_videodec.so b/prebuilt/aarch64.lp64./libmediahal_videodec.so
index 0673001..45261c2 100644
--- a/prebuilt/aarch64.lp64./libmediahal_videodec.so
+++ b/prebuilt/aarch64.lp64./libmediahal_videodec.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./libmediahal_videorender.so b/prebuilt/aarch64.lp64./libmediahal_videorender.so
index 2562b7f..0ce0f0d 100644
--- a/prebuilt/aarch64.lp64./libmediahal_videorender.so
+++ b/prebuilt/aarch64.lp64./libmediahal_videorender.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./videorender_server b/prebuilt/aarch64.lp64./videorender_server
index 0863af8..9051ba9 100755
--- a/prebuilt/aarch64.lp64./videorender_server
+++ b/prebuilt/aarch64.lp64./videorender_server
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
index 44566be..d597111 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
index a69e423..3445526 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
index 63dd76a..16dc139 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/videorender_server b/prebuilt/arm.aapcs-linux.hard/videorender_server
index 1ee8177..9a9d828 100755
--- a/prebuilt/arm.aapcs-linux.hard/videorender_server
+++ b/prebuilt/arm.aapcs-linux.hard/videorender_server
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so b/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so
index a21e5eb..104b6c5 100644
--- a/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so
+++ b/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so b/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so
index 71fff41..6d0f44d 100644
--- a/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so
+++ b/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/videorender_server b/prebuilt/arm.aapcs-linux.softfp/videorender_server
index 35b86b2..d987aee 100755
--- a/prebuilt/arm.aapcs-linux.softfp/videorender_server
+++ b/prebuilt/arm.aapcs-linux.softfp/videorender_server
Binary files differ
diff --git a/prebuilt/noarch/include/render_lib.h b/prebuilt/noarch/include/render_lib.h
index ee0a1fc..d81e652 100644
--- a/prebuilt/noarch/include/render_lib.h
+++ b/prebuilt/noarch/include/render_lib.h
@@ -42,6 +42,11 @@
     void *priv;
 } RenderBuffer;
 
+typedef struct _StepFrameInfo {
+    int on; //if 1 means on, 0 means off
+    int intervalMs; //step display frame interval, if this set to -1,only step one frame until next api invoked
+} StepFrameInfo;
+
 /*render key*/
 enum _RenderKey {
     KEY_WINDOW_SIZE = 300, //set/get the video window size,value type is RenderWindowSize
@@ -56,20 +61,23 @@
     KEY_FORCE_ASPECT_RATIO, //set/get force pixel aspect ratio,value type is int, 1 is force,0 is not force
     KEY_SELECT_DISPLAY_OUTPUT,//set/get display output index,value type is int,0 is primary output and default value, 1 is extend display output
     KEY_IMMEDIATELY_OUTPUT, //set/get immediately output video frame to display, 0 is default value off, 1 is on
+    KEY_STEP_DISPLAY_FRAME, //set/get step display frame,the value type is StepFrameInfo struct
     KEY_MEDIASYNC_INSTANCE_ID = 400, //set/get mediasync instance id, value type is int
     KEY_MEDIASYNC_PCR_PID, ///set/get mediasync pcr id ,value type is int
     KEY_MEDIASYNC_DEMUX_ID, //set/get mediasync demux id ,value type is int
-    KEY_MEDIASYNC_SYNC_MODE, //set/get mediasync sync mode,value type is int, 0:vmaster,1:amaster,2:pcrmaster
+    KEY_MEDIASYNC_SYNC_MODE, //set/get mediasync sync mode,value type is int, 0:vmaster,1:amaster,2:pcrmaster,3:videofreerun
     KEY_MEDIASYNC_TUNNEL_MODE, //set mediasync to use tunnel mode, 0:notunnelmode 1:tunnelmode
     KEY_MEDIASYNC_HAS_AUDIO, //set/get having audio,value type is int,0:not,1:has
     KEY_MEDIASYNC_VIDEOLATENCY, //set/get mediasync video latency
     KEY_MEDIASYNC_STARTTHRESHOLD, //set/get mediasync start threshold
     KEY_MEDIASYNC_VIDEOWORKMODE, //set/get mediasync video work mode
-    KEY_MEDIASYNC_AUDIO_MUTE, //set/get
+    KEY_MEDIASYNC_AUDIO_MUTE, //set/get audio mute
     KEY_MEDIASYNC_SOURCETYPE, //set/get media sync source type
     KEY_MEDIASYNC_VIDEOFRAME, //set/get
     KEY_MEDIASYNC_PLAYER_INSTANCE_ID,
     KEY_MEDIASYNC_PLAYBACK_RATE, //set/get playback rate,value type is float,0.5 is 0.5 rate, 1.0 is normal, 2.0 is 2x rate
+    KEY_MEDIASYNC_VIDEO_SYNC_THRESHOLD, //set/get video free run threshold,value type is int,time is us
+    KEY_MEDIASYNC_VIDEO_FREERUN, //set/get video freerun when video is displayed
     //set/get video tunnel instance id when videotunnel plugin be selected,value type is int,this key must set before render_connect
     KEY_VIDEOTUNNEL_ID = 450,
 };
@@ -92,20 +100,22 @@
 
 typedef enum _RenderMsgType {
     //frame buffer is released
-    MSG_RELEASE_BUFFER   = 100, //the msg value type is RenderBuffer
+    MSG_RELEASE_BUFFER            = 100, //the msg value type is RenderBuffer
     //frame buffer is displayed
-    MSG_DISPLAYED_BUFFER = 101, //the msg value type is RenderBuffer
+    MSG_DISPLAYED_BUFFER          = 101, //the msg value type is RenderBuffer
     //the frame buffer is droped
-    MSG_DROPED_BUFFER    = 102,//the msg value type is RenderBuffer
+    MSG_DROPED_BUFFER             = 102,//the msg value type is RenderBuffer
     //first frame displayed msg
-    MSG_FIRST_FRAME       = 103, //the msg value type is frame pts
+    MSG_FIRST_FRAME               = 103, //the msg value type is frame pts
     //under flow msg
-    MSG_UNDER_FLOW       = 104, //the msg value type is null
+    MSG_UNDER_FLOW                = 104, //the msg value type is null
+    //pause with special pts
+    MSG_PAUSED_PTS                = 105, //the msg value type is RenderBuffer
 
     //render lib connected failed
-    MSG_CONNECTED_FAIL   = 200, //the msg value type is string
+    MSG_CONNECTED_FAIL            = 200, //the msg value type is string
     //render lib disconnected failed
-    MSG_DISCONNECTED_FAIL, //the msg value type is string
+    MSG_DISCONNECTED_FAIL         = 201, //the msg value type is string
 } RenderMsgType;
 
 /**
diff --git a/version.txt b/version.txt
index fe5d2a0..986c171 100644
--- a/version.txt
+++ b/version.txt
@@ -1,10 +1,34 @@
 =========RELEALSE NOTE=================
 
-Version: V3.7.41-gcee7c8a
+Version: V3.7.42-gd05cab3
 
 ========================================
 
 Git commit:
+commit d05cab305f6c4850c0e068669c9260a540b5e0f9
+Author: fei.deng <fei.deng@amlogic.com>
+Date:   Wed Sep 21 19:55:00 2022 +0800
+
+    videorenderer: CF2 frame advance [1/1]
+    
+    PD#SWPL-77942
+    
+    Problem:
+    add new ioctl
+    1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
+    2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER
+    
+    Solution:
+    add new ioctl
+    1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
+    2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER
+    
+    Verify:
+    ar321
+    
+    Change-Id: I6523361081c6b482c290343403f40a4d3587b991
+    Signed-off-by: fei.deng <fei.deng@amlogic.com>
+
 commit cee7c8a54da15876fe5f99fdceb988da363c1fc3
 Author: yunmin.chen <yunmin.chen@amlogic.com>
 Date:   Wed Sep 21 16:10:14 2022 +0800
@@ -200,32 +224,9 @@
     Change-Id: Ic191c4b80c2896c58ead4ae7a0e204ad19caea45
     Signed-off-by: yu.xie <yu.xie@amlogic.com>
 
-commit 70f2f5ebbd321fb2ce57b2246f1f7aab6a50742f
-Author: yu.xie <yu.xie@amlogic.com>
-Date:   Tue Sep 13 14:08:05 2022 +0800
-
-    v4l_dvb_test: CF2 test extend cmd V4L2_CID_EXT_VDEC_DECODER_STATUS. [1/1]
-    
-    PD#SWPL-77955
-    
-    Problem:
-    support to test three extend commands,
-    and add the file that drip decoder mode will use.
-    
-    Solution:
-    add v4l2 event subscribe codes when v4l2 device open,
-    and then add the event handle codes in the function of
-    _v4l2_handle_event
-    
-    Verify:
-    AR321
-    
-    Change-Id: I7182e40b939b6b265afe03fe0dd9bd076413aebb
-    Signed-off-by: yu.xie <yu.xie@amlogic.com>
-
 ========================================
 
-Release time: 2022-09-29-17-03
+Release time: 2022-09-30-17-27
 
 ========================================