Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ====== description
- The Goal : The best quality I can try to come up with for both AVCHD and MotionJpeg, sacrificing the 60fps mode with the primary target being a 24p timeline whether I use FHD/SH or MotionJPG's HD mode (hence the dropping so that I can drop an HD video into a 24p timeline without having to do a pull down). If I need 60fps I usually just flash LPowell's 75mbps patch as it is.
- it is basically starting with LPowell's 100mbps patch (which already uses 4:2:2 for MotionJpeg) in which I :
- - Turned off native 24p wrapper (since the wrapper isn't as stable as interlaced mode)
- - Checked the Maximum ISO limitation (to allow filming at 3200 ISO)
- - [Motion Jpeg] Checked 720p30 -> 720p24 (drops every 4th frame to create a 24p result)
- - [Motion Jpeg] Increase width/height for 720p30 to 1536x864 (from LPowell's 75mbps peak performance patch, as it is 80% of 1080p, 20% more than 720p, can be scaled up or down with minimal loss of quality)
- - Increased the H[32m], L[22m] and Overall[120m] bitrate as a suggestion by weimar ( http://www.personal-view.com/talks/discussion/162/gh1-100mbps-max-latitude-settings-v2/p3 ) , though in his example he kept overall at 108 and was using motionjpeg as a 18fps 1728x972 'silent film' kind of configuration keeping the original E#/F# table/quality settings. I also reduced the audio buffer matching his configuration (but kept it at 192kbit instead of 320kbit he had) as I mainly use audio on the GH1 to slate with my external recorder.
- - Enabled a number of user.ini configurations [shown at bottom of paste] from humpman's configuration (where I learned about the 2997i to 2400 option, creating a 48i interlaced output that easily conforms to a 24p timeline for AVCHD) which would be more stable than using a native 24p wrapper. ( source https://www.personal-view.com/talks/discussion/8601/panasonic-gh1-firmware-research-testing ) The main difference from his is that I did not use any of the non-user.ini configuration as it stays in line with the 100mbps patch, but it seems that his user.ini options cleans up noise/banding quite well in the higher ISO region.
- Initial tests seem promising though I need to get out and actually torture it out in the sun with heavy vegetation and stopped down aperture, so far in my initial testing (mostly table top with lots of fabrics and textures) I'm hitting around 60Mb/s average on motionjpeg (standard film mode with -1 sharp, -1 contrast) but around 30 to 40 Mb/s average on AVCHD [-2 sharp, -2 contrast, -2 noise reduction]. Course MotionJpeg is being encoded with 4:2:2 YUV whereas AVCHD supports 4:2:0 at best.
- Video Examples as I make them :
- Motion Jpeg HD TableTop Test : https://www.youtube.com/watch?v=RJNdevPJ0s0
- AVCHD FHD TableTop Test : https://youtu.be/q5cGP7T9qPQ
- ==== The seti.ini I have so far :
- [Information]
- Comment=100Mbps + 75 Peak + 2400i
- SD_Card=Class 10 SD cards and higher
- Camera=GH1 v1.32 - NTSC and PAL
- [Settings]
- Version increment=10
- Prevent version compare=Checked
- New body=Checked
- Third-party battery=Checked
- All Interface Languages=Checked
- 30min limit removal=Checked
- Maximum ISO limit removal=Checked
- PAL<->NTSC Menu=Checked
- 720p30->720p24=Checked
- 720p30 width=1536
- 720p30 height=864
- 480p30 width=960
- 480p30 height=720
- 720p30 420->422 color sampling=Checked
- E1 Quality=280
- E1 Table=4
- E2 Quality=250
- E2 Table=10
- E3 Quality=225
- E3 Table=24
- E4 Quality=200
- E4 Table=48
- F1 Quality=150
- F1 Table=86
- F2 Quality=130
- F2 Table=56
- F3 Quality=115
- F3 Table=26
- F4 Quality=100
- F4 Table=4
- 720p59,94fps->29,97fps=Checked
- 720p50,00fps->25,00fps=Checked
- Video Bitrate FHD/SH=51000000
- Video Bitrate H=32000000
- Video Bitrate L=22000000
- Overall Bitrate=120000000
- 720p50 GOP Size=5
- 720p60 GOP Size=5
- 1080p25 GOP Size=15
- 1080p24 GOP Size=15
- Preset bitrate=180
- Preset bitrate 2=180
- Constant for 1080p=9720000
- Constant for 720p=864000
- Constant 6000=4500
- Video buffer=50.000.000
- Audio buffer=4.000.000
- Constant 512000=0
- Constant 500=0
- Constant 393216=1179648
- Min QP=0
- Scaling table for P-frames i=Checked
- Scaling table for I-frames i=Checked
- 2997i to 2400=Checked
- ==== In the user.ini there is this configuration from humpman's work here : https://www.personal-view.com/talks/discussion/8601/panasonic-gh1-firmware-research-testing
- ;Universal settings
- [Patch1]
- Name=Constant 512000
- Target=GH1 v1.32
- Input_Label=Input constant:
- Input_Check_Min=0
- Input_Check_Max=0xFFFFFFFF
- Display_Offset=0x7BC20354
- Display_Type=dword
- ;;Interlaced
- E1_Offset=0x7BC20354
- E1_Check=0x0007D000
- E1_Type=dword
- E1_Modify=input
- E2_Offset=0x7BC2120E
- E2_Check=0x0007D000
- E2_Type=dword
- E2_Modify=input
- ;;Progressive
- E3_Offset=0x7BC270A0
- E3_Check=0x0007D000
- E3_Type=dword
- E3_Modify=input
- E4_Offset=0x7BC27E7D
- E4_Check=0x0007D000
- E4_Type=dword
- E4_Modify=input
- [Patch2]
- Name=Constant 500
- Target=GH1 v1.32
- Input_Label=Input constant:
- Input_Check_Min=0
- Input_Check_Max=0xFFFF
- Display_Offset=0x4014CAEA
- Display_Type=word
- E1_Offset=0x4014CAEA
- E1_Check=0x01F4
- E1_Type=word
- E1_Modify=input
- [Patch3]
- Name=Constant 393216
- Target=GH1 v1.32
- Input_Label=Input constant:
- Input_Check_Min=0
- Input_Check_Max=0xFFFFFFFF
- Display_Offset=0x4014C93D
- Display_Type=dword
- E1_Offset=0x4014CB00
- E1_Check=0x00060000
- E1_Type=dword
- E1_Modify=input
- [Patch4]
- Name=Min QP
- Target=GH1 v1.32
- Input_Label=Input constant:
- Input_Check_Min=0
- Input_Check_Max=0x33
- Display_Offset=0x7BC22E41
- Display_Type=byte
- ;; Three ways together, both interlaced and progressive
- ;;Init QP, interlaced
- E1_Offset=0x7BC22E41
- E1_Check=0x14
- E1_Type=byte
- E1_Modify=0x33
- E2_Offset=0x7BC2325C
- E2_Check=0x14
- E2_Type=byte
- E2_Modify=input
- E3_Offset=0x7BC23534
- E3_Check=0x14
- E3_Type=byte
- E3_Modify=input
- ;;Init QP, progressive
- E4_Offset=0x7BC297F2
- E4_Check=0x14
- E4_Type=byte
- E4_Modify=input
- E5_Offset=0x7BC29A29
- E5_Check=0x14
- E5_Type=byte
- E5_Modify=input
- E6_Offset=0x7BC29C6F
- E6_Check=0x14
- E6_Type=byte
- E6_Modify=input
- [Patch5]
- Name=Max QP
- Target=GH1 v1.32
- Input_Label=Input constant:
- Input_Check_Min=0
- Input_Check_Max=0x33
- Display_Offset=0x7BC23528
- Display_Type=byte
- ;; Three ways together, both interlaced and progressive
- ;;Init QP, interlaced
- E1_Offset=0x7BC22E21
- E1_Check=0x33
- E1_Type=byte
- E1_Modify=0x33
- E2_Offset=0x7BC23248
- E2_Check=0x33
- E2_Type=byte
- E2_Modify=input
- E3_Offset=0x7BC23528
- E3_Check=0x33
- E3_Type=byte
- E3_Modify=input
- ;;Init QP, progressive
- E4_Offset=0x7BC297EC
- E4_Check=0x33
- E4_Type=byte
- E4_Modify=0x33
- E5_Offset=0x7BC29A23
- E5_Check=0x33
- E5_Type=byte
- E5_Modify=input
- E6_Offset=0x7BC29C69
- E6_Check=0x33
- E6_Type=byte
- E6_Modify=input
- [Patch6]
- Name=Scaling table for P-frames i
- Target=GH1 v1.32
- ;;Interlaced
- E1_Offset=0x7BD039A8
- E1_Check=0x0C090807
- E1_Type=dword
- E1_Modify=array:0x0016001E001E003200320032006400640064006400960096009600C800C800C80016001E001E003200320032006400640064006400960096009600C800C800C80016001E001E003200320032006400640064006400960096009600C800C800C8
- [Patch7]
- Name=Scaling table for I-frames i
- Target=GH1 v1.32
- ;;Interlaced
- E1_Offset=0x7BD03A68
- E1_Check=0x0F070A05
- E1_Type=dword
- E1_Modify=array:0x30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF30FF
- [Patch8]
- Name=2997i to 2400
- Target=GH1 v1.32
- E1_Offset=0x4014CB9A
- E1_Check=0x0BB5
- E1_Type=word
- E1_Modify=0x0960
- E2_Offset=0x4014D192
- E2_Check=0x0BB5
- E2_Type=word
- E2_Modify=0x0960
- [Patch9]
- Name=2997i to 2397
- Target=GH1 v1.32
- E1_Offset=0x4014CB9A
- E1_Check=0x0BB5
- E1_Type=word
- E1_Modify=0x095D
- E2_Offset=0x4014D192
- E2_Check=0x0BB5
- E2_Type=word
- E2_Modify=0x095D
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement