]> git.sesse.net Git - kdenlive/commitdiff
render dialog: select and edit bitrates using a combo box (WIP).
authorTill Theato <root@ttill.de>
Thu, 19 May 2011 20:20:56 +0000 (20:20 +0000)
committerTill Theato <root@ttill.de>
Thu, 19 May 2011 20:20:56 +0000 (20:20 +0000)
svn path=/trunk/kdenlive/; revision=5601

export/profiles.xml
src/renderwidget.cpp
src/widgets/renderwidget_ui.ui

index 9e347c48f04ffdf8b7503c365f9cb7d0cb59a972..7a129d6624175ab9164d599f7ab7ada71dc93171 100644 (file)
 </group>
 
 <group name="MPEG-2" renderer="avformat" extension="mpg" type="av">
-  <profile name="MPEG-2 200k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=200k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 400k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=400k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 600k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=600k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 800k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=800k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 1000k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=1000k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 2000k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=2000k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 4000k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=4000k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 6000k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=6000k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 8000k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=8000k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 10000k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=10000k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 12000k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=12000k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 18000k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=18000k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
-  <profile name="MPEG-2 25000k" args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=25000k bf=2 b_strategy=1 trellis=1 aspect=%dar" />
+  <profile name="MPEG-2" bitrates="200k,400k,600k,800k,1000k,2000k,4000k,6000k,8000k,10000k,12000k,18000k,25000k" defaultbitrate="12000k"
+           args="f=mpeg acodec=mp2 ab=384k ar=48000 vcodec=mpeg2video minrate=0 b=%bitrate bf=2 b_strategy=1 trellis=1 aspect=%dar" />
 </group>
 
 <group name="MPEG-4" renderer="avformat" extension="mp4" type="av">
-  <profile name="MPEG-4 200k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=200k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 400k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=400k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 600k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=600k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 800k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=800k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 1000k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=1000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 2000k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=2000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 4000k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=4000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 6000k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=6000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 8000k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=8000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 10000k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=10000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 12000k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=12000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 18000k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=18000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="MPEG-4 25000k" args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=25000k aspect=%dar mbd=2 trellis=1 mv4=1" />
+  <profile name="MPEG-4" bitrates="200k,400k,600k,800k,1000k,2000k,4000k,6000k,8000k,10000k,12000k,18000k,25000k" defaultbitrate="12000k"
+           args="f=mp4 acodec=libmp3lame ab=128k ar=44100 vcodec=mpeg4 minrate=0 b=%bitrate aspect=%dar mbd=2 trellis=1 mv4=1" />
 </group>
 
 <group name="XVid4" renderer="avformat" extension="avi" type="av">
-  <profile name="XVid4 200k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=200k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 400k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=400k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 600k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=600k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 800k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=800k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 1000k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=1000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 2000k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=2000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 4000k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=4000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 6000k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=6000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 8000k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=8000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 10000k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=10000k aspect=%dar mbd=2 trellis=1 mv4=1" />
-  <profile name="XVid4 12000k" args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=12000k aspect=%dar mbd=2 trellis=1 mv4=1" />
+  <profile name="XVid4" bitrates="400k,600k,800k,1000k,2000k,4000k,8000k,10000k,12000k" defaultbitrate="8000k"
+           args="acodec=libmp3lame ab=128k ar=44100 vcodec=libxvid minrate=0 b=%bitrate aspect=%dar mbd=2 trellis=1 mv4=1" />
 </group>
 
 <group name="H.264" renderer="avformat" extension="mp4" type="av">
-  <profile name="H.264 200k" args="f=mp4 hq=1 acodec=aac ab=128k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=200k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 400k" args="f=mp4 hq=1 acodec=aac ab=128k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=400k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 600k" args="f=mp4 hq=1 acodec=aac ab=128k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=600k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 800k" args="f=mp4 hq=1 acodec=aac ab=128k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=800k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 1000k" args="f=mp4 hq=1 acodec=aac ab=128k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=1000k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 2000k" args="f=mp4 hq=1 acodec=aac ab=128k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=2000k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 4000k" args="f=mp4 hq=1 acodec=aac ab=128k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=4000k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 6000k" args="f=mp4 hq=1 acodec=aac ab=128k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=6000k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 8000k" args="f=mp4 hq=1 acodec=aac ab=128k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=8000k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 10000k" args="f=mp4 hq=1 acodec=aac ab=384k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=10000k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 12000k" args="f=mp4 hq=1 acodec=aac ab=384k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=12000k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 18000k" args="f=mp4 hq=1 acodec=aac ab=384k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=18000k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
-  <profile name="H.264 25000k" args="f=mp4 hq=1 acodec=aac ab=384k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=25000k g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
+  <profile name="H.264" bitrates="200k,400k,600k,800k,1000k,2000k,4000k,6000k,8000k,10000k,12000k,18000k,25000k" defaultbitrate="12000k"
+           args="f=mp4 hq=1 acodec=aac ab=384k ar=48000 pix_fmt=yuv420p vcodec=libx264 minrate=0 b=%bitrate g=250 bf=3 b_strategy=1 subcmp=2 cmp=2 coder=1 flags=+loop flags2=dct8x8 qmax=51 subq=7 qmin=10 qcomp=0.6 qdiff=4 trellis=1 aspect=%dar" />
 </group>
 
 <group name="Flash" renderer="avformat" extension="flv" type="av">
-  <profile name="Flash 200k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=200k progressive=1" />
-  <profile name="Flash 400k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=400k progressive=1" />
-  <profile name="Flash 600k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=600k progressive=1" />
-  <profile name="Flash 800k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=800k progressive=1" />
-  <profile name="Flash 1000k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=1000k progressive=1" />
-  <profile name="Flash 2000k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=2000k progressive=1" />
-  <profile name="Flash 4000k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=4000k progressive=1" />
-  <profile name="Flash 6000k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=6000k progressive=1" />
-  <profile name="Flash 8000k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=8000k progressive=1" />
-  <profile name="Flash 10000k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=10000k progressive=1" />
-  <profile name="Flash 12000k" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=12000k progressive=1" />
+  <profile name="Flash" bitrates="200k,400k,600k,800k,1000k,2000k,4000k,6000k,8000k,10000k,12000k" defaultbitrate="8000k"
+           args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=%bitrate progressive=1" />
   <profile name="Flash 720x576" standard="PAL" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=12000k s=720x576 progressive=1" />
   <profile name="Flash 720x480" standard="NTSC" args="f=flv acodec=libmp3lame ab=128k ar=44100 vcodec=flv minrate=0 b=12000k s=720x480 progressive=1" />
 </group>
 
 <group name="RealVideo" renderer="avformat" extension="rm" type="av">
-  <profile name="RealVideo 200k" args="vcodec=rv20 acodec=ac3 minrate=0 b=200k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 400k" args="vcodec=rv20 acodec=ac3 minrate=0 b=400k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 600k" args="vcodec=rv20 acodec=ac3 minrate=0 b=600k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 800k" args="vcodec=rv20 acodec=ac3 minrate=0 b=800k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 1000k" args="vcodec=rv20 acodec=ac3 minrate=0 b=1000k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 2000k" args="vcodec=rv20 acodec=ac3 minrate=0 b=2000k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 4000k" args="vcodec=rv20 acodec=ac3 minrate=0 b=4000k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 6000k" args="vcodec=rv20 acodec=ac3 minrate=0 b=6000k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 8000k" args="vcodec=rv20 acodec=ac3 minrate=0 b=8000k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 10000k" args="vcodec=rv20 acodec=ac3 minrate=0 b=10000k ab=128k ar=44100 g=8" />
-  <profile name="RealVideo 12000k" args="vcodec=rv20 acodec=ac3 minrate=0 b=12000k ab=128k ar=44100 g=8" />
+  <profile name="RealVideo" bitrates="200k,400k,600k,800k,1000k,2000k,4000k,6000k,8000k,10000k,12000k" defaultbitrate="8000k"
+           args="vcodec=rv20 acodec=ac3 minrate=0 b=%bitrate ab=128k ar=44100 g=8" />
   <profile name="RealVideo 720x576" standard="PAL" args="vcodec=rv20 acodec=ac3 minrate=0 b=12000k ab=384k ar=48000 s=720x576 g=8" />
   <profile name="RealVideo 720x480" standard="NTSC" args="vcodec=rv20 acodec=ac3 minrate=0 b=12000k ab=384k ar=48000 s=720x480 g=8" />
 </group>
 
 <group name="Theora" renderer="avformat" extension="ogv" type="av">
-  <profile name="Theora 200k" args="acodec=vorbis ab=128k ar=44100 vcodec=libtheora minrate=0 b=200k aspect=%dar" />
-  <profile name="Theora 400k" args="acodec=vorbis ab=128k ar=44100 vcodec=libtheora minrate=0 b=400k aspect=%dar" />
-  <profile name="Theora 600k" args="acodec=vorbis ab=128k ar=44100 vcodec=libtheora minrate=0 b=600k aspect=%dar" />
-  <profile name="Theora 800k" args="acodec=vorbis ab=128k ar=44100 vcodec=libtheora minrate=0 b=800k aspect=%dar" />
-  <profile name="Theora 1000k" args="acodec=vorbis ab=128k aq=30 ar=44100 vcodec=libtheora minrate=0 b=1000k aspect=%dar" />
-  <profile name="Theora 2000k" args="acodec=vorbis ab=128k aq=30 ar=44100 vcodec=libtheora minrate=0 b=2000k aspect=%dar" />
-  <profile name="Theora 4000k" args="acodec=vorbis ab=128k aq=30 ar=44100 vcodec=libtheora minrate=0 b=4000k aspect=%dar" />
-  <profile name="Theora 6000k" args="acodec=vorbis ab=128k aq=30 ar=44100 vcodec=libtheora minrate=0 b=6000k aspect=%dar" />
-  <profile name="Theora 8000k" args="acodec=vorbis ab=128k aq=30 ar=44100 vcodec=libtheora minrate=0 b=8000k aspect=%dar" />
-  <profile name="Theora 10000k" args="acodec=vorbis ab=128k aq=30 ar=44100 vcodec=libtheora minrate=0 b=10000k aspect=%dar" />
-  <profile name="Theora 12000k" args="acodec=vorbis ab=128k aq=30 ar=44100 vcodec=libtheora minrate=0 b=12000k aspect=%dar" />
+  <profile name="Theora" bitrates="200k,400k,600k,800k,1000k,2000k,4000k,6000k,8000k,10000k,12000k" defaultbitrate="8000k"
+           args="acodec=vorbis ab=128k ar=44100 vcodec=libtheora minrate=0 b=%bitrate aspect=%dar" />
   <profile name="Theora 720x576" standard="PAL" args="acodec=vorbis ab=384k aq=30 ar=44100 vcodec=libtheora minrate=0 b=12000k s=720x576 aspect=%dar" />
   <profile name="Theora 720x480" standard="NTSC" args="acodec=vorbis ab=384k aq=30 ar=44100 vcodec=libtheora minrate=0 b=12000k s=720x480 aspect=%dar" />
 </group>
 
 <group name="Media players" renderer="avformat" type="av">
   <groupname id="mediaplayers">Media players</groupname>
-  <profile name="Windows Media Player WMV V7 400k" extension="avi" args="acodec=libmp3lame ab=128k ar=48000 ac=2 vcodec=wmv1 minrate=0 b=400k aspect=%dar" />
-  <profile name="Windows Media Player WMV V7 1000k" extension="avi" args="acodec=libmp3lame ab=128k ar=48000 ac=2 vcodec=wmv1 minrate=0 b=1000k aspect=%dar" />
-  <profile name="Windows Media Player WMV V7 2000k" extension="avi" args="acodec=libmp3lame ab=128k ar=48000 ac=2 vcodec=wmv1 minrate=0 b=2000k aspect=%dar" />
-  <profile name="Apple Quicktime Player MPEG-4 400k" extension="mov" args="acodec=aac ab=128k ac=2 ar=48000 vcodec=mpeg4 minrate=0 b=400k aspect=%dar" />
-  <profile name="Apple Quicktime Player MPEG-4 1000k" extension="mov" args="acodec=aac ab=128k ac=2 ar=48000 vcodec=mpeg4 minrate=0 b=1000k aspect=%dar" />
-  <profile name="Apple Quicktime Player MPEG-4 2000k" extension="mov" args="acodec=aac ab=128k ac=2 ar=48000 vcodec=mpeg4 minrate=0 b=2000k aspect=%dar" />
+  <profile name="Windows Media Player WMV V7" bitrates="400k,1000k,2000k" defaultbitrate="2000k"
+           extension="avi" args="acodec=libmp3lame ab=128k ar=48000 ac=2 vcodec=wmv1 minrate=0 b=%bitrate aspect=%dar" />
+  <profile name="Apple Quicktime Player MPEG-4" bitrates="400k,1000k,2000k" defaultbitrate="2000k"
+           extension="mov" args="acodec=aac ab=128k ac=2 ar=48000 vcodec=mpeg4 minrate=0 b=%bitrate aspect=%dar" />
 </group>
 
 <group name="Web sites" renderer="avformat" type="av">
index ec84a1decb7abb8bbcb94636363af216ac357351..e5e2f561ce64d4430138069081f2f9b351762e7c 100644 (file)
@@ -54,6 +54,8 @@ const int EditableRole = GroupRole + 5;
 const int MetaGroupRole = GroupRole + 6;
 const int ExtraRole = GroupRole + 7;
 const int TwoPassRole = GroupRole + 8;
+const int BitratesRole = GroupRole + 9;
+const int DefaultBitrateRole = GroupRole + 10;
 
 // Running job status
 const int WAITINGJOB = 0;
@@ -776,6 +778,10 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const
     if (m_view.checkTwoPass->isEnabled() && m_view.checkTwoPass->isChecked())
         renderArgs.append(" pass=2");
 
+    // bitrate
+    if (m_view.comboBitrates->isEnabled())
+        renderArgs.replace("%bitrate", m_view.comboBitrates->currentText());
+
     // Check if the rendering profile is different from project profile,
     // in which case we need to use the producer_comsumer from MLT
     QString std = renderArgs;
@@ -1212,6 +1218,19 @@ void RenderWidget::refreshParams()
         m_view.buttonEdit->setEnabled(true);
     }
 
+    // setup comboBox with bitrates
+    if (item->data(BitratesRole).canConvert(QVariant::StringList)) {
+        m_view.comboBitrates->setEnabled(true);
+        m_view.comboBitrates->clear();
+        QStringList bitrates = item->data(BitratesRole).toStringList();
+        foreach (QString bitrate, bitrates)
+            m_view.comboBitrates->addItem(bitrate);
+        if (item->data(DefaultBitrateRole).canConvert(QVariant::String))
+            m_view.comboBitrates->setCurrentIndex(bitrates.indexOf(item->data(DefaultBitrateRole).toString()));
+    } else {
+        m_view.comboBitrates->setEnabled(false);
+    }
+
     m_view.buttonRender->setEnabled(m_view.size_list->currentItem()->toolTip().isEmpty());
     m_view.buttonGenerateScript->setEnabled(m_view.size_list->currentItem()->toolTip().isEmpty());
 }
@@ -1416,6 +1435,7 @@ void RenderWidget::parseFile(QString exportFile, bool editable)
     QString params;
     QString standard;
     QString twoPass;
+    QString bitrates, defaultBitrate;
     KIcon icon;
 
     while (!groups.item(i).isNull()) {
@@ -1464,6 +1484,8 @@ void RenderWidget::parseFile(QString exportFile, bool editable)
             profileElement = n.toElement();
             profileName = profileElement.attribute("name");
             standard = profileElement.attribute("standard");
+            bitrates = profileElement.attribute("bitrates");
+            defaultBitrate = profileElement.attribute("defaultbitrate");
             params = profileElement.attribute("args");
 
             if (replaceVorbisCodec && params.contains("acodec=vorbis")) {
@@ -1484,6 +1506,8 @@ void RenderWidget::parseFile(QString exportFile, bool editable)
             item->setData(RenderRole, renderer);
             item->setData(StandardRole, standard);
             item->setData(ParamsRole, params);
+            item->setData(BitratesRole, bitrates.split(','));
+            item->setData(DefaultBitrateRole, defaultBitrate);
             if (profileElement.hasAttribute("url")) item->setData(ExtraRole, profileElement.attribute("url"));
             if (editable) item->setData(EditableRole, exportFile);
             m_renderItems.append(item);
index 39f766ecf27d56a6f60904a3ebe14934c5077bbb..5f21dbd44c5a3bc843cf2288190c33594ca924c7 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>391</width>
-    <height>652</height>
+    <width>461</width>
+    <height>686</height>
    </rect>
   </property>
   <property name="windowTitle">
          </widget>
         </widget>
        </item>
-       <item row="4" column="0" colspan="2">
+       <item row="4" column="0" colspan="3">
         <widget class="QLabel" name="label_5">
          <property name="text">
           <string>Scanning</string>
          </property>
         </widget>
        </item>
-       <item row="4" column="2" colspan="4">
+       <item row="4" column="3" colspan="3">
         <widget class="KComboBox" name="scanning_list">
          <item>
           <property name="text">
          </item>
         </widget>
        </item>
-       <item row="4" column="6" colspan="4">
+       <item row="4" column="7" colspan="3">
         <widget class="QCheckBox" name="export_audio">
          <property name="text">
           <string>Export audio</string>
          </property>
         </widget>
        </item>
-       <item row="12" column="3" colspan="5">
+       <item row="12" column="4" colspan="4">
         <widget class="KComboBox" name="tc_type">
          <item>
           <property name="text">
          </item>
         </widget>
        </item>
-       <item row="5" column="0" colspan="4">
+       <item row="5" column="3" colspan="3">
+        <widget class="QComboBox" name="comboBitrates">
+         <property name="editable">
+          <bool>true</bool>
+         </property>
+         <property name="frame">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item row="5" column="0" colspan="3">
+        <widget class="QLabel" name="label_10">
+         <property name="text">
+          <string>Bitrate</string>
+         </property>
+        </widget>
+       </item>
+       <item row="5" column="7" colspan="3">
         <widget class="QCheckBox" name="checkTwoPass">
          <property name="text">
           <string>2 pass</string>