author | shihong.zheng <shihong.zheng@amlogic.com> | 2020-04-21 08:52:14 (GMT) |
---|---|---|
committer | shihong.zheng <shihong.zheng@amlogic.com> | 2020-05-07 13:24:24 (GMT) |
commit | 627999e8ed818669d467712be2b06f3d3c1e674b (patch) | |
tree | d9f0b9cd92154d70b7d03912b0549d2d93e22e66 | |
parent | 085e40c65a03acf659d0c5e2c07354aa12f77d22 (diff) | |
download | media_modules-627999e8ed818669d467712be2b06f3d3c1e674b.zip media_modules-627999e8ed818669d467712be2b06f3d3c1e674b.tar.gz media_modules-627999e8ed818669d467712be2b06f3d3c1e674b.tar.bz2 |
mpeg12: improve the error frame drop. [1/1]
PD#SWPL-22234
Problem:
not smooth after resume playing.
1. frame GOP is dorpped after set
error skip level 2.
2. first i flag will be clear after timeout,
so it will cause unsmooth when the B frames
after first i decode timeout.
Solution:
1. improve the error drop code.
2. the error pic is skiped, but error info saved,
for example IBBP, the B after first i frame will
be skipped, but error flag is not cleared. so
clear last invlid pic error flag before ctx restore
in ucode.
ucode gerrit id: 106830
ucode change id: I1caffae
Verify:
AC214
Change-Id: Icdb9541b2159804e8690c5b70d8a1cada4e2c2af
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
-rw-r--r-- | drivers/frame_provider/decoder/mpeg12/vmpeg12_multi.c | 10 | ||||
-rw-r--r-- | firmware/video_ucode.bin | 775 |
2 files changed, 394 insertions, 391 deletions
diff --git a/drivers/frame_provider/decoder/mpeg12/vmpeg12_multi.c b/drivers/frame_provider/decoder/mpeg12/vmpeg12_multi.c index 65c2c1e..9b46df1 100644 --- a/drivers/frame_provider/decoder/mpeg12/vmpeg12_multi.c +++ b/drivers/frame_provider/decoder/mpeg12/vmpeg12_multi.c @@ -114,7 +114,7 @@ static u32 buf_size = 32 * 1024 * 1024; static int pre_decode_buf_level = 0x800; static int start_decode_buf_level = 0x4000; static u32 dec_control; -static u32 error_frame_skip_level = 2; +static u32 error_frame_skip_level = 1; static u32 udebug_flag; static unsigned int radr; static unsigned int rval; @@ -2625,7 +2625,10 @@ static void reset_process_time(struct vdec_mpeg12_hw_s *hw) } static void start_process_time(struct vdec_mpeg12_hw_s *hw) { - hw->decode_timeout_count = 10; + if ((hw->refs[1] != -1) && (hw->refs[0] == -1)) + hw->decode_timeout_count = 1; + else + hw->decode_timeout_count = 10; hw->start_process_time = jiffies; } static void timeout_process(struct vdec_mpeg12_hw_s *hw) @@ -2642,7 +2645,8 @@ static void timeout_process(struct vdec_mpeg12_hw_s *hw) "%s decoder timeout, status=%d, level=%d\n", __func__, vdec->status, READ_VREG(VLD_MEM_VIFIFO_LEVEL)); hw->dec_result = DEC_RESULT_DONE; - hw->first_i_frame_ready = 0; + if ((hw->refs[1] != -1) && (hw->refs[0] != -1)) + hw->first_i_frame_ready = 0; /* * In this very timeout point,the vmpeg12_work arrives, diff --git a/firmware/video_ucode.bin b/firmware/video_ucode.bin index 5bdf4c2..2bb4cc3 100644 --- a/firmware/video_ucode.bin +++ b/firmware/video_ucode.bin @@ -1,5 +1,4 @@ -AVwfY-E4(djO8 DCϷɮB:i&ͱFѻg [23wf tQF`Fw^֚aQn#$;,Zcc% -ML鼚Toz/ٲ']3xZʣ#lvN7Žǥ8 SMd"AqDj<F⋺x=jH)ʂ9 +}әM.%M}>IL@_ERЫLW0@eƄq5a[\iyO9#o&:վJIDJG`p=Ha @ I` @@ -495,7 +494,7 @@ An+,wA 2 ?2 x3 - + @ @@ -933,7 +932,7 @@ An+,wA 2 ?2 x3 - + @ @@ -1366,7 +1365,7 @@ An+,wA 2 ?2 x3 - + @ @@ -1806,7 +1805,7 @@ An+,wA 2 ?2 x3 - + @x Ȁ @@ -1820,7 +1819,7 @@ H H @p 6
-@ +@ % x @@ -1831,7 +1830,7 @@ H H x -@ +@ @ I` x` @@ -2320,7 +2319,7 @@ HCP
HCX
"@Ir C C @ Ir C C 3 -C C B LCH +C C B LCH @ I` x` @@ -2808,7 +2807,7 @@ HCP
HCX
"@Ir C C @ Ir C C 3 -C C B LCH +C C B LCH @ I` x` @@ -3296,7 +3295,7 @@ HCP
HCX
"@Ir C C @ Ir C C 3 -C C B LCH +C C B LCH I v G @@ -3389,7 +3388,7 @@ U T%H @ID T%H @ID T%H @ID -U +U I@ v G @@ -3491,7 +3490,7 @@ U T%H @ID T%H @ID T%H @ID -U +U I v @@ -3586,7 +3585,7 @@ U T%H @ID T%H @ID T%H @ID -U +U I@ v @@ -3690,8 +3689,8 @@ U T%H @ID T%H @ID T%H @ID -U - +U + x B< @@ -3701,9 +3700,9 @@ C # -0 - -ɑ @}zI -GL + +ɑ ~zI +GL Rx @@ -3721,7 +3720,7 @@ GL GI , O -I@ +I@ I o @@ -3750,7 +3749,7 @@ J LJ -k + @xR @@ -3761,7 +3760,7 @@ J B a @ xH - +@< H G G@ ` @@ -3770,9 +3769,9 @@ G@ x
x}G` -@xx +@xx@ QL -FL@LBLȂ@ +FL@LBLȂ@ G @@ -3781,17 +3780,17 @@ G - + - t + t - + IJ Iʁ - + Lʥ @@ -3805,15 +3804,15 @@ G -G +G -GI +GI I d ` - + )I $@ @@ -3868,11 +3867,11 @@ U@%$U@x$&) @I@ I @o -@ -I +@ +I -K -K +K +K < ` xJ @@ -3898,36 +3897,35 @@ G4 I ,@Ȅ@ -, @ǠA+,- -@ -#< #A + G ;H -% < - I +@ I - H +@ H H@a - - +
H + ;I - + -GǑ@ʡ +GǑ@ʡ -GH;ȡ@ʡ - +GH;ȡ@ʡ + -G @@@ +G @@ -G +G -G @@ +G @ -G @ +G @ I; B J @@ -3939,39 +3937,39 @@ J9 - + !sstG @b - + GuuG - + @b - + x -~ +@~ -~ +~ o - - + + H $ɀ @Ip p QIs Q #G)!D G)d -P;! +Q;! - - + + -~ +~ - + G,",@a -QI +QI Q @@ -3992,10 +3990,10 @@ R x, *I - + G# -# -q@)#q s +#@x +q;L1 Lȁ s s @ ' L! o @@ -4055,7 +4053,7 @@ G$) -( +( %&& G @@ -4094,7 +4092,7 @@ RP L+L -x, +x, I ,DŽP -Ʉ@ @ @@ -4110,7 +4108,7 @@ I@ ` x ! - + + + @a x @@ -4132,7 +4130,7 @@ x +?aǠA+PCG -+ȁ ++ȁ ߏN LJ J2x @Ȇ @@ -4140,7 +4138,7 @@ J2x 0 ` - + @w~
j#LJ @@ -4165,7 +4163,7 @@ GG@Q B //G@Q -'#G@Q +'#G@Q ;p ; @@ -4184,7 +4182,7 @@ G G G GB G -G +G xQ @@ -4211,10 +4209,10 @@ G Ϡ Aaa @ -@ - +@ + - + @x @@ -4222,13 +4220,13 @@ G H td#sRP c#tR` G)"j ! - - + + -B \#BH [#BP B @ @!s@ @ tx +B \#BH [#BP B @ "s@ ! tx s@W#sRP G)"j ! - -B R#BH + +B R#BH H @@ -4244,15 +4242,15 @@ I G -G"@ <# +G"@ <# - - + + x B< @@ -4262,9 +4260,9 @@ C # -0 - -ɑ @}zI -GL + +ɑ ~zI +GL Rx @@ -4282,7 +4280,7 @@ GL GI , O -I@ +I@ I o @@ -4311,7 +4309,7 @@ J LJ - +@k @xR @@ -4322,7 +4320,7 @@ J B a @ xH - +@< H G G@ ` @@ -4331,9 +4329,9 @@ G@ x
x}G` -@xx@x +@xxx QL -FL@LBLȂ@ +FL@LBLȂ@ G @@ -4342,17 +4340,17 @@ G - + - t + t - + IJ Iʁ - + Lʥ @@ -4366,15 +4364,15 @@ G -G +G -GI +GI I d ` - + )I $@ @@ -4427,11 +4425,11 @@ U@%$U@x$&) I @o -@ - +@ + -K -K +K +K < ` xJ @@ -4457,35 +4455,35 @@ G4 I ,@Ȅ@ -, @ǠA+,- - + G ;H -% < -@ I + -@ H + H@a -H - +H + ;I - + -GǑ@ʡ +GǑ@ʡ -GH;ȡ@ʡ - +GH;ȡ@ʡ + -G @@ +G @@ -G +G @ -G @ +G @ -G @ +G @@ I; B J @@ -4497,39 +4495,39 @@ J9 - + !sstG @b - + GuuG - + @b - + x -@~ + -~ +@~ o - - + + H $ɀ @Ip p QIs Q #G)!D G)c -P;! +Q;! - - + + -~ +@~ - + G,",@a -QI +QI Q @@ -4551,10 +4549,10 @@ R *I - @c@r + @c@r G# -# -q@)#q s +#@x +q;L1 Lȁ s s @ ' L! o @@ -4614,7 +4612,7 @@ G$) -( +( %&& G @@ -4653,7 +4651,7 @@ RP L+L @4 -x, +x, I ,DŽP -Ʉ@ @ @@ -4669,7 +4667,7 @@ I@ ` x ! - + + + ! @@ -4698,7 +4696,7 @@ LC@ C@$ - + ߏN LJ J2x @Ȇ @@ -4706,7 +4704,7 @@ J2x 0 ` - + @w~
j#LJ @@ -4731,7 +4729,7 @@ GG@Q B //G@Q -'#G@Q +'#G@Q ;p ; @@ -4750,7 +4748,7 @@ G G G GB G -G +G xQ @@ -4777,10 +4775,10 @@ G Ϡ Aaa @ -@ - +@ + - + @x @@ -4788,13 +4786,13 @@ G H td#sRP c#tR` G)"j ! - - + + -B \#BH [#BP B @ s@ tx +B \#BH [#BP B @ s@ tx s@W#sRP G)"j ! - -B R#BH + +B R#BH H @@ -4810,8 +4808,8 @@ I G @?#@A -G"@ - +G"@ + x B< @@ -4821,9 +4819,9 @@ C # -0 - -ɑ -GL + +ɑ @~zI +GL Rx @@ -4841,7 +4839,7 @@ GL GI , O -I@ +I@ I o @@ -4870,7 +4868,7 @@ J LJ -k +k @xR @@ -4881,7 +4879,7 @@ J B a @ xH -@: +; H G G@ ` @@ -4890,9 +4888,9 @@ G@ x
x}G` -@xxx +@xx QL -FL@LBLȂ@ +FL@LBLȂ@ G @@ -4901,17 +4899,17 @@ G - + - t + t - + IJ Iʁ - + B@Ȃ @@ -4923,15 +4921,15 @@ G -G +G -GI +GI I d ` - + $@ @.x @@ -4982,11 +4980,11 @@ U@%$U@x$&) @I@ I @o -@ -I +@ +I -K -K +K +K < ` xJ @@ -5012,35 +5010,35 @@ G4 I ,@Ȅ@ -, @ǠA+,- - +@ G ;H -% < - I + I - H + H H@a -@H - + + ;I - + -GǑ@ʡ +GǑ@ʡ -GH;ȡ@ʡ - +GH;ȡ@ʡ + -G @@ +G @@@ -G +G -G @ +G @@ -G +G @ I; B J @@ -5052,39 +5050,39 @@ J9 - + !sstG @b - + GuuG - + @b - + x -~ +~ - +~ o - - + + H $ɀ @Ip p QIs Q #G)!D G)d -P;! +Q;! - - + + - +~ - + G,",@a -QI +QI Q @@ -5105,10 +5103,10 @@ R x, *I - + G# -# -q@)#q s +#@x +q;L1 Lȁ s s ' L! o @@ -5168,7 +5166,7 @@ G$) -( +( %&&&r !G%@ G @@ -5207,7 +5205,7 @@ RP L+L -x, +x, I ,DŽP -Ʉ@ @ @@ -5223,7 +5221,7 @@ I@ ` x ! - + + + @a x @@ -5245,7 +5243,7 @@ x +?aǠA+PCG -+ȁ ++ȁ ߏN LJ J2x @Ȇ @@ -5253,7 +5251,7 @@ J2x 0 ` - + @w~
j#LJ @@ -5278,7 +5276,7 @@ GG@Q B @ //G@Q -'#G@Q +'#G@Q ;p ; @@ -5297,7 +5295,7 @@ G G G GB G -G +G xQ @@ -5324,10 +5322,10 @@ G Ϡ Aaa @ -@ - +@ + - + @x @@ -5335,13 +5333,13 @@ G H td#sRP c#tR` G)"j ! - - + + -B \#BH [#BP B @ +B \#BH [#BP B @ @s@ @ tx s@W#sRP G)"j ! - -B R#BH + +B R#BH H @@ -5357,8 +5355,8 @@ I G -G"@ <# - +G"@ <# + x B< @@ -5368,9 +5366,9 @@ C # -0 - -ɑ -GL + +ɑ @~zI +GL Rx @@ -5388,7 +5386,7 @@ GL GI , O -I@ +I@ I o @@ -5417,7 +5415,7 @@ J LJ -@k +k @xR @@ -5428,7 +5426,7 @@ J B a @ xH - +@< H G G@ ` @@ -5437,9 +5435,9 @@ G@ x
x}G` -@xxx +@xxx QL -FL@LBLȂ@ +FL@LBLȂ@ G @@ -5448,17 +5446,17 @@ G - + - t + t - + IJ Iʁ - + Lʥ @@ -5472,15 +5470,15 @@ G -G +G -GI +GI I d ` - + $@ @.x @@ -5531,11 +5529,11 @@ U@%$U@x$&) @I@ I @o -@ -I +@ +I -K -K +K +K < ` xJ @@ -5561,35 +5559,35 @@ G4 I ,@Ȅ@ -, @ǠA+,- - + G ;H -% < - + I - + H H@a -H - +@H + ;I - + -GǑ@ʡ +GǑ@ʡ -GH;ȡ@ʡ - +GH;ȡ@ʡ + -G @@ +G @@ -G @ +G -G @ +G @ -G @@ +G I; B J @@ -5601,39 +5599,39 @@ J9 - + !sstG @b - + GuuG - + @b - + x - +~ -@~ + o - - + + H $ɀ @Ip p QIs Q #G)!D G)d -P;! +Q;! - - + + -@~ + - + G,",@a -QI +QI Q @@ -5654,10 +5652,10 @@ R x, *I - + G# -# -q@)#q s +#@x +q;L1 Lȁ s s ' L! o @@ -5717,7 +5715,7 @@ G$) -( +( %&&&r !G%@ G @@ -5756,7 +5754,7 @@ RP L+L 2 -x, +x, I ,DŽP -Ʉ@ @ @@ -5772,7 +5770,7 @@ I@ ` x ! - + + + @a x @@ -5794,7 +5792,7 @@ x +?aǠA+PCG -+ȁ ++ȁ ߏN LJ J2x @Ȇ @@ -5802,7 +5800,7 @@ J2x 0 ` - + @w~
j#LJ @@ -5827,7 +5825,7 @@ GG@Q B @ //G@Q -'#G@Q +'#G@Q ;p ; @@ -5846,7 +5844,7 @@ G G G GB G -G +G xQ @@ -5873,10 +5871,10 @@ G Ϡ Aaa @ -@ - +@ + - + @x @@ -5884,13 +5882,13 @@ G H td#sRP c#tR` G)"j ! - - + + -B \#BH [#BP B @ s@ tx +B \#BH [#BP B @ s@W#sRP G)"j ! - -B R#BH + +B R#BH H @@ -5906,10 +5904,10 @@ I G -G"@ <# +G"@ <# - + I ! `xI@ C @ @@ -6307,7 +6305,7 @@ EG EŅ " EG ņ -EŇ " +EŇ " I ! `iI@ C @ @@ -6679,7 +6677,7 @@ EŇ@x EG ł EŃ@ -` +` I ! `xI@ C @ @@ -7051,7 +7049,7 @@ EŇ@x EG ł EŃ@ -` +` I ! `iI@ C @ @@ -7449,7 +7447,7 @@ EG EŅ " EG ņ -EŇ " +EŇ " I ! `xI@ C @ @@ -7821,7 +7819,7 @@ EŇ@x EG ł EŃ@ -` +` I ! `xI@ C @ @@ -8219,7 +8217,7 @@ EG EŅ " EG ņ -EŇ " +EŇ " @4x @@ -8400,7 +8398,7 @@ n J` -J` +J` @@ -8598,7 +8596,7 @@ n J` -J` +J` +@+ @@ -9084,7 +9082,7 @@ C@ B B -@ +@ @@ -9381,7 +9379,7 @@ G *C(I( ,J@($,*F ( ) ("L(h! ( 튂( ( ,J@ ($("Lh! ( 튂( , -("Lh! ( 튂( +("Lh! ( 튂( @@ -9677,26 +9675,26 @@ G *C(I( ,J@($,*F ( ) ("L(h! ( 튂( ( ,J@ ($("Lh! ( 튂( , -("Lh! ( 튂( +("Lh! ( 튂( - + - + -:x +:x G
@a @x -x +x , - + -@ +@ ! @@ -9709,34 +9707,34 @@ J G$ ` - + @I - + o -I@Ip v Gv v Gw p v Gv v Gw +I@Ip v Gv v Gw p v Gv v Gw - + -k@W@Z - +k@W@[ + r -H - +H + @I ` G
` - + G`HR@ `"@ - - + + b 2x -B +B @@ -9745,12 +9743,12 @@ G
` - + A @a - + @@ -9760,7 +9758,7 @@ G
` @I ^ G \ G Z -I +I @@ -9773,25 +9771,25 @@ QRIc P PCIIG
B G LI B HbBx a t - + -@^ +@_ GIǁ a O I@I - - -@ x + + + > @x - ( - + ' + xQL FLBL -@Lr@ǁ +@Lr@ǁ ?I H I HR I Ix I I @@ -9805,7 +9803,8 @@ H2X - + + @@ -9824,7 +9823,7 @@ H2X I A@_` -T@GL~ +T@GL~ U @@ -9865,26 +9864,26 @@ D@ @ @xHR& b@I"@J@Hb - + - + - + -:x +:x G
@a @x -x +x , - + - + ! @@ -9897,34 +9896,34 @@ J G$ ` - + @I - + o -I@Ip v Gv v Gw p v Gv v Gw +I@Ip v Gv v Gw p v Gv v Gw - + -k@W] - +k@W^ + r -H - +H + @I ` G
` -x +x G`HR@ `"@ - - + + b 2x -B +B @@ -9933,12 +9932,12 @@ G
` - + A @a - + @@ -9948,7 +9947,7 @@ G
` @I ^ G \ G Z -I +I @@ -9961,25 +9960,25 @@ QRIc P PCIIG
B G LI B HbBx a t - + -a +b GIǁ a O I@I - - -@ x + + + > @x - ( - + ' + xQL FLBL -@Lr@ǁ +@Lr@ǁ ?I H I HR I Ix I I @@ -9995,7 +9994,7 @@ H2X - + @@ -10014,7 +10013,7 @@ H2X I A@_` -T@GL@~ +T@GL@~ U @@ -10055,7 +10054,7 @@ D@ @ @xHR& b@I"@J@Hb - + G+ % @@ -10347,7 +10346,7 @@ G @ ! G - + y G@, % @@ -10665,7 +10664,7 @@ G *C(I( ,J@($,*F ( ) ("L(h! ( 튂( ( ,J@ ($("Lh! ( 튂( , -("Lh! ( 튂( +("Lh! ( 튂( y G@, % @@ -10983,7 +10982,7 @@ G *C(I( ,J@($,*F ( ) ("L(h! ( 튂( ( ,J@ ($("Lh! ( 튂( , -("Lh! ( 튂( +("Lh! ( 튂( G+ % @@ -11275,7 +11274,7 @@ G @ ! G - + x ` x @@ -11490,7 +11489,7 @@ E - + x ` x @@ -11705,7 +11704,7 @@ E - + x ` x @@ -11927,7 +11926,7 @@ E - + @ I` @@ -12317,7 +12316,7 @@ H *AL+CLh j@ j - + @ I` @x` @@ -12707,7 +12706,7 @@ H *AL+CLh j@ j - + @ I` /y` @@ -13156,7 +13155,7 @@ H *AL+CLh j@ j - + @ I` @x` @@ -13540,7 +13539,7 @@ H *AL+CLh j@ j - + 3 @@ -14370,7 +14369,7 @@ q @ i - + 3 @@ -15201,7 +15200,7 @@ q @ i - + @` @@ -15850,7 +15849,7 @@ J2x 0 ` - + @` @@ -16499,7 +16498,7 @@ J2x 0 ` - + @x @` @x @@ -17146,7 +17145,7 @@ J2x 0 ` - + x @x @@ -17679,7 +17678,7 @@ H$` JI JI'@BH -= += x x @@ -18218,7 +18217,7 @@ H$` ' -@ +@ @ x @@ -18745,7 +18744,7 @@ H$` ' -@ +@ x x @@ -19275,7 +19274,7 @@ H$` JI JI'@BH -= += x @x @@ -19808,7 +19807,7 @@ H$` JI JI'@BH -= += x @x @@ -20341,7 +20340,7 @@ H$` JI JI'@BH -= += y @@ -20956,7 +20955,7 @@ H - + +@+@ @@ -21280,7 +21279,7 @@ a .
AB+@+@ -J` JJ` +J` JJ` +@+@ @@ -21602,7 +21601,7 @@ a .
AB+@+@ -J` JJ` +J` JJ` +@+@ @@ -21921,7 +21920,7 @@ a .
AB+@+@ -J` JJ` +J` JJ` +@+@ @@ -22240,7 +22239,7 @@ a .
AB+@+@ -J` JJ` +J` JJ` +@+@ @@ -22562,7 +22561,7 @@ a .
AB+@+@ -J` JJ` +J` JJ` +@+@ @@ -22887,7 +22886,7 @@ a .
AB+@+@ -J` JJ` +J` JJ` FL CL R@ I` x` @@ -23115,7 +23114,7 @@ E=== E DL>L D@ @ -xHR& b@I"@J@Hb +xHR& b@I"@J@Hb FL CL R@ I` x` @@ -23341,4 +23340,4 @@ E=== E DL>L D@ @ -xHR& b@I"@J@Hb +xHR& b@I"@J@Hb |